SOT

Security Orchestration Tools

SIEM
Security Information and Event Management

Мониторинг событий ИБ

EDR
Endpoint Detection and Response

Защита конечных точек

SOAR
Security Orchestration, Automation and Response

Автоматизация реагирования на инциденты ИБ

NG SOAR
Next Generation SOAR

Автоматизация реагирования на инциденты ИБ со встроенной базовой корреляцией, сбором сырых событий непосредственно с СЗИ, динамическими плейбуками, выстраиванием цепочки атаки и объектно-ориентированным подходом

AM
Asset Management

Инвентаризация и управление ИТ-активами

VM
Vulnerability Management

Устранение уязвимостей с автопатчингом

VS
Vulnerability Scanner

Поиск технических уязвимостей на активах

SPC
Security Profile Compliance

Управление конфигурациями безопасности активов

ГосСОПКА
Государственная Система Обнаружения Предупреждения и Ликвидации Последствий Компьютерных Атак

Двустороннее взаимодействие с НКЦКИ

FinCERT
Financial Computer Emergency Response Team

Двустороннее взаимодействие с ЦБ

Напишите нам на sales@securityvision.ru или закажите демонстрацию

EDR для Windows. Основы, архитектура, принципы работы

EDR для Windows. Основы, архитектура, принципы работы

Баландин Алексей, Security Vision

 

EDR (Endpoint Detection and Response) — это класс решений в области информационной безопасности, предназначенный для непрерывного мониторинга и реагирования на сложные и нетиповые угрозы на конечных устройствах, таких как рабочие станции и серверы. В отличие от классических антивирусов, которые часто бессильны против современных методов атак, таких как бесфайловые вирусы и техники "living off the land", EDR-системы работают по принципу "предполагаемой компрометации". Они осуществляют глубокий сбор телеметрии о событиях в системе, анализируют поведение процессов и предоставляют инструменты для проактивного обнаружения, блокировки и расследования инцидентов безопасности, обеспечивая комплексную защиту конечных точек.


Оглавление:

1. Что такое EDR и почему антивирус больше не справляется?

2. Ограничения стандартного аудита Windows и роль Sysmon

3. Как работает EDR: Ключевые принципы и архитектура

o Перехват системных вызовов с помощью хуков

o Механизм установки хуков в системе

o Контроль запуска приложений и уровни доверия

o Матрица доступа к защищаемым ресурсам

4. Какие данные собирает EDR для защиты системы?

5. Проактивное реагирование EDR на угрозы

6. Расширенные возможности EDR

7. Концептуальная схема EDR для Windows

8. Вывод

9. FAQ: Часто задаваемые вопросы об EDR


Мы планируем расширять функционал наших агентов сбора событий и внедрять подходы, используемые для реализации углубленного мониторинга событий ОС Windows, обнаружения сложных нетиповых атак, а также реагирования на них. Упомянутые подходы лежат в основе функционирования такого класса продукта, как EDR для Windows. Их описанию будет посвящена данная статья.


Мы рассмотрим существующие проблемы обнаружения атак, предоставим теоретический концепт и подходы к разработке собственной системы EDR для Windows.


Что такое EDR и почему антивирус больше не справляется?

Ни для кого не секрет, что классический антивирус сам по себе уже давно не является надежным средством противодействия компьютерным атакам. Тут достаточно вспомнить про бесфайловые вирусы, которые активны последние 10 лет и против которых классический антивирус бессилен. Другая очень распространенная разновидность атак — living off the land, от которой также не может защитить классический антивирус. “Antivirus is dead” — фраза, которую произнес Brian Dye, вице-президент Symantec еще в далеком 2017 году. Это означает, что мы ни в коем случае больше не можем полагаться на один лишь антивирус при построении системы информационной безопасности и теперь мы вынуждены исходить из гипотезы, что наша инфраструктура потенциально скомпрометирована и нам необходимо в непрерывном режиме проактивно искать угрозы.


Ограничения стандартного аудита Windows и роль Sysmon

Если речь идет о Windows системах, то здесь мы можем полагаться на подсистему аудита и журнал Security, в который Windows записывает важнейшие события информационной безопасности. К типовым проблемам подсистемы аудита Windows можно отнести следующие:


  • Логирование только базовых событий информационной безопасности (аутентификация/авторизация учетных записей, запуск процессов, запись в реестр, файловая активность, сетевая активность, создание/удаление учетных записей).
  • Многие важные события (DNS, RPC, LDAP, WMI активность и т.д.) логируются только в режиме углубленного анализа (например, посредством настройки ETW либо средствами собственного драйвера-минифильтра), что позволяет многим атакам оставаться ниже радара средств мониторинга.
  • Отсутствие фильтрации потока событий, что приводит их к лавинообразному росту и большому количеству ложных срабатываний.
  • Отсутствие возможностей мониторинга низкоуровневых системных вызовов (манипуляции с памятью процессов, потоков, структурами файловой системы и т.д.), что создает риски проведения атак класса code injection, process tampering и т.д.
  • Отсутствие средств самозащиты и контроля целостности и работоспособности компонентов системы аудита ОС.
  • Отсутствие возможностей превентивных блокировок событий ИБ, а также проактивного обнаружения атак.


