
Всем привет! Продолжаем погружение в ИТ‑инфраструктуру глазами хакера. В предыдущей статье мы рассказали про процесс создания графа моделирования киберугроз — цифровой модели инфраструктуры, которая учитывает потенциальные действия злоумышленников, и про алгоритмы, которые рассчитывают возможные маршруты перемещения атакующих внутри системы.
Следующий шаг — это оценка опасности найденных маршрутов. В этом случае, метрика времени атаки — это один из ключевых параметров анализа. Чем меньше времени потенциально требуется для реализации атаки, тем больше вероятность, что средства защиты и ИБ‑специалисты не смогут вовремя обнаружить злоумышленника и остановить взлом. Метрика времени позволяет:
оценить эффективность используемых мер безопасности;
определить, куда инвестировать ресурсы для повышения безопасности и снижения вероятности успешных атак;
разработать планы по улучшению безопасности инфраструктуры, включая меры по предотвращению и обнаружению атак.
Но прежде чем погружаться в тему, уточним некоторые термины:
TTA (time to attack) — время, необходимое хакеру от преодоления периметра до реализации недопустимого события. Под периметром можно понимать как внешние активы компании, доступные из интернета, так и любой узел в инфраструктуре, потенциально доступный злоумышленнику. Это одна из основных метрик для оценки действий злоумышленника в инфраструктуре, которая используется для определения состояния защищенности актива на маршруте хакера. В нашей реализации время рассчитывается как для всего маршрута, так и для каждого отдельного шага на пути атакующего. Чем больше значение, тем более устойчива система к кибератакам.
Недопустимое событие — событие, возникающее в результате действий злоумышленника и делающее невозможным достижение операционных и стратегических целей организации или приводящее к длительному нарушению ее основной деятельности.
Актив недопустимого события — аффилированный с недопустимым событием информационный актив или группа таких активов. К ним мы относим как информационные системы (рабочие станции, серверы и ППО на них), так и учетные записи пользователей.
Сценарий реализации недопустимого события — реализация риска с учетом привилегий атакующего. В графе привилегий реализация недопустимого события выполняется через доступ атакующего к определенному компоненту информационного актива с определенными привилегиями.
Например, для недопустимого события «Потеря (хищение) денежных средств» активами недопустимого события выступают: ? учетные записи казначея и администратора приложения; ? рабочее место казначея и сервер приложения электронного документооборота. Сценариями в этом примере будут пересечения множеств: учетные записи казначея и его рабочего места и администратора с сервером приложения. |
С терминами разобрались, теперь вспомним, какие задачи решает наш продукт для повышения киберустойчивости и зачем ему граф атаки.
Граф, маршруты и общая логика расчета TTA
В любой современной инфраструктуре есть проблемы с безопасностью, которые не следует недооценивать. При защите ИТ‑инфраструктур от кибератак важно иметь как можно больше информации о составе сети и ее недостатках для приоритизации рекомендаций и распределения ресурсов защиты. Эти проблемы можно разделить на две категории: внешние угрозы на периметре и внутренние слабые места, такие как уязвимости ПО, недостатки протоколов, конфликты политик безопасности актива, недостаточная сегментации сети и фильтрации сетевого доступа. Эти уязвимости может использовать злоумышленник для достижения цели атаки — компрометации рискового актива.
Основной задачей MaxPatrol Carbon является — управление маршрутами кибератак (Attack Path Management) и оценка киберустойчивости компании. Метапродукт выполняет расчет потенциальных маршрутов кибератак до рисковых активов и на основе комплексной оценки опасности этих маршрутов — формирует список приоритетных рекомендаций по защите инфраструктуры от наступления недопустимых событий.
Основываясь на информации, полученной от источников данных о топологии сети, активах и уязвимостях на них, рассчитываются граф атаки в инфраструктуре, возможные действия, которые может предпринять злоумышленник, маршруты до активов недопустимых событий и приоритизированные рекомендации для упреждающего решения проблем безопасности. Выполнение рекомендаций MaxPatrol Carbon позволяет исключить для злоумышленника возможность достичь своих целей или, по крайней мере, максимально затруднить их перемещение по инфраструктуре, чтобы служба ИБ смогла вовремя обнаружить и остановить кибератаку.

