1. Что такое IDS и зачем он нужен
Система обнаружения вторжений (Intrusion Detection System, IDS) — это программно-аппаратный комплекс, который анализирует сетевой трафик или события внутри компьютера, чтобы найти признаки вредоносной активности. IDS не предотвращает атаку напрямую — она её обнаруживает и сообщает администратору или в систему реагирования.
Родственный класс систем — IPS (Intrusion Prevention System). IPS стоит в разрыве сети и может блокировать пакет или сессию сразу, а IDS обычно получает копию трафика и работает пассивно. Подробнее об этом — в главе [[vol1-ch02|Архитектура систем защиты]].
Аналогия
IDS — это охранник с камерами: он видит всё, но может только вызвать подмогу. IPS — охранник с оружием: он может остановить нарушителя на месте, но ошибка может обернуться против своих.
2. Как устроен сетевой трафик
Сеть передаёт данные пакетами — небольшими блоками, каждый из которых содержит заголовок и полезную нагрузку. Заголовок описывает, откуда и куда идёт пакет, какой у него протокол, сколько в нём байт.
- Пакет — единица передачи данных. Имеет заголовки L2 (Ethernet), L3 (IP), L4 (TCP/UDP).
- Поток (flow) — последовательность пакетов с общим
5-кортежем:
(src_ip, dst_ip, src_port, dst_port, protocol). - Сессия — логически завершённый обмен «запрос → ответ» (например, один HTTP-запрос).
Именно на этих уровнях оперируют инструменты обнаружения: одни смотрят на отдельные пакеты, другие — на потоки, третьи — на поведение хоста целиком.
3. Что такое сигнатура и почему её недостаточно
Классический IDS ищет в трафике сигнатуры — заранее известные «отпечатки» атак: строки, регулярные выражения, последовательности байт. Пример правила Suricata для червя CodeRed:
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80 (
msg:"WEB-IIS CodeRed v2 root.exe access";
content:"/root.exe?"; nocase;
sid:1002; rev:1;
)
Сигнатура находит известную атаку безошибочно и мгновенно, но не работает против нулевого дня (zero-day) и легко обходится обфускацией — достаточно изменить регистр или разбить строку на два пакета. Поэтому современные системы комбинируют сигнатуры с аномальным и поведенческим анализом (глава [[vol1-ch06|Методы обнаружения]]).
4. Матрица ошибок: базовые метрики
Любой детектор ошибается. Ошибки делятся на четыре категории, которые образуют матрицу ошибок:
| Реальная атака | Реальная норма | |
|---|---|---|
| Детектор сказал «атака» | TP | FP |
| Детектор сказал «норма» | FN | TN |
Из них выводятся две ключевые метрики, которые всегда находятся в конфликте:
- TP
- истинно-положительные: атаки, которые детектор нашёл
- FP
- ложные срабатывания: норма, ошибочно принятая за атаку
- FN
- пропущенные атаки: детектор их не увидел
Увеличение чувствительности поднимает Recall, но снижает Precision — и наоборот. Это фундаментальный компромисс, подробно разобранный в главах [[vol1-ch06|6]] и [[vol2-ch22|22]].
5. Почему 100% обнаружения не существует
Есть три фундаментальные причины, из-за которых идеальный детектор невозможен:
- Теоретико-вычислительная. Задача «определить, является ли произвольный код вредоносным» сводится к проблеме останова Тьюринга, которая алгоритмически неразрешима.
- Информационная. Асимметрия знаний: защитник должен закрыть всё, злоумышленнику достаточно одной дыры.
- Статистическая. Компромисс Precision–Recall неустраним: снижение порога повышает Recall за счёт роста FP.
6. Что делать дальше
Теперь вы готовы перейти к систематическому курсу. Рекомендуемый маршрут:
- Глава [[vol1-ch01|1. Эволюция кибератак]] — общий ландшафт угроз.
- Глава [[vol1-ch02|2. Архитектура систем защиты]] — карта всех инструментов.
- Глава [[vol1-ch03|3. MITRE ATT&CK]] — язык описания атак.
- Лабораторная [[lab01|1. Анализ PCAP]] — первые шаги с реальным трафиком.
Если вы предпочитаете учиться на практике — откройте [[lab01|первую лабораторную]] и вернитесь к теории по мере необходимости. Каждая лабораторная содержит теоретическую выжимку с ссылками на соответствующие главы.