Синтаксис конструкций и регулярные выражения в SIEM

Синтаксических конструкций и регулярных выражений SIEM 

SIEM (Security Information and Event Management) используется для мониторинга, анализа и реагирования на события в области информационной безопасности. Создание правил для SIEM часто включает в себя использование различных синтаксических конструкций для фильтрации и сопоставления событий.

Регулярные выражения  — это инструмент для поиска, анализа и манипулирования текстом на основе шаблонов. Они представляют собой последовательности символов, которые определяют шаблон поиска. Регулярные выражения широко используются в различных областях, включая программирование, обработку текста, поиск и фильтрацию данных.

Давайте рассмотрим некоторые основные переменные и синтаксис, используемые при создании правил SIEM:

Сравнение значений:

==: Используется для сравнения на равенство. Например, source_ip == «192.168.1.1».

!=: Используется для проверки на неравенство. Пример: user_name != «admin».

><: Этот символ, возможно, является ошибкой. Если вы имели в виду > (больше) или < (меньше), то они могут использоваться для сравнения числовых значений, например, bytes_sent > 1000.

Логические операторы:

AND: Логическое И, используется для комбинирования нескольких условий. Например, source_ip == «192.168.1.1» AND user_name != «admin».

OR: Логическое ИЛИ, применяется для выбора событий, которые соответствуют хотя бы одному из условий. Пример: severity == «High» OR source_ip == «10.0.0.1».

Регулярные выражения:

Регулярные выражения могут использоваться для более сложных сопоставлений. Например, user_name : /(admin|root)/ соответствует любому пользователю с именем «admin» или «root».

Временные переменные:

SIEM-системы могут предоставлять переменные для работы со временем, например, timestamp > now() — 1d (событие произошло менее 1 дня назад).

Комбинированные условия:

Возможность комбинировать различные типы условий, например, source_ip == «192.168.1.1» AND (user_name != «admin» OR severity == «High»).

Проверка событий наличия поля:

Используется для проверки наличия определенного поля в событии, например, exists(source_ip).

Условия для IP-адресов:

Для проверки IP-адресов могут использоваться различные операторы, например, source_ip IN [«192.168.1.1», «10.0.0.1»].

Группировка условий:

Можно группировать условия с использованием скобок для более сложных логических выражений. Например, (source_ip == «192.168.1.1» OR source_ip == «10.0.0.1») AND severity == «High».

Использование агрегатных функций:

Некоторые SIEM-системы позволяют использовать агрегатные функции для анализа данных, например, count(user_name) > 10.

Операторы для работы с текстом:

Для сравнения текстовых значений можно использовать операторы, такие как contains, startsWith, endsWith. Пример: user_name contains «admin».

Использование масок для файлов и путей:

Если анализируются логи файловых операций, могут использоваться маски для файлов и путей, например, file_path matches «*.exe».

Фильтрация по сетевым портам:

Для анализа сетевого трафика можно использовать условия на порты, например, destination_port == 80.

Условия для работы с архивами событий:

Некоторые SIEM-системы предоставляют возможность анализа архивных событий, например, archive_date > «2023-01-01».

Условия для аутентификации:

При анализе аутентификационных событий можно использовать условия, такие как authentication_success == true или authentication_failure > 3.

Следящие условия:

Для отслеживания определенных событий можно использовать условия счетчиков или счетчиков времени, например, count(event_type) > 10 in last 1 hour.

Условия для детекции аномалий:

Некоторые SIEM-системы поддерживают условия для детекции аномального поведения, например, anomaly_detection(user_activity) > 2.

Условия для работы с угрозами:

При анализе угроз безопасности можно использовать условия, связанные с характеристиками угроз, например, threat_category == «Malware».

Условия для анализа уровня доступа:

Для отслеживания изменений в уровне доступа можно использовать условия, такие как user_role_changed == true.

Сопоставление по идентификаторам устройств:

При интеграции с другими системами безопасности можно использовать условия, связанные с идентификаторами устройств, например, device_id == «123456».

Условия для работы с пользовательскими атрибутами:

Некоторые SIEM-системы позволяют использовать пользовательские атрибуты в условиях, например, user_attribute(«department») == «Finance».

Условия для анализа событий безопасности в облаке:

При анализе событий в облачных средах можно использовать условия, связанные с характеристиками облачных служб, например, cloud_service == «AWS».

Условия для обработки событий на основе геолокации:

Для анализа географического расположения событий можно использовать условия, такие как geo_location(«country») == «US».

Условия для детекции атак на сеть:

При анализе сетевого трафика можно использовать условия, связанные с характеристиками атак, например, network_attack_signature == «SQL Injection».

Условия для анализа данных аутентификации:

Для дополнительного анализа данных аутентификации можно использовать условия, такие как authentication_method == «Multi-Factor Authentication».

Условия для анализа событий мобильных устройств:

При анализе событий с мобильных устройств можно использовать условия, связанные с характеристиками мобильных платформ, например, mobile_device_type == «iOS».

В данном обзоре были представлены основные переменные и синтаксис, используемые при создании правил для систем SIEM. Отметим, что точный синтаксис может различаться в зависимости от конкретной SIEM-системы. При разработке правил важно ознакомиться с документацией конкретного продукта и учитывать его особенности.

Оставьте комментарий