Граф атак, с нашей точки зрения, — наиболее эффективный из существующих на сегодняшний день методов анализа защищенности ИТ‑инфраструктуры. Специалисты по ИБ, отвечающие за управление активами и рисками, в своей повседневной работе разбирают списки активов в системах управления и инвентаризации, сортируя их и расставляя приоритеты относительно уязвимостей, нагрузки и бизнес‑функций, то есть работают с таблицами и отчетами. Атакующие же оперируют маршрутами атак и своими возможностями в инфраструктуре жертвы. Все узлы в сети связаны отношениями безопасности, и злоумышленник через техники первоначального доступа начинает свою активность в какой‑либо части графа сети. Он перемещается и ищет уязвимые активы на пути к риску.
Самый простой пример: контроллер домена управляется с рабочей станции администратора. Если рабочая станция не защищена так же, как и контроллер домена, то оба актива могут быть скомпрометированы. Любая другая учетная запись с высокими привилегиями на рабочей станции компрометирует учетную запись администратора и далее контроллер домена. Если учетная запись администратора используется для входа на другие активы, кроме контроллера домена, то у злоумышленника появляется дополнительный путь компрометации домена. Ну а самым показательным примером использования графа для анализа векторов атаки является утилита BloodHound.
С точки зрения представления данных граф атак MaxPatrol Carbon перечисляет возможные пути атаки на основе всестороннего анализа конфигурации сети и информации об уязвимостях, помогая защитникам интуитивно понимать взаимосвязь уязвимостей в целевой сети и взаимосвязь между уязвимостями и конфигурацией сетевой безопасности. А его обогащение слоем привилегий пользователей добавляет возможность учесть при моделировании на основе теории логики предикатов еще и предпосылки к реализации конкретной техники атаки или эксплуатации уязвимости, а также ее последствия. В конечном итоге граф преобразуется в цепочки Маркова которые соответствуют всем возможным сценариям успешной атаки.

При таком подходе возможные методы атак с сопоставлением с матрицей MITRE ATT&CK описывают шаги, предпринимаемые злоумышленником для взлома конфиденциальных системных ресурсов, и может быть рассчитана оценка времени (TTA) от начального шага до компрометации активов недопустимого события. Эта оценка, в свою очередь, может использоваться для расчета уровня киберустойчивости систем и инфраструктуры в целом.

Общая формула расчета ТТА маршрута имеет вид:
где:
— общее время, необходимое атакующему для прохождения маршрута;
— время, затраченное атакующим на компрометацию компонента в результате действия на шаге маршрута;
— время разведки, затраченное атакующим на обнаружение актива недопустимого события.
Рассмотрим каждую метрику подробней.
TTA действия
TTA действия — это время, затраченное атакующим на реализацию этого действия в зависимости от его квалификации, и учитывает наличие различных митигаций, то есть мер смягчения политик безопасности операционной системы и средств защиты. Здесь нужно сделать оговорку, так как митигации и рекомендации по харденингу могут увеличивать время атаки (увеличивать необходимые усилия для прохода действия) или полностью исключать возможность выполнения действия при несоблюдении условий. Такие настройки безопасности предлагаются в виде рекомендаций для маршрута.
Для примера рассмотрим два действия:
-
Подключение к компьютеру по протоколу удаленного доступа RDP. Такое действие возможно, если на узле включена служба удаленного доступа, актив доступен по сети по порту протокола и существует учетная запись с необходимыми разрешениями. Давайте опишем это действие в виде предиката УдаленныйВходПоПротоколуRDPсПаролем(a,b,c,d0..d1) с условием (отношением предиката) «по протоколу RDP можно получить доступ к активу a, если на нем включена служба b, а субъект (пользователь) обладает привилегией с и выполняются условия d0..d1».
Такой предикат будет выполняться (являться истинным) при выполнении следующих условий:
на активе a включен удаленный доступ по протоколу RDP (fDenyTSConnections = 1);
субъект обладает привилегией seRemoteInteractiveLogonRight и одновременно у него нет запрещающей привилегии seDenyRemoteInteractiveLogonRight;
выполняются следующие условия: прослушиватель RDP (компонент службы, который отвечает за прослушивание и принятие новых клиентских подключений) включен (fEnableWinStation = 1) и требование проверки смарт‑карты (USB‑токен для двухфакторной аутентификации) отключено (scforceoption = 0), то есть злоумышленнику достаточно знать только пароль от учетной записи пользователя.

В этом сценарии проверка статуса требования смарт‑карты не может выступать в качестве митигации, так как не увеличивает время выполнения действия, а является условием его выполнения. Требование проверки смарт‑карты в этом случае является кандидатом на рекомендацию для актива a. А само время выполнения подключения к активу по протоколу удаленного доступа оценим в среднем в 5 минут. Таким образом, атакующий потратит 5 минут на подключение к активу, а изменение требований к аутентификации и (или) настройка правил сетевого экрана удаляет действие с графа.
Действие доступа к памяти процесса LSASS ПолучениеДанныхИзLSASS(a,c) c условием «на активе a субъект может получить доступ к памяти процесса lsass.exe, если он обладает привилегией с». Действие выполнимо, если на активе субъект обладает повышенными привилегиями — административными или системными (NT AUTHORITY\SYSTEM).

