Всем привет! На связи снова Даниил Нейман из отдела развития инициатив сообществ по ИБ в Positive Technologies. В прошлой статье я рассказывал про одну из основных проблем, с которой сталкивается специалист при анализе кибератак, а именно про сложность анализа без использования стандартизированных методов моделирования атак для разбиения и визуального представления различных этапов кибератаки.

Нами были рассмотрены методы моделирования атак на основе юзкейсов, теперь поговорим про темпоральные методы моделирования (акцент на хронологическом порядке и последовательности событий в кибератаке).

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

Riskit

Начнем с метода Riskit, предложенного в 1997 году для управления рисками при разработке программного обеспечения. Его создание было обусловлено отсутствием для того времени конкретных определений для рисков и формальных моделей их описания. 

В рамках метода риск — это возможность потери, сама потеря или любая характеристика, объект или действие, которые связаны с этой возможностью.

Визуальное представление рисков в Riskit
Визуальное представление рисков в Riskit

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

Обозначения элементов и связей в Riskit
Обозначения элементов и связей в Riskit

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

Диаграмма Riskit со сценарием атаки на рабочую станцию
Диаграмма Riskit со сценарием атаки на рабочую станцию

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

Кроме того, методом представляется формальная модель для определения и анализа рисков, которая называется циклом управления рисками.

Цикл управления рисками в Riskit (источник)
Цикл управления рисками в Riskit (источник)

Где представлены соединенные между собой информационными потоками (стрелками) формальные процессы (в виде кружков). Прямоугольниками представляются внешние процессы, связанные с циклом.

Плюсы метода:

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

Минусы метода:

  1. Выделение результатов и пререквизитов в виде отдельных событий увеличивает сложность схемы.

  2. Слишком простая логика связей, из-за которой диаграмма может интерпретироваться по-разному.

Cyber kill chain

Этот метод был представлен в 2011 году исследователями компании Lockheed Martin, как адаптация армейского понятия kill chain, определяющего структуру возможной атаки по следующим «звеньям» цепочки:

  1. определение цели,

  2. направление сил к цели, 

  3. начало атаки на цель, 

  4. уничтожение цели.

«Разрыв» такой цепочки противника будет методом защиты или упреждающим действием.

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

Полученная модель состоит из следующих фаз:

  • Разведка — исследование, идентификация и выбор целей.

  • Вооружение — выбор или создание вредоносных инструментов (зловредного ПО), которые будут использоваться для атаки на выбранную цель.

  • Доставка — множество методов проникновения, которые может использовать злоумышленник для отправки вредоносной информации жертве (например, по электронной почте или другим способом).

  • Заражение — запуск вредоносного кода с помощью функций системы или же самой жертвой.

  • Инсталляция — установка вредоносного ПО для закрепления в инфраструктуре (установка трояна или создание бэкдора).

  • Получение управления — создание злоумышленником канала управления, чтобы удаленно контролировать свои внутренние ресурсы.

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

Этапы Cyber Kill Chain (источник)
Этапы Cyber Kill Chain (источник)

Смоделируем ранее рассмотренный пример с фишинговой атакой.

Пример со сценарием атаки на рабочую станцию, разложенный в виде этапов киллчейна
Пример со сценарием атаки на рабочую станцию, разложенный в виде этапов киллчейна

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

Моделью также предусмотрены возможные противодействия, адаптированные из доктрины по информационным операциям

  1. обнаружение,

  2. отказ,

  3. срыв,

  4. ослабление,

  5. обман,

  6. уничтожение. 

Они представляются в виде матрицы плана действий.

Рассмотрим матрицу плана действий на основе смоделированного примера.

Матрица плана действий для  сценария атаки на рабочую станцию
Матрица плана действий для  сценария атаки на рабочую станцию

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

Плюсы модели:

  1. Разделение атаки на последовательные фазы позволяет лучше описать действия злоумышленников.

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

Минусы модели:

  1. Она изначально была разработана для военных целей и не охватывает все аспекты современных кибератак (например, не учитывает угрозы, исходящие изнутри организации).

  2. Одна цепь описывает только одну вариацию атаки.

Attack flow

