Технологии безопасности

Детектирование DLL Hijacking с помощью машинного обучения: реальные кейсы

Вступление

Недавно коллеги из команды Detection Methods Analysis Group разработали модель машинного обучения, детектирующую атаки типа DLL Hijacking. Впоследствии мы внедрили ее в SIEM-систему Kaspersky Unified Monitoring and Analysis Platform (KUMA). О том, как создавалась эта модель и каких успехов удалось достичь в лабораторных условиях, коллеги рассказали в отдельной статье. Здесь же сосредоточимся на том, как она работает в KUMA и какие подготовительные шаги предшествовали релизу, а также расскажем о нескольких реальных инцидентах, которые уже удалось обнаружить с ее помощью.

Как модель работает в KUMA

Работа модели в общем случае сводится к поэтапной проверке всех DLL-библиотек, загружаемых процессами в системе, с последующей валидацией в облаке Kaspersky Security Network (KSN). Такой подход позволяет объединить локальные атрибуты (путь, имя процесса, хэши файлов) с глобальной базой знаний и поведенческими признаками, что существенно повышает качество детектирования и снижает вероятность ложных срабатываний.

Модель может работать в одном из двух режимов: на корреляторе или на коллекторе. Коррелятор — это компонент SIEM, выполняющий анализ и сопоставление событий на основании заранее заданных правил или алгоритмов. Если детектирование настроено на корреляторе, модель проверяет события, на которые уже сработало какое-либо правило. Это уменьшает объем запросов в KSN и увеличивает скорость отклика модели.

Выглядит это следующим образом:

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

  • Известен путь к файлу процесса
  • Известен путь к библиотеке
  • Есть хэши файла и библиотеки

Этот метод потребляет больше ресурсов, а ответ модели занимает больше времени, чем на корреляторе. Однако он может быть полезен при ретроспективном поиске угроз, поскольку позволяет проверять все события, залогированные KUMA. Схема работы модели на коллекторе выглядит следующим образом:

Важно отметить, что модель не ограничивается бинарной оценкой «вредоносно/не вредоносно», а ранжирует свои ответы по степени уверенности. Это позволяет использовать ее как гибкий инструмент в SOC-практике. Примеры возможных вердиктов:

  • 0 — данные находятся в обработке;
  • 1 — вредоносность не подтверждена. Это значит, что на данный момент модель не считает библиотеку вредоносной;
  • 2 — библиотека вызывает подозрения;
  • 3 — вредоносность подтверждена.

Правило детектирования DLL Hijacking на платформе KUMA будет выглядеть следующим образом:

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

Инциденты, выявленные в ходе пилотирования модели в сервисе MDR

Прежде чем выйти в релиз, модель в составе платформы KUMA тестировалась в сервисе MDR, где обучалась определять атаку на больших массивах данных, поставляемых в нашей телеметрии. Этот этап был необходим, чтобы убедиться, что детектирование работает не только в лабораторных условиях, но и в реальной инфраструктуре клиентов.

В рамках пилотирования мы проверяли устойчивость модели к ложным срабатываниям и ее способность корректно классифицировать поведение даже при нетипичных сценариях загрузки DLL. В результате были успешно выявлены несколько реальных инцидентов, в которых злоумышленники применяли один из видов DLL Hijacking — технику DLL Sideloading — для закрепления и выполнения своего кода в системе. Давайте подробнее рассмотрим три наиболее интересных из них.

Инцидент 1 — ToddyCat пытается запустить Cobalt Strike под видом системной библиотеки

В одном из инцидентов атакующие успешно проэксплуатировали сервис SharePoint, использующий IIS в качестве веб-сервера, с помощью уязвимости CVE-2021-27076:

После эксплуатации процесс IIS создал файлы, которые в дальнейшем использовались для запуска вредоносного кода с помощью техники DLL Sideloading (T1574.001 Hijack Execution Flow: DLL):

SystemSettings.dll — это имя библиотеки, связанной с приложением Windows Settings (SystemSettings.exe). Оригинальная библиотека содержит код и данные, которые приложение Settings использует для управления различными системными параметрами и их настройки. Однако библиотека, созданная атакующими, имеет вредоносную функциональность и лишь притворяется системной.

Позже для закрепления в системе и запуска атаки DLL Sideloading была создана задача в планировщике, маскирующаяся под обновление браузера Microsoft Edge. Она запускает файл SystemSettings.exe, расположенный рядом с вредоносной библиотекой:

Задача должна выполняться ежедневно.

При запуске процесса SystemSettings.exe подгружает вредоносную DLL. В момент подгрузки данные о процессе и библиотеке были отправлены на нашу модель, чтобы она проанализировала их и выявила возможную атаку.

Пример события загрузки SystemSettings.dll с оценкой модуля DLL Hijacking в KUMA

Пример события загрузки SystemSettings.dll с оценкой модуля DLL Hijacking в KUMA

Полученный результат помог нашим аналитикам подсветить подозрительную DLL и детально ее проанализировать. Выяснилось, что эта библиотека является имплантом Cobalt Strike. Загрузив ее, процесс SystemSettings.exe пытался соединиться с командным центром атакующих:

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

