Введение в SIEM
SIEM (система управления информацией и событиями безопасности) — это инструмент, собирающий данные с различных конечных точек и сетевых устройств в пределах сети, хранящий их в центральном месте и выполняющий корреляцию между ними. В этом курсе будут рассмотрены основные концепции, необходимые для понимания SIEM и принципов его работы.
Цели обучения
Некоторые из целей обучения, рассматриваемых в данном курсе:
- Что такое SIEM и как он работает?
- Зачем нужен SIEM?
- Что такое видимость сети?
- Что представляют собой источники логов и как происходит их сбор?
- Каковы основные возможности, которые предоставляет SIEM?
Прежде чем объяснять важность SIEM, давайте сначала разберемся, почему так критично иметь хорошую видимость всех действий в сети. На изображении ниже показан пример простой сети, состоящей из нескольких конечных точек на базе Linux и Windows, одного сервера данных и одного веб-сайта. Каждый компонент взаимодействует с другими или получает доступ к интернету через маршрутизатор.
Как мы знаем, каждый компонент сети может иметь один или несколько источников журналов, которые создают различные логи. Например, для улучшения видимости на Windows-устройствах можно настроить Sysmon вместе с журналами событий Windows. Мы можем разделить источники журналов в сети на две логические части:
Это источники журналов, которые фиксируют события, произошедшие на хосте или связанные с ним. Некоторые источники, генерирующие журналы, ориентированные на хост, включают журналы событий Windows, Sysmon, Osquery и т.д. Примеры таких журналов:
- Доступ пользователя к файлу
- Попытка аутентификации пользователя
- Активность выполнения процесса
- Добавление, изменение или удаление ключа или значения в реестре
- Выполнение PowerShell-скрипта
Сетевые журналы создаются, когда хосты взаимодействуют друг с другом или получают доступ к интернету для посещения веб-сайта. Некоторые сетевые протоколы включают SSH, VPN, HTTP/s, FTP и т.д. Примеры таких событий:
- Подключение по SSH
- Доступ к файлу через FTP
- Веб-трафик
- Доступ пользователя к корпоративным ресурсам через VPN
- Активность сетевого обмена файлами
Теперь, когда мы рассмотрели различные типы логов, пришло время понять важность SIEM. Поскольку все эти устройства генерируют сотни событий в секунду, проверка логов на каждом устройстве по отдельности в случае инцидента может стать трудоемкой задачей. Это одно из преимуществ использования SIEM. Она не только собирает логи из различных источников в режиме реального времени, но и предоставляет возможность корреляции событий, поиска по логам, расследования инцидентов и быстрой реакции. Основные функции, предоставляемые SIEM, включают:
- Сбор логов в режиме реального времени
- Оповещения о подозрительной активности
- Круглосуточный мониторинг и видимость
- Защита от актуальных угроз за счет раннего обнаружения
- Аналитика данных и визуализация
- Возможность расследования прошлых инцидентов
Источники логов и сбор логов
Каждое устройство в сети генерирует определённые логи при выполнении каких-либо действий, например, когда пользователь посещает веб-сайт, подключается по SSH или входит в свою рабочую станцию. Некоторые распространённые устройства, используемые в сетевой среде, рассмотрены ниже:
Машины под управлением Windows
Windows фиксирует каждое событие, которое можно просмотреть через утилиту "Просмотр событий" (Event Viewer). Каждому типу активности присваивается уникальный идентификатор (ID), что упрощает анализ и отслеживание событий. Чтобы просмотреть события в среде Windows, введите "Просмотр событий" в строке поиска. Это откроет инструмент, в котором хранятся и отображаются различные логи, как показано ниже. Логи со всех оконечных точек Windows пересылаются в SIEM-решение для мониторинга и повышения видимости.
Операционная система Linux сохраняет связанные логи, такие как события, ошибки, предупреждения и т.д. Эти данные затем поступают в SIEM для постоянного мониторинга. Наиболее распространённые места хранения логов в Linux включают:
- /var/log/httpd: Содержит HTTP-запросы, ответы и логи ошибок.
- /var/log/cron: События, связанные с заданиями cron, хранятся здесь.
- /var/log/auth.log и /var/log/secure: Содержат логи, связанные с аутентификацией.
- /var/log/kern: Хранят события, связанные с ядром системы.
May 28 13:04:20 ebr crond[2843]: /usr/sbin/crond 4.4 dillon's cron daemon, started with loglevel notice May 28 13:04:20 ebr crond[2843]: no timestamp found (user root job sys-hourly) May 28 13:04:20 ebr crond[2843]: no timestamp found (user root job sys-daily) May 28 13:04:20 ebr crond[2843]: no timestamp found (user root job sys-weekly) May 28 13:04:20 ebr crond[2843]: no timestamp found (user root job sys-monthly) Jun 13 07:46:22 ebr crond[3592]: unable to exec /usr/sbin/sendmail: cron output for user root job sys-daily to /dev/null
Веб-сервер
Мониторинг всех запросов и ответов, проходящих через веб-сервер, крайне важен для выявления потенциальных атак на веб-приложения. В Linux логи, связанные с Apache, обычно записываются в следующих местах:
192.168.21.200 - - [21/March/2022:10:17:10 -0300] "GET /cgi-bin/try/ HTTP/1.0" 200 3395 127.0.0.1 - - [21/March/2022:10:22:04 -0300] "GET / HTTP/1.0" 200 2216
Сбор логов: Методы интеграции логов в SIEM
Все эти логи содержат ценную информацию, которая помогает выявлять проблемы безопасности. Каждое SIEM-решение имеет свои методы интеграции логов. Наиболее распространённые из них описаны ниже:
- Agent / Forwarder:
SIEM-решения предоставляют легковесный инструмент, называемый агентом (в Splunk используется термин "форвардер"), который устанавливается на конечной точке. Этот инструмент настраивается для захвата всех важных логов и их отправки на сервер SIEM. - Syslog:
Syslog — это широко используемый протокол для сбора данных с различных систем, таких как веб-серверы, базы данных и т. д. Данные передаются в режиме реального времени на централизованный пункт назначения. - Manual Upload:
Некоторые SIEM-решения, такие как Splunk, ELK и другие, позволяют пользователям загружать офлайн-данные для быстрого анализа. После загрузки данные нормализуются и становятся доступными для анализа. - Port-Forwarding:
SIEM-решения могут быть настроены на прослушивание определённого порта, на который конечные точки отправляют данные. Логи затем поступают на экземпляр SIEM через указанный порт.
Пример того, как Splunk предоставляет различные методы интеграции логов, показан ниже:
SIEM используется для корреляции собранных данных с целью выявления угроз. При обнаружении угрозы или превышении установленного порога система генерирует оповещение. Такое оповещение позволяет аналитикам провести расследование и предпринять соответствующие меры. SIEM играет ключевую роль в области кибербезопасности, помогая своевременно обнаруживать и защищаться от современных угроз. Это решение обеспечивает отличную видимость того, что происходит внутри сетевой инфраструктуры.
Возможности SIEM
SIEM является важнейшим компонентом экосистемы Центра операций безопасности (SOC), как показано ниже. Работа SIEM начинается со сбора логов и анализа, соответствует ли событие или поток установленным правилам или превышает ли определённый порог.
К основным возможностям SIEM относятся:
- Корреляция событий из различных источников логов.
- Обеспечение видимости как для активности хостов, так и для сетевых операций.
- Помощь аналитикам в расследовании актуальных угроз и своевременной реакции на них.
- Возможность поиска угроз, которые не выявляются установленными правилами.
Аналитики SOC используют SIEM-решения для обеспечения лучшей видимости происходящего в сети. К их основным обязанностям относятся:
- Мониторинг и расследование инцидентов.
- Выявление ложных срабатываний (False positives).
- Настройка правил, вызывающих шум или ложные срабатывания.
- Подготовка отчётов и обеспечение соответствия нормативным требованиям.
- Выявление слепых зон в видимости сети и их устранение.
SIEM-система получает все логи, связанные с безопасностью, через агенты, перенаправление портов и другие методы. После получения логов SIEM проверяет их на наличие нежелательного поведения или подозрительных шаблонов с помощью условий, заданных аналитиками в правилах. Если условие выполняется, правило срабатывает, и инцидент подвергается расследованию.
Дашборд
Дашборды являются ключевыми компонентами любой SIEM-системы. SIEM нормализует и обрабатывает данные, представляя их для анализа. Результаты анализа отображаются в виде полезных для действий инсайтов с помощью множества дашбордов. Каждое SIEM-решение включает стандартные дашборды и позволяет создавать пользовательские.
На дашбордах можно найти следующую информацию:
- Основные оповещения
- Системные уведомления
- Уведомления о состоянии системы
- Список неудачных попыток входа
- Количество обработанных событий
- Сработавшие правила
- Наиболее посещаемые домены
Пример стандартного дашборда в Qradar SIEM приведён ниже:
Корреляционные правила играют важную роль в своевременном выявлении угроз, что позволяет аналитикам оперативно принимать меры. Такие правила представляют собой логические выражения, которые срабатывают при выполнении заданных условий. Примеры корреляционных правил:
- Если у пользователя зафиксировано 5 неудачных попыток входа за 10 секунд — создать оповещение о множественных неудачных попытках входа.
- Если вход выполнен успешно после нескольких неудачных попыток — создать оповещение о входе после множества попыток.
- Установить правило, создающее оповещение каждый раз, когда пользователь подключает USB-устройство (актуально, если использование USB запрещено корпоративной политикой).
- Если исходящий трафик превышает 25 МБ — создать оповещение о возможной попытке утечки данных (обычно порог зависит от корпоративной политики).
Как создаётся корреляционное правило
Для понимания работы правил рассмотрим следующие сценарии:
Сценарий 1:
Злоумышленники часто удаляют логи на этапе постэксплуатации, чтобы скрыть свои действия. Уникальный Event ID 104 фиксируется каждый раз, когда пользователь пытается удалить или очистить логи событий. Для создания правила на основе этой активности можно задать следующее условие:
Правило: Если источник логов — WinEventLog И EventID равен 104, создать оповещение: Очищены логи событий.
Сценарий 2:
После эксплуатации или эскалации привилегий злоумышленники могут использовать команды вроде whoami. Для настройки правила полезно включить следующие поля:
- Источник логов: Определяет источник, регистрирующий события.
- Event ID: Идентификатор события, связанного с выполнением процесса. Для данного случая подойдёт Event ID 4688.
- NewProcessName: Название процесса, которое стоит учитывать в правиле.
Правило: Если источник логов — WinEventLog И EventCode равен 4688 И NewProcessName содержит "whoami", создать оповещение: Обнаружено выполнение команды WHOAMI.
Корреляционные правила отслеживают значения определённых полей, чтобы сработать. Поэтому важно, чтобы лог-файлы, используемые в SIEM, были нормализованы.
Расследование оповещений
Аналитики, работающие с SIEM, большую часть времени проводят на дашбордах, которые предоставляют ключевую информацию о сети в удобном виде. После срабатывания оповещения изучаются связанные с ним события/потоки, а правило проверяется на соответствие выполненным условиям. На основании расследования аналитик определяет, является ли оповещение истинным или ложным.
Дальнейшие действия зависят от результата:
- Ложное срабатывание: Может потребоваться настройка правила, чтобы избежать подобных ложных срабатываний в будущем.
- Истинное срабатывание: Проводится дальнейшее расследование.
- Связь с владельцем ресурса: Для уточнения активности.
- Подтверждение подозрительной активности: Изоляция заражённого узла.
- Блокировка подозрительного IP-адреса.