В этом сценарии в отношении предиката нет дополнительных условий истинности, так как наличие митигаций LSA Protection, CredGuard не обеспечивает гарантированную возможность блокирования атаки, а лишь увеличивает время на обход защиты актива и, соответственно, их статус учитывается при расчете итогового TTA действия. Само действие с графа не удаляется. Время действия оценим в те же 5 минут, а модификаторы — в 10 минут. Тогда итоговое время реализации действия при включенных модификаторах составит 25 минут, а без них — 5 минут.
Оценка времени действия
При моделировании нашего графа возможностей хакера время атаки как дискретное значение мы отбросили сразу, так как его практически невозможно объяснить с точки зрения модели квалификации атакующего и оно не будет отображать реальной картины происходящего. Вместо этого при моделировании графа мы использовали элементы теории вероятностей и статистики. Для оценки времени выполнения действий, необходимых для осуществления атаки, и времени преодоления имеющихся средств защиты на активах мы используем законы распределения вероятностей. При этом состояние каждой меры защиты, если она применима для предиката, имеет логическое представление: «включена» или «выключена». Такой подход позволяет получить результат количественного моделирования метрики ТТА.
Каждое атакующее действие мы преобразуем в определенное распределение вероятности с параметрами, указывающими, что время, необходимое для выполнения атаки, соответствует определенному распределению вероятности, которое наиболее близко подходит под логику атакующего действия.
Используемые функции распределения, которые выражают необходимое время реализации действия, включают экспоненциальное распределение, гамма‑распределение и распределения Рэлея. В дальнейшем при необходимости этот список может быть расширен и дополнен новыми типами. Например, если время, необходимое для выполнения шага атаки, равно дней, то мы выражаем это с помощью экспоненциального распределения с параметром
, то есть:
-
Действия атакующего, которые не требуют много времени на реализацию и укладываются в диапазоны часов или минут: перемещение внутри периметра, повышение привилегий. Такие действия мы оцениваем как процессы с небольшой определенностью (коэффициент распределения соответствует математическому ожиданию в часах): распределение Рэлея, гамма‑распределение. Например, функция распределения Рэлея с коэффициентом, соответствующим 5 минутам.
-
Действия атакующего, сильно растянутые по времени (эксплуатация уязвимостей, перебор паролей), оцениваем как процессы с большой неопределенностью (коэффициент распределения обратно пропорционален матожиданию в часах): экспоненциальное распределение. Например, функция экспоненциального распределения с коэффициентом, соответствующим одному событию в течение 72 часов, характерным для атаки с перебором пароля.
Оценку времени каждого действия мы формируем исходя из категории действия и его сопоставления с матрицей MITRE ATT&CK и данными нашей аналитики. Вот список наиболее интересных для нас тактик и техник, которые позволяют атакующему перемещаться по графу и компрометировать учетные записи и активы инфраструктуры:
Тактика |
Техника |
Initial Access (TA0001) |
Valid Accounts (T1078) |
External Remote Services (T1133) | |
Exploit Public‑Facing Application (T1190) | |
Lateral Movement (TA0008) |
Remote Services (T1021) |
Use Alternate Authentication Material (T1550) | |
Lateral Tool Transfer (T1570) | |
Privilege Escalation (TA0004 ) |
Scheduled Task/Job (T1053) |
Process Injection (T1055) | |
Exploitation for Privilege Escalation (T1068) | |
Account Manipulation (T1098) | |
Access Token Manipulation (T1134) | |
Abuse Elevation Control Mechanism (T1548) | |
Hijack Execution Flow (T1574) | |
Credential Access (TA0006) |
OS Credential Dumping (T1003) |
Input Capture (T1056) | |
Brute Force (T1110) | |
Multi‑Factor Authentication Interception (T1111) | |
Forced Authentication (T1187) | |
Exploitation for Credential Access (T1212) | |
Steal Web Session Cookie (T1539) | |
Unsecured Credentials (T1552) | |
Credentials from Password Stores (T1555) | |
Adversary‑in‑the‑Middle (T1557) | |
Steal or Forge Kerberos Tickets (T1558) | |
Forge Web Credentials (T1606) | |
Steal or Forge Authentication Certificates (T1649) |
На основе аналитических данных и нашей экспертизы мы классифицируем атакующие действия по:
Их характеру. Например, выполнение полезной нагрузки мы оцениваем как мгновенное по времени действие (временем выполнения скрипта в рамках всей шкалы времени атаки можно пренебречь), а атака через перебор паролей учетных записей (brute force) является сильно растянутой по времени.
Времени, необходимому для выполнения шага атаки.
Возможным методам митигаций шага атаки и вероятности его успешного выполнения при наличии этих митигаций.
ТТА эксплуатации уязвимости
Действия, связанные с эксплуатацией уязвимостей, стоят особняком от общего числа атакующих действий и требуют немного другого подхода к оценке времени реализации таких шагов.

