Визуализация векторов атак и топологии защищаемой сети

Топология SecOps

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

Cisco Prime строит топологию сети
Cisco Prime строит топологию сети

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

Визуализация вектора атаки
Визуализация вектора атаки

И такие решения стали появляться. Например, служба ИБ Cisco начала использовать решение компании RedSeal (в России недоступно), которое позволяло:

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

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

Подсчет числа пострадавших узлов в RedSeal
Подсчет числа пострадавших узлов в RedSeal

Однако RedSeal показывал все уязвимые узлы и доступные с них активы, особо не приоритизируя их, что в крупной инфраструктуре мешало выстраивать мероприятия по ИБ. В итоге, задача часто сводилась к тому, чтобы выявить все уязвимые узлы в DMZ и прорисовать возможные пути проникновения с них во внутреннюю сеть, используя данные об уязвимостях и конфигурации сетевого оборудования. Хотя вроде сейчас у них появился скоринг на базе ряда атрибутов (критичность уязвимости и ценность актива).

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

Визуализация возможного пути движения злоумышленника в Skybox
Визуализация возможного пути движения злоумышленника в Skybox

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

Подсчет числа шагов на пути движения злоумышленника в Skybox
Подсчет числа шагов на пути движения злоумышленника в Skybox

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

Визуализация пути атак в Picus Security
Визуализация пути атак в Picus Security

Иногда, правда, стремление к визуализации переходит все границы и затмевает собой реальную пользу от нее. Например, решение от XM Cyber я не понял 🙁

Визуализация вектора атаки в XM Cyber
Визуализация вектора атаки в XM Cyber

Но какой бы вариант визуализации не использовался, мы столкнемся со сложностью и масштабностью современной инфраструктуры. Число событий ИБ может измеряться миллионами и миллиардами. Я уже не раз приводил статистику по числу событий, которые фиксируются ежедневно внутри инфраструктуры Cisco. Это 1,2 триллиона (!) событий. В инфраструктуре Positive Technologies во время проходивших недавно реальных киберучений число событий составило около 1 миллиарда в сутки. Связывать их воедино — задача нетривиальная. Поэтому разрабатываемое нами решение PT O2 фокусируется не на атомарных событиях ИБ, а на недопустимых, то есть том, что реально наносит ущерб бизнесу компании (а таких событий на порядки меньше). Обратите внимание на скриншот — пути движения злоумышленника в O2 схожи с тем, что есть в других решениях, но они оцениваются в контексте реализации недопустимых событий (в данном случае — кража денег).

Визуализация пути нарушителя в PT O2
Визуализация пути нарушителя в PT O2

Такие визуализация обычно строятся на базе теории графов (ну мне так видится, как прикладному математику), в которых в качестве вершин выбираются, как правило, узлы инфраструктуры (сам граф при этом должен быть, как минимум, ориентированным). В некоторых случаях, например, так происходит в PT O2, вершинами могут быть и иные интересные для хакеров цели, например, учетные записи пользователей. И вот тут возникает вопрос — а что описывает ветви/ребра графа? CVSS? Очевидный вариант, но далеко не единственный; особенно учитывая наличие разных систем приоритизации уязвимостей. Можно оценивать ребра по публичности данных об уязвимости, встречаемости в дикой природе или активности использования (например, по списку CISA), по сложности перехода из вершины в вершину, по его стоимости и т.п.

Построение цепочек действий злоумышленников в PT O2
Построение цепочек действий злоумышленников в PT O2

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

Частота сканирования доступных из Интернета активов
Частота сканирования доступных из Интернета активов

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

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

Оцените статью
Бизнес без опасности
Есть что добавить? Добавьте!

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

  1. Алексей

    Ещё можно отметить возможность применения информационных карт (http://www.techbook.ru/book.php?id_book=1225) для визуализации не только компьютерных сетей и информационных ресурсов предприятия, но и с целью визуализации архитектуры программного обеспечения в интересах его анализа. Информационные карты как раз позволяют решить вопросы «перегруженности» графа для больших сетей

    Ответить
    1. Алексей Лукацкий автор

      Мне кажется информационные карты достаточно статичны именно для решения оперативных задач ИБ. Нет? Одно дело отобразить архитектуру (не меняется годами), инфраструктуру (сегменты тоже не меняются годами) и совсем другое — показать постоянно меняющуюся картину уязвимостей и атак

      Ответить
      1. Алексей

        Динамику можно представить несколькими путями.

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

        Второй путь — динамика в отображении различных объектов на базе ландшафта информационной карты. Например, для различных показателей компрометации могут быть выработаны собственные композиционные пиктограммы (подобно компьютерным играм, где есть иконки артефактов с числовыми характеристиками), которые привязываются к ландшафту в соответствии с логикой и назначением. Подобная идея в данной статье показана на рис. «RedSeal…» где от коммутатора расходятся лучи. Но вместо коммутатора и лучей будут композиционные пиктограммы с привязкой к ландшафту с помощью линий. Их отображение можно динамически автоматизировать, чтобы они показывали ситуацию в режиме реального времени

        Ответить
      2. Алексей

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

        Ответить