Частично данных недостатков лишен Sysmon, но он не обнаруживает большую часть атак класса code injection, process tampering, полностью лишен функционала самозащиты, противодействия техникам обхода и не поддерживает каких-либо превентивных блокировок атак, поэтому его ни в коем случае нельзя воспринимать как полноценный EDR, скорее, как сборщик расширенной телеметрии ОС. Несмотря на это, Sysmon давно стал стандартом де-факто в области аудита событий ИБ Windows. И не будет преувеличением сказать, что ни один SOC не обходится без Sysmon.


Как работает EDR: Ключевые принципы и архитектура

Перечисленных выше недостатков лишено решение класса EDR, которое, помимо выполнения роли агента, осуществляющего функции сбора и отправки событий ИБ на централизованный сервер, проактивно обнаруживает, блокирует атаки и прочую нежелательную активность.


Перехват системных вызовов с помощью хуков

Все современные EDR для защиты конечных точек устанавливают в системе т.н. хуки посредством драйвера ядра, осуществляющие перехваты и фильтрацию системных вызовов, которые могут быть задействованы в процессе проведения атаки. Задачей хука, установленного на системный вызов, является убедиться в его легитимности и заблокировать в случае обнаружения признаков проведения атаки.


Смысл работы хука заключается в перезаписи первых нескольких байт в начале перехватываемой функции с установкой инструкций перехода на функцию-перехватчик, которая выполняет заложенные в нее действия и в зависимости от текущего окружения либо блокирует выполнение исходной функции, либо передает выполнение исходной функции без изменения, либо меняет что-либо в переданных параметрах. Таким образом, установка хука позволяет держать выполнение исходной функции под полным контролем и в т.ч. не допустить НСД либо прочие злонамеренные действия.


Здесь стоит упомянуть, что пространство системных вызовов Windows включает в себя верхнеуровневую часть (usermode) функции Win32 API (реализованы в системных библиотеках kenel32.dll, user32.dll, advapi32.dll), Native API (ntdll.dll), которая представляет из себя прослойку между usermode и kernelmode и ядро, которое непосредственно отвечает за выполнение системного вызова.


Функции ядра (NTOSKRNL.DLL) выглядят наиболее привлекательными с точки зрения установки хука, так как такие перехватчики будут наиболее низкоуровневыми и их будет сложнее всего обнаружить и деактивировать. И, действительно, до появления технологии Patch Guard, которая защищает ядро от перезаписи, вмешиваться в работу ядра было стандартной практикой как среди СЗИ, так и среди вирусописателей. Последние годы хуки ставятся в Win32 пространстве и внутри библиотеки ntdll.dll. Таким образом, установка хуков — это мощнейший механизм перехвата и анализа событий ОС, которым активно пользуются все EDR-системы.


Механизм установки хуков в системе

Механизм установки хуков в системе происходит по следующей схеме:


  • Посредством вызова функции PsSetCreateProcessNotifyRoutineEx происходит регистрация т.н. callback функции драйвера, которая получает доступ к контексту создаваемого процесса: имя, путь, pid, командная строка, имя родителя.
  • Драйвер передает pid запущенного процесса пользовательскому приложению, например, через именованный пайп либо каким-либо другим способом.
  • Пользовательское приложение (инжектор) методом классического DLL Inject (либо каким-либо другим способом) внедряет библиотеку в адресное пространство создаваемого процесса.
  • Внедренная библиотека получает управление, в большинстве случаев происходит вызов функции DLLMain, после чего происходит установка хуков на интересуемые функции.
  • Теперь вызовы всех интересуемых функций внутри процесса будут замыкаться на функции-перехватчики, осуществляющие контроль исходных функций.
  • Пункты 1-5 повторяются для каждого нового создаваемого в системе процесса, что дает возможность EDR выявлять вызовы потенциально опасных функций и разграничивать доступ ко всем ресурсам системы (файловая система, реестр, память, сеть и т.д.)


Контроль запуска приложений и уровни доверия