TTA таких действий зависит от характера уязвимости, ее популярности и наличия эксплойта. Время выполнения эксплуатации моделируется как случайный процесс:
Первый сценарий. У компонента (операционной системы или приложения) есть уязвимость, позволяющая его скомпрометировать. Эксплойт существует, но его по умолчанию нет у злоумышленника. Сценарий моделирует ситуацию, когда атакующий определяет уязвимость на активе, но ему нужно потратить время на поиск POC эксплойта и его программирование. Мы классифицируем это как действие с большой неопределенностью, а время реализации шага считаем равным примерно 4 часам.
Второй сценарий. У компонента есть уязвимость, но у злоумышленника нет готового эксплойта. Сценарий моделирует ситуацию, когда злоумышленник вынужден затратить существенное количество времени на изучение и разработку эксплойта самостоятельно. Это действие с большой неопределенностью. Время, необходимое на разработку эксплойта и его выполнение, в зависимости от квалификации атакующего, оцениваем в среднем в три недели.
Третий сценарий. Этот сценарий является граничным случаем первого. У актива есть уязвимость, а у злоумышленника — эксплойт. Пример сценария — цепочка уязвимостей ProxyShell (CVE-2021–34 473, CVE-2021–34 523, CVE-2021–31 207) для Microsoft Exchange. Это действие с небольшой неопределенностью, а время укладывается в среднем в десятки минут.
Для вычисления значения метрики используются данные, полученные от нашей системы управления уязвимостями MaxPatrol VM. Расчет основывается на значениях общей системы оценки уязвимостей (CVSS), а временная метрика используется для оценки зрелости эксплойта.
Значение метрики |
Описание |
Не определено (X) |
Эксплойт уязвимости не определен или по нему нет данных |
Высокий (H) |
Существует функциональный автономный код или эксплойт. Эта информация широко доступна |
Функциональный (F) |
Доступен функциональный код эксплойта. Код работает в большинстве ситуаций, когда существует уязвимость |
Проверка концепции (P) |
Доступен код эксплойта, подтверждающий концепцию, или демонстрация атаки нецелесообразна для большинства систем. Код или метод неработоспособны во всех ситуациях и могут потребовать существенной модификации опытным злоумышленником |
Не доказано (U) |
Код эксплойта недоступен или эксплойт является теоретическим |
Если на маршруте встречается одна и та же уязвимость без известного эксплойта (сценарий 2), то мы считаем, что эксплойт разрабатывается только на первом шаге и далее ТТА оценивается по первому сценарию.
ТТА разведки
Время, которое атакующий затрачивает на проведение разведки (), мы рассчитываем в рамках каждого сценария недопустимого события. То есть для всех маршрутов сценария используется однажды рассчитанный коэффициент. Значение параметра определяется относительно сценариев:
-
принадлежности рискового актива тому или иному домену LDAP. В этом случае для сценария недопустимого события рассчитывается минимальный маршрут доступа к каталогу LDAP, плюс время на проведение разведки в каталоге (~1 час):
-
если рисковый актив не принадлежит каталогу LDAP, время разведки рассчитывается так:
Вместо заключения
В статье я рассказал про основные моменты моделирования, использующиеся при расчете графа атаки в MaxPatrol Carbon, и про расчет одной из основных метрик оценки опасности действий и маршрутов — времени, необходимого для компрометации компонента системы, который доступен злоумышленнику. Время для компрометации моделируется относительно тактики и техники конкретного действия, учитывает время на обнаружение в сети уязвимого или доступного компонента. Сама метрика используется как часть методологии оценки рисков для инфраструктуры и поддерживает динамический расчет киберустойчивости относительно имеющихся средств защиты и их статуса.
Уровень абстракции нашего способа оценки ТТА достаточно велик, чтобы оценить множество различных сценариев эксплуатации уязвимостей, и в то же время достаточно подробен, чтобы предоставить полезную информацию о степени защищенности активов. Метод также предоставляет механизм количественной оценки, который вписывается в общую методологию оценки активов и приоритизации рекомендаций для них. Подробней про скоринговую модель и ее архитектуру мы расскажем в следующих статьях.
Сергей Карташев
Руководитель группы экспертизы метапродукта MaxPatrol Carbon