Обзор BI.ZONE EDR 1.35, системы защиты конечных точек от сложных киберугроз
Anti-Malware.ru |
Разнообразие технологий детектирования и большая библиотека правил автоматического обнаружения угроз позволяют на ранних этапах выявлять атаки любой сложности, которые обходят классические превентивные СЗИ
Решение фиксирует все происходящее на конечных точках в реальном времени, что позволяет провести реагирование и проследить всю цепочку атаки
Множество встроенных инструментов позволяет реагировать на инциденты вручную, автоматизированно и автоматически. Это сокращает время и стоимость реагирования, позволяет быстро остановить атакующего
Интерфейс поиска в едином хранилище телеметрии дает возможность ретроспективного исследования событий для threat hunting — выявления неизвестных угроз, невидимых для правил автоматического обнаружения
Непрерывное выявление на хостах ПО с небезопасными настройками или уязвимостями, которые активно используют киберпреступники
Все собранные данные используются для проактивного поиска угроз (threat hunting)
StandardStandard | |
SilverSilver | |
GoldGold | |
PlatinumPlatinum |
Разнообразие технологий детектирования и большая библиотека правил автоматического обнаружения угроз позволяют на ранних этапах выявлять атаки любой сложности, которые обходят классические превентивные СЗИ
Решение фиксирует все происходящее на конечных точках в реальном времени, что позволяет провести реагирование и проследить всю цепочку атаки
Множество встроенных инструментов позволяет реагировать на инциденты вручную, автоматизированно и автоматически. Это сокращает время и стоимость реагирования, позволяет быстро остановить атакующего
Интерфейс поиска в едином хранилище телеметрии дает возможность ретроспективного исследования событий для threat hunting — выявления неизвестных угроз, невидимых для правил автоматического обнаружения
Непрерывное выявление на хостах ПО с небезопасными настройками или уязвимостями, которые активно используют киберпреступники
StandardStandard | |
SilverSilver | |
GoldGold | |
PlatinumPlatinum |
Разнообразие технологий детектирования и большая библиотека правил автоматического обнаружения угроз позволяют на ранних этапах выявлять атаки любой сложности, которые обходят классические превентивные СЗИ
Решение фиксирует все происходящее на конечных точках в реальном времени, что позволяет проводить реагирование и проследить всю цепочку атаки
Множество встроенных инструментов позволяет реагировать на инциденты вручную, автоматизированно и автоматически. Это сокращает время и стоимость реагирования, позволяет быстро остановить атакующего
Интерфейс поиска в едином хранилище телеметрии дает возможность ретроспективного исследования событий для threat hunting — выявления неизвестных угроз, невидимых для правил автоматического обнаружения
Непрерывное выявление на хостах ПО с небезопасными настройками или уязвимостями, которые активно используют киберпреступники
Все собранные данные используются для проактивного поиска угроз (threat hunting)
Пётр Куценко, руководитель BI.ZONE EDR, и Демьян Соколин, руководитель направления развития BI.ZONE EDR, рассказали об обновлениях BI.ZONE EDR за последние полгода: о рекомендациях по безопасности, упрощении интеграции с SIEM, сборе данных из произвольных журналов Windows Event Log и многом другом.
Запись вебинара от 19 ноября 2024 г.
Руководитель BI.ZONE EDR Пётр Куценко и руководитель направления развития EDR Демьян Соколин обсудили наш подход к защите конечных точек. Спикеры рассказали о возможностях BI.ZONE EDR, а также продемонстрировали работу решения на примере реальных атак на Windows, Linux, macOS и в контейнерных средах
Запись онлайн‑релиза от 16 мая 2024 г.
На вебинаре Теймур Хеирхабаров, директор департамента мониторинга, реагирования и исследования киберугроз, рассказал об изменениях BI.ZONE EDR в первом полугодии 2023 года. Также спикер провел демонстрацию продукта, ответил на вопросы и поделился планами по развитию. В видео используется предыдущее название BI.ZONE EDR — BI.ZONE Sensors
В рамках SOC-форума 2022 Теймур Хеирхабаров, директор департамента мониторинга, реагирования и исследования киберугроз в BI.ZONE, и Тимур Зиннятуллин, директор центра киберустойчивости Angara SOC, рассказали, как выстраивали Angara SOC с использованием BI.ZONE EDR, что пришлось сделать для развития системы кибербезопасности и с какими проблемами столкнулись
SOC-форум 2022
В решении BI.ZONE EDR появилась двухфакторная аутентификация и ряд функций, которые повышают эффективность мониторинга угроз. Агент для Windows теперь поддерживает мониторинг чтения значений из реестра и гибкую настройку троттлинга. В агенте для Linux расширен перечень собираемых файловых событий в контейнерных средах на базе провайдера eBPF.
Кроме того, BI.ZONE EDR стало проще интегрировать с SIEM-системами, потому что теперь можно отправлять данные параллельно в несколько назначений. Изменили язык выражений, улучшили интерфейс, внедрили ряд исправлений.
На сервере управления BI.ZONE EDR добавили двухфакторную аутентификацию (2FA) с использованием одноразовых паролей на основе алгоритма TOTP (time-based one-time password). Это поможет защитить учетные записи от несанкционированного доступа, даже если злоумышленник получил пароль пользователя. Для входа нужна не только связка «логин — пароль», но и одноразовый временный пароль. Чтобы сгенерировать его, должен быть доступ к устройству, на котором была настроена их генерация.
Изменили пайплайн обработки событий телеметрии и алертов. Добавили возможность отправки данных параллельно в несколько назначений по syslog или в Kafka. Это позволит быстрее и удобнее интегрировать BI.ZONE EDR с другими системами (SIEM, IRP, SOAR и т. д.), а также использовать корпоративное озеро данных для долгосрочного хранения телеметрии.
Добавили поддержку мониторинга чтения значений из реестра с помощью нового события RegistryValueGet
, чтобы отслеживать попытки несанкционированного доступа к реестру Windows. А именно к высококритичным настройкам программ и чувствительной информации в них (пароли от учетных записей и т. д.). Это повышает эффективность обнаружения различных утилит дампа учетных данных пользователей.
Для эффективности правило всегда должно содержать включающие фильтры. Они значительно сужают пространство мониторинга, поскольку массовый сбор событий обычно не имеет смысла и снижает производительность системы. Чтобы поддерживать фильтрацию по значению, у события появился первичный фильтр value_name
, ограничивающий имена для мониторинга. Ниже пример правила мониторинга для попыток чтения паролей программы TightVNC
.
SELECT
"Registry - TightVNC Password Read" AS rule_name,
value.name AS ValueName,
value.key.path.logical AS KeyPath
FROM Monitor("RegistryValueGet", incFilter=[{"value_name": '*password*', "value_key_path_native": '**\software\tightvnc\server*'}])
WHERE value.name ILIKE '**password**' AND value.key.path.logical ILIKE '**\software\tightvnc\server**'
В модуле EDR теперь есть возможность гибко настраивать троттлинг событий с помощью команды THROTTLE
и получать агрегированные события. Это позволяет сократить поток событий и снизить нагрузку на хост, сеть и озеро данных.
Пример ниже позволяет агрегировать события удаления из временной директории Windows в рамках каждого процесса и выводит результат в виде агрегационного события.
-- Троттлинг событий ProcessCreate по пути к файлу — образу родительского процесса, создаваемого процесса и его командной строки
-- Окно троттлинга — 15 минут (либо до накопления в окне 100 тысяч событий)
-- Пропускается только первое событие на уровень SELECT из Monitor("ProcessCreate")
-- А также при закрытии окна троттлинга генерируется новое агрегационное событие ProcessCreateAgg для каждого такого окна
THROTTLE Monitor("ProcessCreate") BY
process.parent.image.path.logical AS proc_p_file_path,
process.image.path.logical AS proc_file_path,
process.cmdLine.raw AS cmdline
WITHIN 15*60*1000, 100000 EXCEPT 0
AGGREGATE ProcessCreateAgg
-- Генерируется событие на основе события ProcessCreate
SELECT
"Test - ProcessCreate" AS rule_name,
toIso8601(time) AS event_utc_time,
"ProcessCreate" AS event_type,
get("process.parent.image.path.logical") AS proc_p_file_path,
process.image.path.logical AS proc_file_path,
process.cmdLine.raw AS cmdline
FROM Monitor("ProcessCreate")
-- Генерируется новое событие на основе агрегационного события ProcessCreateAgg
SELECT
"Test - ProcessCreate (aggregated)" AS rule_name,
toIso8601(time) AS event_utc_time,
"EventRollupInfo" AS event_type,
get("keys.proc_p_file_path") AS proc_p_file_path,
keys.proc_file_path AS proc_file_path,
keys.cmdline AS cmdline,
dropCount AS event_dropped
FROM Monitor("ProcessCreateAgg")
WHERE dropCount > 0
Пример события, сгенерированного описанным выше правилом. Процесс whoami.exe
был запущен 9 раз, первый запуск привел к генерации отдельного события, остальные 8 запусков были строттлены.
{
"rule_name": "Test - ProcessCreate",
"event_utc_time": "2024-10-28T07:29:28.131",
"event_type": "ProcessCreate",
"proc_p_file_path": "c:\\windows\\system32\\windowspowershell\\v1.0\\powershell.exe",
"proc_file_path": "c:\\windows\\system32\\whoami.exe",
"cmdline": "\"C:\\Windows\\system32\\whoami.exe\"",
"taskInstanceId": "",
"taskRunId": "",
"sequenceId": 1
}
{
"cmdline": "\"C:\\Windows\\system32\\whoami.exe\"",
"sequenceId": 2,
"rule_name": "Test - ProcessCreate (aggregated)",
"event_utc_time": "2024-10-28T07:30:28.179",
"event_type": "EventRollupInfo",
"proc_p_file_path": "c:\\windows\\system32\\windowspowershell\\v1.0\\powershell.exe",
"proc_file_path": "c:\\windows\\system32\\whoami.exe",
"event_dropped": 8,
"taskInstanceId": "",
"taskRunId": ""
}
DriverLoad
и ProcessModuleLoad
добавили поле fileInstance
, предоставляющее дескриптор FileInstance
открытому экземпляру загружаемого файла-образа, что позволяет обнаруживать ряд атак класса doppelgänging.CommandOutputEnumerator
в событие InventorySessionStart
добавили поля:
commandLine
— полная строка запуска команды инвентаризации с путем к исполняемому файлу и необходимыми параметрами;outputMode
— заданный при создании источника режим генерации событий.CommandOutputEnumerator
в событие InventorySessionFinish
добавили поля:
exitCode
— код возврата при завершении процесса;totalDataSize
— общий размер данных, обработанных при инвентаризации;errorData
— данные об ошибке, переданные из внешней команды через поток STDERR.Process
добавили поля для отслеживания атак, направленных на снижение уровня защиты процессов:
protectionLevel
— уровень защиты процесса, определенный для PPL‑процессов;init.protectionLevel
— уровень защиты процесса при его запуске;signatureLevel
— уровень подписи файла исполняемого образа процесса;init.signatureLevel
— уровень подписи файла исполняемого образа процесса при его запуске.ebpf
:
FileDelete
— генерируется при удалении объекта в наблюдаемой директории;FileRename
— генерируется при переименовании объекта в наблюдаемой директории;FileAceChange
— генерируется при изменении атрибутов доступа объекта в наблюдаемой директории.FileOwnerGroupChange
добавили поле FileChangedFields
— признак того, что изменился владелец (FileUser*
) или группа объекта (FileGroup*
).UserLogonAttemptSuccess
при входе по паролю и при отсутствии соответствующей записи в журналах аутентификации пользователей поле UserLogonSSHAuthType
будет принимать значение Undefined
.Добавили событие об удалении агента (ServerAgentDeleted
).
Docker
и containerd
добавили возможность указывать нестандартные пути UDS для подключения к демону контейнеризации.processes
внедрили параметр collectCGroups
, управляющий сбором информации о cgroup процессов.CommandOutput
при использовании режима regex.IN
для строк и чисел, чтобы эффективно проверять списки с большим количеством элементов (до десятков тысяч).ObservedRegistryKeyFound
и ObservedRegistryValueFound
для путей реестра большой вложенности.ProcessCGroup
и Container*
при возможности использования провайдера ebpf
.ebpf
ОС с ядрами Linux версии 4.19 и выше.UserLogonAttemptSuccess
при входе в веб-консоль SberLinux.UserLogonFound
поля UserLogonHistoryIP
, UserLogonHistoryFailedIP
со значением "0.0.0.0"
при отсутствии записи в журнале wtmp
.*Username
при наличии некорректных записей в /etc/passwd
и /etc/groups
.User*
в событии UserLogonAttemptFail
, фиксируемом в результате попытки локального входа с данными несуществующего пользователя из активной пользовательской сессии.Исправили работу сервера с включенной mixed-аутентификацией. Теперь нет проблем:
Исправили проблемы:
В BI.ZONE EDR появился раздел с обнаруженными недостатками конфигурации, а также автономное детектирование в macOS, инвентаризация данных вывода произвольной команды, автоматическое реагирование запуском произвольной команды в Windows и мониторинг произвольных журналов Windows Events Log. Расширилось количество источников телеметрии для Windows и macOS, произошли изменения в языке выражений, улучшен интерфейс, произведен ряд исправлений.
Оценка конфигурации безопасности предполагает проверку соответствия всех систем заранее определенным правилам настроек конфигурации и использования одобренных приложений. Один из самых надежных способов обеспечения безопасности конечных точек — это уменьшение их уязвимой поверхности. Этот процесс обычно называется харденингом (hardening). Оценка конфигурации является эффективным способом выявления слабых мест на конечных точках и их устранения для уменьшения поверхности атаки.
Модуль «Рекомендации по безопасности» не только проверяет настройки, но и может выявлять учетные записи со слабыми паролями. Таким образом, модуль помогает поддерживать высокий уровень безопасности конечных устройств, снижая риск атак и обеспечивая соответствие нормативным требованиям.
Модуль BI.ZONE EDR для macOS расширяет возможности автономного детектирования IoA. Корреляционные правила поиска IoA фокусируются на обнаружении признаков активной атаки до того, как она нанесет ущерб. Правила включают в себя анализ попыток эксплуатации уязвимостей, необычные сетевые запросы, подозрительные изменения в системе и т. д.
Новый источник данных CommandOutputEnumerator
в BI.ZONE EDR (Windows) позволяет проводить периодическую инвентаризацию путем запуска внешней команды и парсинга ее результатов. Результат вывода внешней команды представляется в виде отдельных событий, содержащих различные данные в зависимости от настроек источника. Есть возможность блочного, построчного чтения или разбиения вывода на базе регулярных выражений, которые позволяют к тому же извлекать информацию в соответствии с заданными именованными группами регулярного выражения. Благодаря этому можно получить полноценный справочник с данными для дальнейшей обработки его на правилах cSQL.
Новый источник данных WelMonitor
в BI.ZONE EDR (Windows) позволяет читать данные из произвольных журналов Windows Events Log. Он может быть полезен для получения записей, которые не поставляются по каналам ETW. Данные события Windows конвертируются в поля заданного BI.ZONE EDR события с теми именами, которые есть в оригинальном событии. В источнике данных доступен XPath‑фильтр для фильтрации собираемых событий.
Добавлена response‑функция runProcess()
, позволяющая в рамках реагирования запустить любой процесс и получить его вывод в виде потока для дальнейшего сохранения или преобразования в строку функцией toString()
с дальнейшим парсингом extractRegex()
. Эта функция позволяет реализовывать большое количество сценариев реагирования и обогащения при помощи выполнения команд cmd или PowerShell‑скриптов.
InventorySessionStart
и InventorySessionFinish
. События доступны для всех источников, кроме гибридных (FileObserver
и RegistryObserver
). События содержат общие данные по сессии инвентаризации, такие как:
FileObserver
добавлен параметр maxLevelCount
, позволяющий ограничить число обрабатываемых элементов (файлов или каталогов) на одном уровне иерархии. Параметр может быть полезен при инвентаризации огромных файловых хранилищ.FileAttrChange
— событие генерируется при изменении атрибутов доступа объекта в наблюдаемой директории.FileOwnerGroupChange
— событие генерируется при изменении владельца или группы объекта в наблюдаемой директории.FileExtAttrSet
— событие генерируется при обнаружении установки расширенных атрибутов файлов в наблюдаемой директории.FileExtAttrDelete
— событие генерируется при обнаружении удаления расширенных атрибутов файлов в наблюдаемой директории.EventSource
, содержащее имя источника события (аналогично используемому в секции providers
метрик приложения);SystemServerID
, содержащее уникальный идентификатор сервера;SystemMachineSN
, содержащее серийный номер устройства клиента, соответствующий графе Serial number в About this Mac.FileInfo
добавлено поле RealPath
, содержащее путь к оригинальному файлу с разыменованными симлинками на его пути (аналогично realpath
или readlink -f
).EDRStatistics
добавлено поле perfSysNumCPU
, содержащее информацию об общем количестве логических ядер CPU на хосте.ConsoleCommandExecution
добавлено поле ConsoleCommandType
, содержащее информацию о причине формирования данного события.extractRegex()
, позволяющая из строки извлечь все вхождения подстрок, соответствующих заданному регулярному выражению, и представить их в виде списка для дальнейшей обработки.toString()
добавлена возможность преобразования в строку из произвольного потока строковых данных. При этом можно указать используемую кодировку текста. Данная функция может использоваться для обработки результатов запуска сторонних утилит или при чтении файлов.SET OPTION
. Для сохранения обратной совместимости в события введены новые именования полей фильтрации, поддерживающие универсальные шаблоны. Новые имена полей для фильтрации имеют более читабельный вид и доступны в описании событий. При использовании старых именований универсальные шаблоны недоступны.getProcess(pid)
— возвращает информацию о процессе по заданному идентификатору pid
.getFileContent(path, N)
— возвращает N байт содержимого файла по заданному пути path
;toGzip(data)
— сжимает набор байтов data
при помощи алгоритма gzip;fromGzip(data)
— распаковывает набор байтов data
при помощи алгоритма gzip;sprintf(format, args...)
— приводит args
к заданному спецификатором format
формату (https://pkg.go.dev/fmt).containsAny(value, substrings)
— возвращает true
, если значение value
содержит как минимум одну из строк массива substrings
, в противном случае — false
;containsAll(value, substrings)
— возвращает true
, если значение value
содержит все строки из строк массива substrings
, в противном случае — false
;matchesAny(value, regexes)
— возвращает true
, если значение value
соответствует как минимум одному из регулярных выражений из массива regexes
, в противном случае — false
;matchesAll(value, regexes)
— возвращает true
, если значение value
соответствует всем регулярным выражениям из массива regexes
, в противном случае — false
;icontainsAny(value, substrings)
— возвращает true
, если значение value
содержит как минимум одну из строк массива substrings
, в противном случае — false
;icontainsAll(value, substrings)
— возвращает true
, если значение value
содержит все строки из строк массива substrings
, в противном случае — false
;imatchesAny(value, regexes)
— возвращает true
, если значение value
соответствует как минимум одному из регулярных выражений из массива regexes
, в противном случае — false
;imatchesAll(value, regexes)
— возвращает true
, если значение value
соответствует всем регулярным выражениям из массива regexes
, в противном случае — false
.В рамках релиза был решен ряд проблем и произведены улучшения.
Обновились агенты для Linux, Windows и macOS. На Linux расширились возможности автономного обнаружения угроз и улучшилась видимость внутри контейнеров. В Windows-агенте появился мониторинг действий с именованными каналами и событий от процессов подсистемы WSL (Windows Subsystem for Linux). Поддержка WSL позволяет выявлять атаки, в которых используются комбинации Windows- и Linux‑инструментов. А в агенте для macOS теперь доступны мониторинг и инвентаризация точек автозапуска, а также YARA‑сканирование.
Новая возможность для управления правилами сбора и фильтрации данных телеметрии и детектирования. Добавлена поддержка нескольких источников данных, которая позволяет более гибко разделять зоны ответственности пользователей и повышает эффективность настройки правил для обработки данных.
Эти улучшения помогут значительно упростить процесс конфигурирования и повысить общую эффективность работы с BI.ZONE EDR.
Корреляционные правила по поиску IoA фокусируются на обнаружении признаков текущей атаки до того, как она нанесет ущерб. Это включает в себя анализ попыток эксплуатации уязвимостей, необычные сетевые запросы, подозрительные изменения в системе и т. д.
Это инструмент для автоматизации управления и сегментации агентов EDR в сети, который позволяет IT‑администраторам и специалистам по кибербезопасности создавать группы. Если соблюдаются определенные условия, новые агенты добавляются туда автоматически при регистрации в системе.
Модуль EDR.Core (Windows)
Добавлена поддержка мониторинга событий от процессов подсистемы WSLv1. Теперь все ранее поддерживаемые события, кроме ProcessModuleLoad
, также доступны для мониторинга. Из‑за особенностей работы подсистемы WSL не все поля событий могут быть доступны (подробности — в документации по событиям). Еще одна особенность — невозможность доступа к памяти процесса и анализу его содержимого, в т. ч. сканирования по YARA‑правилам.
Модуль EDR.Core (Linux)
Появилась возможность обнаружения событий FileCreate
и FileChange
внутри произвольных контейнеров (docker
, сontainerd
) при использовании провайдера ebpf
.
Добавлены события:
FileChange
. Генерируется при обнаружении первой записи данных в файл после его повторного открытия.SyscallExecute
. Генерируется при обнаружении заданного в конфигурации системного вызова.ResourceLimitExceeded
. Генерируется при достижении порогов: 85% от заданного лимита памяти или 98% — CPU.ContainerdContainerStarted
. Генерируется при запуске нового контейнера и runtime‑обновлении конфигурации запущенного.ContainerdContainerStopped
. Генерируется при полной остановке containerd контейнера.ContainerdContainerRunningFound
. Событие инвентаризации, генерируется для каждого запущенного контейнера.ContainerdContainerStoppedFound
. Событие инвентаризации, генерируется для каждого существующего, но незапущенного контейнера.