EDR также может быть оснащен компонентом контроля запуска приложений, который на основе ряда критериев принимает решение о разрешении/запрете запуска приложений. К таким критериям для запускаемого приложения можно отнести следующие: наличие ЭЦП, издатель, имя файла, версия файла, путь файла, md5/sha256 хэши. На основании связки данных критериев могут быть сформированы следующие уровни доверия приложения:


  • высокодовереннный: файл подписан известным издателем и лежит в одном из каталогов C:\Windows\, C:\Program Files(x86)\, C:\Program Files;
  • среденедоверенный: файл подписан неизвестным издателем и лежит в одном из каталогов C:\Windows\, C:\Program Files(x86)\, C:\Program Files;
  • низкодоверенный: файл подписан неизвестным издателем и не лежит в одном из известных каталогах или не подписан и лежит в одном из каталогов C:\Windows\, Program Files(x86)\, C:\Program Files;
  • недоверенный: файл не подписан и не лежит ни в одном из каталогов C:\Windows\, C:\Program Files(x86)\, C:\Program Files;
  • запрещенный: по хэшу файла, например, md5 PsExec64.exe.


Матрица доступа к защищаемым ресурсам

На основании уровня доверия процесса формируется матрица доступа к защищаемым ресурсам, которая анализируется по факту сработки хука на системный вызов при попытке обращения к защищаемому ресурсу. Пример матрицы доступа к Run ключам реестра для процессов разного уровня доверия:


JSON"registry": {    "autostart_run": [        { "type": "highly_trusted", "crud_rights": "++++" },        { "type": "medium_trusted", "crud_rights": "++++" },        { "type": "low_trusted", "crud_rights": "?+?-" },        { "type": "untrusted", "crud_rights": "----" }    ]}, где"+" - разрешение доступа"-" - запрет доступа"?" - спросить у пользователя и запомнить выбор


Какие данные собирает EDR для защиты системы?

Если просуммировать всю телеметрию, которую целесообразно собирать EDR, мы увидим много позиций, которые покрываются Sysmon, но не покрываются стандартным аудитом Windows, что является аргументом в пользу использования Sysmon как один из источников аудита в проектируемой EDR системе (в случае, если нет возможности для разработки собственных драйверов мини-фильтров). EDR собирает данные о файловой активности, сетевой активности, изменениях в реестре, запуске процессов, загрузке драйверов, доступе к памяти и многом другом для всестороннего анализа.


Проактивное реагирование EDR на угрозы

Одной из особенностью EDR является проактивное обнаружение и реагирование на атаки. Среди классических действий по реагированию EDR должна уметь выполнять (как в ручном, так и в автоматическом режимах):


  • завершение процесса/цепочки процессов,
  • удаление файла/ключа реестра,
  • блокировка УЗ,
  • отмена изменения ключа реестра,
  • завершение сессии пользователя,
  • изоляция узла,
  • блокировка IP.

Расширенные возможности EDR

Хорошей практикой является построение моделей эталонного поведения хоста (baseline) как на локальном, так и сетевом уровнях, что позволит обнаруживать ранее неизвестные атаки и аномалии. Практически все современные EDR оснащены сканерами памяти (в т.ч. основанными на YARA), способные обнаруживать бесфайловое ВПО. EDR также может обнаруживать сетевые атаки, как сигантурным, так и эвристическим способом, в т.ч. на основе сетевых моделей машинного обучения для обнаружения C&C активности.


Многие EDR оснащены собственными корреляционными движками. В то же время корреляция — это все же прерогатива SIEM. На наш взгляд, грамотно настроенные компоненты контроля запуска и активности приложений (HIPS) вкупе с обученными моделями машинного обучения вполне способны нивелировать отсутствие корреляционного движка в EDR.


Концептуальная схема EDR для Windows

В результате всего сказанного получаем концептуальную схему EDR, которая покрывает основные требования, предъявляемые к EDR. Компоненты EDR можно разделить по значимости:


  • Белый — базовые компоненты, обязательны для реализации EDR.
  • Желтый — крайне желательные компоненты EDR.
  • Фиолетовый — компоненты, который существенно расширил бы функционал EDR.

Вывод

В данной статье описаны проблематика и подходы, на основе которых предложен концептуальный прототип EDR, удовлетворяющий требованиям, предъявляемым к данному классу решений.


FAQ: Часто задаваемые вопросы об EDR

