Написание правил обнаружения и оповещений SIEM
Создавайте правила обнаружения, которые уравновешивают чувствительность (выявление реальных угроз) и специфичность (снижение утомления от оповещений) для распространённых методов атак.
«Написание правил обнаружения и оповещений SIEM» — бесплатный урок Security+ Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Security+ Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Security+ Academy содержит 4 уроков всего.
Правила обнаружения: что это и зачем они нужны
Правила обнаружения — это логика, закодированная в SIEM и определяющая, какие условия образуют оповещение безопасности. Без качественных правил обнаружения SIEM остается лишь дорогой системой хранения журналов. Грамотно созданные правила выявляют конкретные действия злоумышленников — перебор учетных данных, горизонтальное перемещение, вывод данных — и не срабатывают при обычных операциях. Проектирование обнаружения — это область, связанная с постоянным созданием, тестированием и сопровождением таких правил.
Анатомия правила обнаружения
Каждое правило обнаружения состоит из ключевых компонентов. Источник данных указывает, в каких журналах выполняется поиск. Условие фильтра определяет, какие события соответствуют критериям. Порог или шаблон задает количество событий или последовательность, при которой создается оповещение. Метаданные включают уровень важности, сопоставление с MITRE ATT&CK, описание и рекомендуемое реагирование. Хорошо документированные правила помогают аналитикам быстро понять значение оповещения и определить действия после его срабатывания.
# Detection rule anatomy example:
# Name: 'Suspicious PowerShell Encoded Command'
# Severity: HIGH
# ATT&CK: T1059.001 - Command and Scripting Interpreter: PowerShell
# Source: Windows Security Event Logs (EventID 4688)
# Condition: CommandLine contains '-EncodedCommand' OR '-enc '
# AND ParentImage NOT IN ('sccm.exe','wsus.exe')
# Threshold: Any single occurrence
# Response: Isolate host, collect memory dump, notify SOCКомпромисс между чувствительностью и специфичностью
Каждое правило обнаружения представляет собой баланс между чувствительностью (обнаружением всех истинных срабатываний) и специфичностью (избеганием ложных срабатываний). Правило с высокой чувствительностью обнаруживает все варианты атаки, но создает огромное количество информационного шума. Правило с высокой специфичностью срабатывает редко, однако может пропустить новые варианты атак. Грамотное проектирование обнаружения начинается с высокой специфичности, чтобы завоевать доверие аналитиков, а затем постепенно расширяет область применения по мере того, как настройка снижает число ложных срабатываний и повышает уверенность в правиле.
Обнаружение на основе пороговых значений
Правила на основе пороговых значений срабатывают, когда количество событий превышает заданный предел в течение временного окна. Они идеально подходят для обнаружения атак, основанных на большом объеме событий, таких как brute force, сканирование портов и DDoS. Ключевые параметры: порог количества (сколько событий), временное окно (за сколько минут) и поле группировки (для каждого исходного IP-адреса, пользователя или узла). Неправильные пороги приводят к информационному шуму или пропущенным обнаружениям — тщательно настраивайте их по историческим данным о базовом уровне.
# Threshold rule: RDP brute force detection
# Source: Windows Event ID 4625 (failed logon)
# Filter: LogonType = 10 (RemoteInteractive/RDP)
# Threshold: count >= 10
# Window: 5 minutes
# Group by: TargetComputerName, IpAddress
# Alert: 'RDP Brute Force Attempt'
# Include: src_ip, target_host, account_list, failure_countОбнаружение на основе последовательностей
Правила на основе последовательностей ищут определенную упорядоченную цепочку событий, что особенно подходит для обнаружения многоэтапных шаблонов атак. Например: получено фишинговое письмо THEN открыто вредоносное вложение THEN приложением Office запущен PowerShell. Каждое событие по отдельности может быть безопасным, но их последовательность указывает на компрометацию. Большинство современных SIEM (Splunk, Sentinel, Elastic) поддерживают сопоставление последовательностей с корреляцией по времени между цепочками событий.
# Sequence rule: Office macro spawning shell (conceptual)
# Step 1: process_create where ParentImage ENDS_WITH 'WINWORD.EXE'
# AND Image IN ('cmd.exe','powershell.exe','wscript.exe')
# THEN within 30 seconds:
# Step 2: network_connect from same PID
# AND destination NOT IN allowlist
# --> Alert: 'Macro-spawned Shell with Outbound Connection'
# --> Severity: CRITICALПравила Sigma: переносимая логика обнаружения
Sigma — это открытый формат, не зависящий от поставщика, для создания правил обнаружения, которые можно преобразовать в языки запросов конкретных SIEM (SPL для Splunk, KQL для Sentinel, Lucene для Elastic). Сообщество специалистов по безопасности публикует на GitHub тысячи правил Sigma, охватывающих распространенные методы ATT&CK. Использование Sigma позволяет организациям применять обнаружения сообщества без ручной адаптации под свою платформу SIEM, значительно ускоряя расширение покрытия обнаружения.
# Sigma rule example (YAML format):
# title: Suspicious PowerShell Encoded Command
# status: stable
# logsource:
# category: process_creation
# product: windows
# detection:
# selection:
# Image|endswith: '\\powershell.exe'
# CommandLine|contains:
# - '-EncodedCommand'
# - '-enc '
# condition: selection
# falsepositives:
# - SCCM software deployment
# level: highТестирование правил обнаружения
Перед развертыванием в рабочей среде правила обнаружения необходимо протестировать. Рекомендуемые методы включают: модульное тестирование с синтетическими событиями, представляющими сценарии как истинных, так и ложных срабатываний; тестирование воспроизведением с использованием записанного безопасного трафика для измерения доли ложных срабатываний; и учения красной команды, в ходе которых правило должно сработать при контролируемом моделировании атаки. Такие инструменты, как Atomic Red Team, предоставляют небольшие тестовые сценарии, безопасно имитирующие отдельные методы ATT&CK.
# Atomic Red Team test: simulate PowerShell encoded command
# T1059.001 - Atomic Test #1: PowerShell Encoded Command
# Command simulated:
# powershell.exe -EncodedCommand JABj...(base64)
# (decodes to: $cmd = 'whoami'; Invoke-Expression $cmd)
# After running: verify SIEM fired alert within 60 seconds
# If not: check log ingestion, parser, rule condition
# Then clean up: no persistence, process exits cleanlyНастройка правил для снижения числа ложных срабатываний
После развертывания правила требуется его постоянная настройка. Распространенные методы настройки: списки исключений для заведомо безопасных процессов или учетных записей, которые обоснованно вызывают срабатывание правила; внесение определенных исходных IP-адресов в список разрешенных (сканеры, инструменты мониторинга); изменение порогов на основе наблюдаемых базовых показателей; и добавление контекстных условий (создавать оповещение, только если узел также доступен извне). Документируйте каждое исключение и его обоснование, чтобы будущие аналитики понимали причину его существования.
Уровни важности оповещений
Правила обнаружения должны содержать оценки важности, помогающие аналитикам расставлять приоритеты. Распространенные уровни: Critical — активная эксплуатация, программы-вымогатели, компрометация контроллера домена. High — горизонтальное перемещение, кража учетных данных, связь с C2. Medium — подозрительная разведка, нарушения политик. Low/Informational — необычные, но не представляющие непосредственной опасности события, за которыми стоит следить. Уровень важности должен соответствовать влиянию на бизнес, а не только технической серьезности.
Управление жизненным циклом правил обнаружения
У правил обнаружения есть жизненный цикл, которым необходимо активно управлять. Правила устаревают при изменении среды (развертывании нового программного обеспечения, изменении диапазонов IP-адресов) и начинают порождать ложные срабатывания. Они также пропускают новые методы атак по мере развития злоумышленников. Рекомендуется хранить правила в системе контроля версий (git), пересматривать и обновлять их ежеквартально, сопоставлять каждое правило как минимум с одним методом ATT&CK и измерять эффективность правил (срабатывания в неделю, доля истинных срабатываний), чтобы выводить из эксплуатации или улучшать неэффективные правила.
Создание карты покрытия обнаружения
Карта покрытия обнаружения сопоставляет существующие правила обнаружения с матрицей MITRE ATT&CK, чтобы визуализировать пробелы в покрытии. Каждый метод, охватываемый хотя бы одним правилом, отмечается зеленым цветом; методы без покрытия — красным. Такая визуализация показывает, на каких этапах атаки (например, Persistence или Exfiltration) отсутствует покрытие обнаружения, и помогает командам определить приоритеты при разработке новых правил. Регулярный анализ покрытия гарантирует, что программа обнаружения успевает за развитием методов злоумышленников.
Краткая проверка
Test свои знания концепций CompTIA Security+ (SY0-701), рассмотренных в этом уроке.
Итоги урока
В этом уроке Вы узнали, что правила обнаружения кодируют конкретные действия злоумышленников как условия оповещений в SIEM; правила на основе порогов и последовательностей предназначены для разных типов шаблонов атак; а Sigma предоставляет переносимый формат для обмена обнаружениями в сообществе специалистов по безопасности. Далее мы рассмотрим UEBA и поведенческую аналитику для обнаружения угроз со стороны инсайдеров и скомпрометированных учетных записей.
Изучай Security+ Academy с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Написание правил обнаружения и оповещений SIEM» бесплатный?
Да — полный текст урока «Написание правил обнаружения и оповещений SIEM» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Security+ Academy, подпишись на CoddyKit PRO. Курс Security+ Academy содержит 4 уроков всего.
Чему я научусь в уроке «Написание правил обнаружения и оповещений SIEM»?
Создавайте правила обнаружения, которые уравновешивают чувствительность (выявление реальных угроз) и специфичность (снижение утомления от оповещений) для распространённых методов атак. Ты практикуешь Security+ Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Security+ Academy?
Предыдущий опыт не требуется. Security+ Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Написание правил обнаружения и оповещений SIEM»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Security+ Academy?
Да. Каждый урок Security+ Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Методология поиска угроз и формирование гипотез
- Архитектура SIEM: получение, разбор и корреляция журналов
- Написание правил обнаружения и оповещений SIEM
- UEBA и поведенческая аналитика для внутренних угроз