Детектирование техники DLL Hijacking

Наши эксперты обучили ML-модель выявлять попытки использования техники DLL Hijacking и усилили ей SIEM-систему KUMA.

Детектирование техники DLL Hijacking силами ML

В попытке избежать детектирования защитными решениями киберпреступники используют разнообразные техники, маскирующие вредоносную активность. Один из приемов, который в последние годы все чаще встречается в атаках на системы под управлением Windows, — DLL Hijacking, то есть подмена динамически подключаемых библиотек (DLL) на вредоносные. Традиционные защитные решения далеко не всегда могут выявить применение этой техники. Поэтому наши коллеги из Центра экспертизы Kaspersky AI Technology Research разработали модель машинного обучения, позволяющую с высокой точностью детектировать DLL Hijacking. В частности, эта модель уже имплементирована в недавно вышедшую свежую версию нашей SIEM-системы Kaspersky Unified Monitoring and Analysis Platform (KUMA). В этом посте рассказываем, в чем сложности детектирования техники DLL Hijacking и как наш продукт справляется с этой задачей.

Как работает DLL Hijacking и в чем сложность ее детектирования

Внезапный запуск неизвестного файла в среде Windows неизбежно привлекает внимание защитных решений или просто блокируется. По сути, DLL Hijacking — это попытка выдать вредоносный файл за известный и доверенный. Существует несколько вариантов техники DLL Hijacking. Иногда злоумышленники распространяют вредоносную библиотеку вместе с легитимным ПО (DLL sideloading), которое запускает вредоносный файл; иногда подменяют стандартные DLL, к которым обращаются уже установленные на компьютере программы; а иногда пытаются манипулировать системными механизмами, которые определяют, откуда процесс должен запускать библиотеку. В результате подменный DLL-файл запускается легитимным процессом в своем адресном пространстве и со своими правами, так что для защитных решений активность подмененных библиотек выглядит как вполне легитимная. Поэтому наши эксперты решили привлечь технологии искусственного интеллекта для борьбы с данной техникой.

Детектирование DLL Hijacking при помощи ML

Коллеги из команды AI Technology Research решили обучить ML-модель выявлять DLL Hijacking по косвенной информации о библиотеке и о процессе, который его вызвал. Они выделили основные признаки, которые могут свидетельствовать о том, что кто-то пытается манипулировать библиотекой: находятся ли исполняемый файл и библиотека по стандартным путям или нет; переименовывался ли файл; изменялись ли размеры и структура библиотеки; все ли в порядке с ее цифровой подписью и так далее. В качестве обучающей выборки изначально были использованы данные о загрузках динамических библиотек, источником которых служили как внутренние системы автоматического анализа, так и анонимизированная телеметрия из Kaspersky Security Network (KSN), добровольно предоставляемая нашими пользователями. Для разметки использовались данные из наших баз файловой репутации.

Первая модель работала достаточно грубо, однако прежде чем дойти до внедрения в решение, наши эксперты экспериментировали с несколькими поколениями моделей, совершенствуя разметку обучающей выборки и выбор признаков, по которым можно определить, происходит ли DLL Hijacking при загрузке библиотеки. В результате модель стала с высокой точностью выявлять попытку применения этой техники злоумышленниками. В блоге Securelist коллеги опубликовали подробный материал о том, как они разрабатывали данную технологию, от гипотезы и вплоть до тестирования в сервисе Kaspersky Managed Detection and Response и практического применения модели в нашей SIEM-платформе.

Технология детектирования DLL Hijacking в KUMA SIEM

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

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

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

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

Интереснее всего тот факт, что точность модели будет только расти за счет накопления данных об угрозах и легитимных процессов, а также за счет обновления алгоритмов в KSN.

Советы

Как отключить слежку в iOS?

У вас есть iPhone, iPad или iPod? Потратьте несколько минут на настройку служб геолокации, чтобы сэкономить заряд батареи и сохранить конфиденциальность перемещений.