О подходах к проверке и восстановлению защиты в глубину с использованием графов атак

|О ПОДХОДАХ К ПРОВЕРКЕ И ВОССТАНОВЛЕНИЮ ЗАЩИТЫ В ГЛУБИНУ С ИСПОЛЬЗОВАНИЕМ ГРАФОВ АТАК

Алешин Вячеслав Вячеславович, Москва, МГТУ им. Н.Э. Баумана

В работе рассмотрена стратегия сетевой эшелонированной обороны. Рассмотрены способы подключения межсетевых экранов для защиты критических ресурсов в корпоративных сетях. Рассмотрен инструментарий анализа правил межсетевых экранов. Представлен обзор средства анализа NetSPA. Моделирование на сетях с более чем 50000хостами показало, что этот подход можно удачно перенести на сети корпоративного масштаба.

Ключевые слова: межсетевой экран, эшелонированная оборона, сетевая безопасность.

The strategy of defense in depth network is considered. The overview of analysis tools NetSPA is shown. Modeling networks with over 50,000 hosts demonstrate that this approach can be successfully transferred to the corporate network scale.

Keywords: firewall, defense in depth, network security.

Эшелонированная оборона (defense in depth) - распространенная стратегия, используемая как для защиты критических ресурсов в корпоративных сетях, так и для защиты диспетчерского контроля и сбора данных (SCADA) и других подсетей управления процессами. Она основывается в первую очередь на множестве слоев брандмауэров между защищаемыми системами и интернетом.

Данная статья посвящена изучению возможностей инструмента под названием NetSPA (NETwork Security and Planning Architecture) [1], который проверяет и при необходимости выдвигает предположения, каким образом восстановить защиту в глубину для больших корпоративных сетей. Например, сетевые сканеры уязвимо-стей, такие как Nessus, обнаруживают сотни или тысячи уязвимостей даже в маленьких сетях, но они не показывают, какие из этих уязвимостей позволяют атакующему пройти сквозь сеть для достижения критических ресурсов. Экспертные программы по оценке правил брандмауэров различают общие недостатки конфигурации, такие как правила, позволяющие произвольный доступ входящего трафика к общему серверному порту, но опять же, не показывают, какие из правил разрешают атакующему достигнуть критических ресурсов.

E-mail: tompetrov@yandex.ru

THE APPROACH TO CHECK AND REPAIR THE DEFENSE IN DEPTH USING THE ATTACK GRAPH

Vyacheslav Aleshin, Bauman MSTU E-mail: tompetrov@yandex.ru

УДК 003.26.7 004.9

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

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

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

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

2. Базы данных уязвимостей (такие как NVD, национальная база данных уязвимостей), описывающие условия возникновения и результат использования уязвимостей.

3. Правила брандмауэров (такие как наборы правил Sidewinder), описывающие, каким образом трафик может или не может проходить через фильтрующее устройство.

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

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

Прямой метод анализа достижимости включает в себя заполнение элементов в матрице достижимости. Каждая строка в матрице представляет исходный интерфейс, а каждая колонка - порт назначения.

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

Интерфейсы, находящиеся в одном и том же домене без фильтрации и рассматриваемые одинаково всеми правилами фильтрации, расположены в доменах достижимости с фильтрацией (filtered reachability domains). Такие интерфейсы обладают одинаковой достижимостью к получателям, внешним по отношению к домену достижимости без фильтрации данных интерфейсов.

В большинстве сетей использование доменов достижимости двух типов существенно сокращают требования к вычислительным ресурсам и ресурсам хранения. Если наша сеть, для примера, имеет 200 хостов в каждой подсети с одним открытым портом на каждом, то количество уникальных вхождений в матрице достижимости составляет 400 x 400 = 160 000 (без объединения в домены достижимости). С домена-

О подходах к проверке и восстановлению защиты...

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

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

В статье использовался схожий метод для классификации уязвимостей. Условия и последствия, использованные для уязвимостей, показаны в табл.1. Единственное условие - расположение

Таблица 1

Классификация уязвимостей

Расположение Локальное Использование уязвимости только с самой уязвимой машины.

Удаленное Использование уязвимости удаленно по сети.

Последствие Администратор Администраторский или гсю^уровень к уязвимому хосту.

Пользователь Пользовательский или гостевой доступ к уязвимому хосту.

Другой Нарушение конфиденциальности и/или целостности, например, чтение файлов, порча некоторых файлов, получение информации о версии ПО, запущенного на хосте.

DoS Целевой сервис или хост отключен с отсутствием доступа к хосту.

Всего 215 уязвимостей, найденных в существующих сетях, были сначала проанализированы вручную, чтобы определить их расположения и последствия, а детали были получены из Nessus, базы данных NVD и текстового описания CVE этих уязвимостей. Детали включали значения полей категорий и двоичной информации, используемых Nessus и базой данных NVD для характеристики уязвимостей. Они также включали детали с двоичной информацией, показывающие наличие общих характерных фраз в тексте описания, таких как «execute arbitrary code» («запуск произвольного кода») и «gain system privileges» («получение системных привилегий.

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

УДК 003.26.7 004.9

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

Net SPA был оценен на трех настоящих сетях под руководством и при взаимодействии с системными администраторами этих сетей. Для всех сетей NetSPA потребовалось всего лишь несколько минут для построения предиктивного графа и генерации рекомендаций. Начальные осмотры сети обычно находили уязвимости в 100-1000 компьютерах. Если была доступна информация брандмауэра, NetSPA с помощью автоматического сбора и анализа уязвимостей и информации о конфигурации брандмауэра обнаруживала неизвестные незакрытые критические пути атак. Рекомендации, предоставленные NetSPA, восстановили защиту в глубину путем исправления небольшого количества уязвимостей на проходных хостах, позволявших атакующим проникнуть в сеть.

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

Все эксперименты были проведены на однопроцессорной машине Pentium 4 1.80-GHz с 1024 MB PC133 SDRAM, под управлением Microsoft Windows XP. Все значения времени, указанные здесь, полностью итоговые и включают в себя загрузку базы данных, расчет достижимости, генерацию и анализ графа атак и вывод. Суммарное использование памяти, потребовавшееся NetSPA, не превышало 250 MB.

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

Литература

1. Ingols K. and etc. Validating and Restoring Defense in Depth Using Attack Graphs. MIT Lincoln Laboratory, ACSAC 2009, pp. 1-10.

2. Wool A. A quantitative study of firewall configuration errors // Computer, 2004, Vol. 37, No. 6, pp. 62-67.