Опираясь на TTP атакующих, такие как загрузка Cobalt Strike в виде DLL, применение техники DLL Sideloading (1, 2) и эксплуатация SharePoint, мы можем с высокой степенью уверенности сказать, что за атакой стояла APT-группа ToddyCat. При этом, благодаря оперативной работе нашей модели, мы смогли вовремя отреагировать и заблокировать эту активность, не дав злоумышленникам нанести ущерб организации.

Инцидент 2 — инфостилер под видом менеджера политик

Другой пример модель обнаружила после подключения клиента к мониторингу MDR: легитимный системный файл, расположенный в папке приложения, попытался загрузить подозрительную библиотеку, лежащую рядом с ним:

Файл SettingSyncHost.exe — это системный хост-процесс для синхронизации настроек между разными устройствами одного пользователя. Обычно его версии для 32- и 64-разрядных систем располагаются в папках C:\Windows\System32\ и C:\Windows\SysWOW64\ соответственно. В инциденте местоположение файла отличалось от обычного.

Пример события загрузки policymanager.dll с оценкой модуля DLL Hijacking в KUMA

Пример события загрузки policymanager.dll с оценкой модуля DLL Hijacking в KUMA

Анализ файла библиотеки, который загружал этот процесс, показал, что она является вредоносной программой, предназначенной для кражи информации из браузеров.

Граф работы policymanager.dll в песочнице

Граф работы policymanager.dll в песочнице

Файл обращается напрямую к файлам браузеров, которые содержат данные пользователей.

Файл библиотеки входит в список файлов, используемых для реализации техники DLL Hijacking, опубликованных в проекте HijackLibs. Проект содержит перечень распространенных процессов и библиотек, использующихся в атаках типа DLL Hijacking, который можно применять для детектирования подобных атак.

Инцидент 3 — вредоносный загрузчик под видом защитного решения

Еще один инцидент, обнаруженный благодаря нашей модели, произошел при подключении пользователем съемного USB-накопителя:

Пример события загрузки библиотеки wsc.dll с USB-накопителя с оценкой модуля DLL Hijacking в KUMA

Пример события загрузки библиотеки wsc.dll с USB-накопителя с оценкой модуля DLL Hijacking в KUMA

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

Файл CEFHelper.exe — это легитимный исполняемый файл Avast Antivirus, который с помощью DLL Sideloading загружает библиотеку wsc.dll, представляющую собой вредоносный загрузчик:

Участок кода вредоносного файла

Участок кода вредоносного файла

Загрузчик открывает файл с именем AvastAuth.dat, в котором находится зашифрованный бэкдор. Библиотека читает данные из файла в память, расшифровывает их и выполняет. После этого бэкдор пытается соединиться с удаленным командным центром.

Файл библиотеки, содержащий вредоносный загрузчик, входит в список известных библиотек, которые используются для DLL Sideloading, представленный на сайте проекта HijackLibs.

Заключение

Благодаря внедрению модели в продукт стало возможным выявлять попытки DLL Hijacking, которые до этого могли оставаться незамеченными. Уже на этапе пилотирования модель доказала свою эффективность, обнаружив несколько инцидентов с применением этой техники. В дальнейшем ее точность будет только расти за счет накопления данных и обновления алгоритмов в KSN, что делает этот механизм надежным элементом проактивной защиты корпоративных систем.

IoC

Легитимные файлы, используемые для DLL Hijacking
E0E092D4EFC15F25FD9C0923C52C33D6 загружает SystemSettings.dll
09CD396C8F4B4989A83ED7A1F33F5503 загружает policymanager.dll
A72036F635CECF0DCB1E9C6F49A8FA5B загружает wsc.dll

Вредоносные файлы
EA2882B05F8C11A285426F90859F23C6   SystemSettings.dll
E83F331BD1EC115524EBFF7043795BBE   policymanager.dll
831252E7FA9BD6FA174715647EBCE516   wsc.dll

Path
C:\ProgramData\SystemSettings.exe
C:\ProgramData\SystemSettings.dll
C:\Program Files\Chiniks\SettingSyncHost.exe
C:\Program Files\Chiniks\policymanager.dll
D:\RECYCLER.BIN\1\CEFHelper.exe
D:\RECYCLER.BIN\1\wsc.dll

Детектирование DLL Hijacking с помощью машинного обучения: реальные кейсы

Ваш e-mail не будет опубликован. Обязательные поля помечены *

 

Отчеты

ToddyCat — ваш скрытый почтовый ассистент. Часть 1

Эксперты «Лаборатории Касперского» разбирают атаки APT ToddyCat через корпоративную электронную почту. Изучаем новую версию TomBerBil, инструменты TCSectorCopy и XstReader, а также способы кражи токенов доступа из Outlook.

Криптоафера группы BlueNoroff: «призрачные» инвестиции и фиктивные рабочие предложения

Эксперты команды GReAT проанализировали кампании GhostCall и GhostHire APT-группы BlueNoroff: несколько цепочек вредоносного ПО для macOS, поддельные клиенты Zoom и Microsoft Teams, а также изображения, улучшенные с помощью ChatGPT.

Mem3nt0 mori – Hacking Team снова с нами!

Исследователи «Лаборатории Касперского» впервые обнаружили шпионское ПО Dante, разработанное Memento Labs (бывшей Hacking Team) в дикой природе и нашли его связь с APT ForumTroll.