My account

Простой сценарий корреляции для Splunk с использованием lookup table


0
188
July 26, 2017

Корреляция событий играет важную роль в процессе обнаружения инцидентов, позволяя нам сосредоточиться на событиях, которые действительно важны для бизнес-сервисов или процессов ИТ или безопасности. Программное обеспечение Splunk поддерживает множество способов корреляции событий, таких как:
• корреляции событий с использованием времени и географического местоположения;
• transactions;
• subsearch;
• field lookups;
• joins.
В этой статье мы рассмотрим, как использовать корреляцию событий на основе field lookups и joins. На мой взгляд, это один из простых способов корреляции событий, в отличие от использования subsearch или joins в одном поисковом запросе. В большинстве случаев нам нужно сравнивать одно поле события с соответствующим полем другого события для поиска совпадений. Например, мы пытаемся обнаружить подозрительную активность в нашей сети и узнать, кто сканирует TCP 445 и пытается подключиться к серверам C&C.
Начнем с поиска, который поможет нам обнаружить сканирования TCP 445 в нашей сети.
Найдем все события с подключением к порту 445:

Критерии для обнаружения сканирования: один хост сканирует 30 хостов за 1 минуту, так что с помощью bucket и eventstats нетрудно сгруппировать события и найти хосты, которые сканируют 445 порт на 30-ти и более хостах:

В результате мы узнаем, что хост 10.10.10.3 в нашей сети выполнил сканирование 763 хостов за 1 минуту:

Этот хост необходимо добавить в список подозрительных хостов. Для этого нам нужно выполнить поиск и поместить результаты в lookup table:

Результат:

Этот поиск автоматически создает suspicious_hosts.csv с полями src_ip, HostsScanned, _time.
Теперь нам нужно выяснить, кто в нашей сети пытался подключиться к командному серверу вируса-шифровальщика:

Примечание. Используемые в статье IP-адреса могут не являться командными серверами вирусов-шифровальщиков на момент написания статьи.
Консолидация результатов обоих запросов в один:

Результат:

Мы использовали сценарий корреляции для обнаружения зараженного хоста в нашей сети. Для полной автоматизации вы можете поместить эти запросы в Оповещения (Alerts). Использование lookup значительно повышает эффективность, потому что гораздо легче сравнивать события со статической таблицей, чем каждый раз выполнять новый subsearch.

Спасибо за внимание,
Алекс Вербняк

Related Posts