Attack flow — это одновременно и метод, и инструмент визуального моделирования и анализа кибератак, который разрабатывается Mitre Corporation и имеет прямую интеграцию с матрицей MITRE ATT&CK (базой знаний, описывающей тактики и техники злоумышленников при кибератаках). 

Attack flow также использует формат STIX (Structured Threat Information Expression), который применяется для сериализации различных объектов, фигурирующих в атаке, и их связей между собой. Рассмотрим небольшой пример объекта:

{

	"type": "malware",

	"spec_version": "2.1",

	"id": "malware--fdd60b30-b67c-41e3-b0b9-f01faf20d111",

	"created": "2014-02-20T09:16:08.989Z",

	"modified": "2014-02-20T09:16:08.989Z",

	"name": "Poison Ivy",

	"malware_types": [

		"remote-access-trojan"

	],

	"is_family": false

}

В STIX используются схемы JSON для описания объектов и связей между ними. В нашем случае с помощью STIX описывается вирус Poison Ivy, которому назначен тип remote-access-trojan и флаг "is_family": false, сообщающий, что это не семейство вирусов.

Для различных типов объектов определяются свои списки возможных ключей. Ознакомиться с ними вы можете в официальной документации STIX

Далее рассмотрим основные элементы Attack flow:

  1. Действие (Action) — конкретное действие, выполняемое атакующим, например эксплуатация уязвимости, движение в сети или установка вредоносного ПО. Каждое действие сопровождается следующими деталями:

    • тактиками и техниками из MITRE ATT&CK (поля Tactic Id и Technique Id);

    • временем начала и конца действия (поля Execution Start и End);

    • информацией об уровне достоверности действия (поле Confidence) — насколько автор уверен, что действие правильно описано.

  2. Операторы AND и OR для моделирования логических связей между действиями атаки.

  3. Актив (Asset) — определенный результат или влияние на мир. Действия могут указывать на активы как на объекты, на которые было оказано воздействие, а также на то, какие объекты используются в последующих методах.

  4. Условие (Condition) — некоторое условие, определяющее дальнейший ход атаки в зависимости от его выполнения.

  5. STIX-объекты в виде двух списков сущностей:

    • STIX Domain Objects — более общий термин, который охватывает широкий спектр структурированных данных о киберугрозах (например, о группировке, ВПО, инструментах).

    • STIX Cyber-observable Objects — представляет собой конкретные наблюдаемые события или объекты в контексте киберугрозы (например, аккаунт, файл, IP-адрес).

Рассмотрим пример на основе ранее представленного сценария.

Диаграмма Attack Flow со сценарием атаки на рабочую станцию
Диаграмма Attack Flow со сценарием атаки на рабочую станцию

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

В редакторе также можно сохранять диаграммы в следующем виде:

{"version":"2.2.7","id":"b400fb0e-d365-4e0f-8230-1031e55fa45e","objects":[{"id":"b400fb0e-d365-4e0f-8230-1031e55fa45e","x":-140,"y":1091,"attrs":0,"template":"flow","children":["4abecec8-0e6b-4899-8ba5-fb9501600ced" ...

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

Плюсы модели:

  1. Интеграция с MITRE ATT&CK и STIX стандартизирует описание различных элементов атаки и их связей с тактиками и техниками атак, упрощая возможное внедрение этого метода в инструменты.

  2. Attack flow наглядно отображает возможную последовательность действий злоумышленника с помощью своих основных элементов, реализуя логику принятия решений как через Condition, так и через логических операторов AND и OR.

Минусы модели:

  1. Для оптимального использования Attack flow необходимо глубокое понимание как самого метода, так и MITRE ATT&CK и STIX.

  2. При моделировании многосоставных атак диаграммы могут быстро стать перегруженными и трудными для интерпретации.

Diamond model

Эта модель была предложена в 2013 году для анализа вторжений с помощью их разбиения на базовые атомарные элементы — события, которые, в свою очередь, состоят из четырех основных компонентов. Это:

  • Злоумышленник — субъект или организация, использующая возможность, чтобы атаковать жертву.

  • Инфраструктура — физические или логические структуры, используемые злоумышленником для реализации возможностей и получения результатов (например, IP-адреса, адреса электронной почты, зараженный USB-накопитель)).

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

  • Жертва — цель злоумышленника, против которой используются уязвимости и связанные с ними возможности.

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

Событие в алмазной модели (источник)
Событие в алмазной модели (источник)

Кроме основных компонентов, в модели также присутствуют и дополнительные:

  • Временная метка — время, когда произошло событие.

  • Фаза атаки — разделение на фазы помогает анализировать и группировать события (фазы берутся из модели Cyber kill chain).

  • Результат — полученные злоумышленником результаты, которые он может использовать в последующих событиях.

  • Направление — направленность события важна при рассмотрении вариантов предотвращения и определения средств для обнаружения атак (например, от жертвы к инфраструктуре, от инфраструктуры к жертве).

  • Методология — описывает общий класс события (например, фишинговая атака, сканирование портов).

  • Ресурсы — содержит список ресурсов, которые требуются для успешной реализации события.

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

Кроме того, модель определяет расширенное событие.

Расширенное событие в алмазной модели (источник)
Расширенное событие в алмазной модели (источник)

Где:

  • Технологии — пара инфраструктура — возможность, соединяющая инфраструктуру и обеспечивающая ее функционирование и коммуникацию (например, если ВПО использует протокол HTTP, то используются следующие технологии: интернет-протокол (IP), гипертекстовый транспортный протокол (HTTP), система доменных имен (DNS)).

  • Социально-политические свойства — пара злоумышленник — жертва, которая подкрепляется социально-политическими потребностями и стремлениями злоумышленника (например, он стремится к получению дохода, признанию в хакерском сообществе, увеличению прибыли бизнеса).

Формально событие представляется в виде кортежа E, в котором хранятся вышеописанные свойства с одним дополнительным — уровнем доверия. Его определение зависит от нужд и спецификаций инфраструктуры.

Анализ события в алмазной модели, начинающийся с жертвы (источник)
Анализ события в алмазной модели, начинающийся с жертвы (источник)

Анализ события происходит путем переходов по связям алмаза. Обычно анализ начинается с жертвы.

Источник

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

После проведения анализа связанные события можно соединить в поток действий для построения возможного сценария атаки. Фазы сценария берутся из ранее рассмотренной модели Cyber kill chain.

Поток действий для сценария атаки на рабочую станцию
Поток действий для сценария атаки на рабочую станцию

Использование фаз kill chain также позволяет вывести возможные противодействия атаке с помощью матрицы плана действий, описанной в методике Cyber kill chain.

Различные потоки действий, в свою очередь, можно соединить в граф активности атак.

Граф активности атак в алмазной модели (источник)
Граф активности атак в алмазной модели (источник)

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

Кроме того, методом формально определяется функция группировки различных событий и потоков действий по совпадающим свойствам (например, по IP-адресу, MD5 приложения, соответствию шаблону действий) в группы активностей.

Функция группировки различных событий и потоков действий в группы активностей (источник)
Функция группировки различных событий и потоков действий в группы активностей (источник)

В отличие от потока действий:

  1. Группы активностей содержат в себе как события, так и потоки действий.

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

Процесс создания групп активности разделяется на шесть шагов:

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

  • Какие события и потоки, скорее всего, проводятся одним и тем же противником?

  • Каковы намерения злоумышленника?

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

  • Выбираются различные основные и дополнительные свойства, по которым происходит группировка (например, IP-адрес, MD5).

  • Выбираются схожие последовательности событий (на примере выше A → B → C).

Шаг 3. На базе выбранных свойств и последовательности событий создаются группы активностей.

Шаг 4. По мере поступления новых событий они классифицируются по группам активностей. 

Шаг 5. Проводится анализ группы активностей для решения аналитических задач, определенных на первом шаге.

Шаг 6. Доработка и изменение группы активности при необходимости.

Плюсы метода:

  1. Формальное описание графов активности, потоков действий и отдельных событий внутри них, что позволяет выстраивать подробные связи.

  2. Описание события с учетом всех сторон и возможных связей между ними.

  3. Формально описанная функция для группировки схожих событий и потоков действий.

Минусы метода:

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

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

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

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

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


  1. Shaman_RSHU
    30.10.2024 15:13

    Монументально. Сделаете следующую статью с практическим примером?


    1. dman708 Автор
      30.10.2024 15:13

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