Что такое EDR простыми словами?
EDR (Endpoint Detection and Response) — это решение, которое в отличие от обычного антивируса, не просто ищет известные вирусы, а постоянно следит за всеми процессами на компьютере, чтобы обнаруживать, блокировать и расследовать сложные и ранее неизвестные кибератаки.
В чем разница между EDR и антивирусом?
Классический антивирус бессилен против современных угроз, таких как бесфайловые вирусы и атаки типа "living off the land". EDR же проактивно обнаруживает и блокирует атаки, исходя из гипотезы, что инфраструктура уже потенциально скомпрометирована, и осуществляет глубокий мониторинг активности системы.
Как EDR обнаруживает атаки?
EDR использует механизм "хуков" (перехватчиков) системных вызовов, чтобы анализировать действия программ в реальном времени. Он также может строить модели нормального поведения (baseline) для выявления аномалий, сканировать память на наличие вредоносного кода и анализировать сетевой трафик.
Что такое хуки (hooks) в EDR?
Хуки — это основной механизм работы EDR. С помощью специального драйвера EDR перехватывает обращения программ к важным функциям операционной системы (например, запись файла или изменение реестра), чтобы проверить их на легитимность и заблокировать в случае угрозы.
Является ли Sysmon полноценным EDR?
Нет, Sysmon не является полноценным EDR. Это мощный инструмент для сбора расширенной телеметрии (событий) из ОС Windows, но он не имеет функций самозащиты и не может превентивно блокировать атаки, в отличие от настоящего EDR-решения.
Какие действия может предпринять EDR при обнаружении угрозы?
EDR может автоматически или по команде оператора завершить вредоносный процесс, удалить файл или ключ реестра, заблокировать учетную запись, изолировать компьютер от сети, заблокировать IP-адрес злоумышленника и отменить вредоносные изменения.
Может ли EDR защитить от бесфайловых вирусов?
Да. В отличие от классического антивируса, который ищет файлы на диске, EDR анализирует поведение процессов и может сканировать оперативную память. Это позволяет ему обнаруживать бесфайловое вредоносное ПО, которое существует только в памяти системы.
Зачем EDR нужен контроль запуска приложений?
Компонент контроля запуска приложений позволяет EDR принимать решение о разрешении или запрете старта программы на основе набора правил: наличия цифровой подписи, издателя, пути к файлу, его хэша. Это помогает предотвратить запуск вредоносного или нежелательного ПО.
Что такое уровни доверия процессов в EDR?
Это система классификации приложений на основе их характеристик (подпись, расположение). Процессы делятся на уровни (например, высокодоверенный, низкодоверенный, запрещенный), и для каждого уровня определяется своя матрица доступа к защищаемым ресурсам системы (файлам, реестру).
Какие данные собирает EDR-система?
EDR собирает обширную телеметрию, включая события запуска процессов, файловую активность, сетевые подключения, обращения к реестру, активность DNS, WMI, RPC, загрузку драйверов и манипуляции с памятью процессов. Это намного больше, чем предоставляет стандартный аудит Windows.

СЗИ EDR Управление ИБ

Похожие статьи

Синергия автоматизации кибербезопасности и управления киберрисками
Синергия автоматизации кибербезопасности и управления киберрисками
Классификация продуктов и услуг по кибербезопасности
Классификация продуктов и услуг по кибербезопасности
Квантовые компьютеры и постквантовая криптография
Квантовые компьютеры и постквантовая криптография
CyBOK. Глава 3. Законы и регуляторные нормы. Часть 6
CyBOK. Глава 3. Законы и регуляторные нормы. Часть 6
Технологии защиты от deepfake
Технологии защиты от deepfake
Реализация NIST CSF 2.0
Реализация NIST CSF 2.0
Что такое XSS-уязвимости и как защититься от них с помощью Content Security Policy
Что такое XSS-уязвимости и как защититься от них с помощью Content Security Policy
Автономный подход к SOC: применение уроков SRE к Security Operation Center
Автономный подход к SOC: применение уроков SRE к Security Operation Center
Антифрод системы - что это и как работает
Антифрод системы - что это и как работает
CVSS: система оценки уязвимостей - что это такое и как использовать калькулятор
CVSS: система оценки уязвимостей - что это такое и как использовать калькулятор
XSS, Межсайтовый скриптинг (Cross-Site Scripting)
XSS, Межсайтовый скриптинг (Cross-Site Scripting)

Похожие статьи

Синергия автоматизации кибербезопасности и управления киберрисками
Синергия автоматизации кибербезопасности и управления киберрисками
Классификация продуктов и услуг по кибербезопасности
Классификация продуктов и услуг по кибербезопасности
Квантовые компьютеры и постквантовая криптография
Квантовые компьютеры и постквантовая криптография
CyBOK. Глава 3. Законы и регуляторные нормы. Часть 6
CyBOK. Глава 3. Законы и регуляторные нормы. Часть 6
Технологии защиты от deepfake
Технологии защиты от deepfake
Реализация NIST CSF 2.0
Реализация NIST CSF 2.0
Что такое XSS-уязвимости и как защититься от них с помощью Content Security Policy
Что такое XSS-уязвимости и как защититься от них с помощью Content Security Policy
Автономный подход к SOC: применение уроков SRE к Security Operation Center
Автономный подход к SOC: применение уроков SRE к Security Operation Center
Антифрод системы - что это и как работает
Антифрод системы - что это и как работает
CVSS: система оценки уязвимостей - что это такое и как использовать калькулятор
CVSS: система оценки уязвимостей - что это такое и как использовать калькулятор
XSS, Межсайтовый скриптинг (Cross-Site Scripting)
XSS, Межсайтовый скриптинг (Cross-Site Scripting)