19.06.2014

Модель угроз: от статической к динамической

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

В таком виде модель угроз очень похожа на список конфиденциальной информации. Список нужный, но на практике работать с ним сложно - он не конкретен в конкретной организации :-) Допустим, в модели угроз упомянуто использование уязвимостей. Каких? Где? На каких узлах? А если у меня стоит IPS, препятствующая их использованию?

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


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


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


В идеале, наша задача увидеть вот такую картину:


Но тут встает другая проблема. Сеть меняется очень активно. Бизнесу может потребоваться запустить новый сервис, открыть какие-то порты или разрешить протоколы на сетевом оборудовании или межсетевом экране. Мы должны заранее оценить, как изменится модель угроз в этом случае. Выглядеть это может так (опять без средства автоматизации не обойтись):


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


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

Ниже другой пример - моделирование угроз пост-фактум. В данном примере мы отслеживаем попадание угрозы внутрь сети и пытаемся проанализировать, какие узлы у нас попали "под раздачу"?


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


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

Правда на практике модель угроз обычно ограничивается только первым уровнем - простым перечнем угроз, который нередко делается "для галочки" или при построении системы защиты. Динамические модели угроз не так развиты. Отчасти из-за консервативного отношения к этому процессу, отчасти из-за отсутствия достаточного количества доступных средств автоматизации этого процесса. Кстати, о средствах автоматизации. Последние два скриншота принадлежат системе Cisco Advanced Malware Protection и ее функциональности File Trajectory, а первые шесть снимков экрана сняты с системы RedSeal.

9 коммент.:

Сергей Борисов комментирует...

Крутые графики.

Я правильно понимаю что это касается только сетевых атак и связанных с ними угроз?
Судя по тому что все векторы из ДМЗ, не учитываются BYOD и возможность начать атаку из АРМ с воткнутой флешкой

Michael комментирует...

ИМХО (из опыта работы в иностранных банках и внедрения СТО БР): кроме модели угроз есть еще перечень рисков ИБ, по которым ведется постоянная работа (выявление, оценка, переоценка, принятие, минимизация и т.п.). Вот тут-то и кроется динамическая часть.

Все-таки, модель угроз - достаточно высокоуровневое описание и оно хорошо в таком виде.

ЗЫ. Обращаю внимание, я написал "рисков", а не "уязвимостей"

Михаил Новокрещенов комментирует...

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

Alexey Kachalin комментирует...

Наблюдаю подобный арт уже многомного лет и даже сам грешен в попытках рисовать. За 15 лет мысль в этой области (а также применимость в реальной работе) не сдвинулась...

А картинки клёвые. Ими ещё кротовыеноры можно рисовать

Алексей Лукацкий комментирует...

Сергей, Михаил: Не только. Это одна из иллюстраций. Касается только ДМЗ. BYOD тоже через ДМЗ пойдет. Если вопрос касается учета или неучета прикладных атак, то они тоже могут учитываться.

Михаил: Я не ставил задачи описать все возможные варианты и примеры софта. Тот же Skybox я не упоминал :-) Я хотел показать, что модель угроз должна быть динамичной, а не создаваемой один раз и навсегда.

Michael: Всегда считал, что риски - это более высокоуровневая субстанция, чем угрозы. Тот же СТО именно так трактует :-)

Алексей: А мы не только рисуем, но и используем в работе :-) RedSeal в нашей сетке на несколько сотен тысяч узлов сильно облегчил автоматизацию данной задачи.

Michael комментирует...

Модель угроз должна быть более статична, чем сами угрозы.

Если это не так, то смысл модели пропадает... Выберемся как-нибудь, за нас "та железка" все сделает :-)

Ronin комментирует...

Для чего в итоге используется МУ? Наверное, для оценки рисков. То есть, для совокупностей (как минимум) актив-вероятность(угроза-уязвимость-нарушитель) даются оценки, чтобы понять что нужно закрывать, приоритетность, планировать деятельность, финансирование, оценивать эффективность и т.д.
И что, такие низкоуровневые модели могут помочь сделать это эффективнее или скорее внесут сложности и сумятицу, потому что все эти вектора/угрозы/уязвимости сопоставить будет невозможно? Полностью автоматизировать все нереально, нужна работа экспертов, внесение показателей, весов, расстановка активов и т.д., а в таком огромном количестве факторов это будет сделать, мягко говоря, затруднительно. Если есть опыт проведения оценки рисков реальный, то это должно быть очевидно. Да, для получения части оценок для МУ такие вещи нужны и полезны, но называть красивые графы, отражающие потенциальные каналы атак и реализации угроз моделью угроз как-то странно на мой взгляд.

Ну а если эти ссылки и графики просто для красоты были, а основная цель материала - показать изменчивость среды и необходимость регулярного пересмотра МУ, то да, все верно. Но разве это секрет? :)

Евгений Родыгин комментирует...

Эх, если бы такие средства коррелировали между собой. С одной стороны приятно: нашлась уязвимость - тут же модель, решение о закрытии уязвимости или изменении маршрута, локализации, снова оценка модели. Но тут как учесть изменение маршрута с бизнес процессами? Тут и идет линия раздела между средством анализа защищенности с элементами моделирования и высокоуровневой моделью угроз, затрагивающей бизнес интересы. Определяющей ключевые риски, на которые ответить такая динамическая "МУ" никак не может. "Классическая МУ" для того и существует, чтобы мосты наводить между бизнес-интересами и технологиями. Она тоже может быть с динамическими элементами, но скорости у них очень разные... Показанное Алексеем - доли секунд, классическая МУ - месяцы... Но все таки низкоуровневое определяет рамки для низкоуровневого...

doom комментирует...

В западных источника очень активно муссируются темы Survivability analysis, misuse case diagram, threat modelling и attack tree - но вот с инструментами все равно плохо как-то :(
Все, что видел - то же визио, только специализированное.

Так что рады бы и у нас применять (тот же Survivability analysis достаточно универсален - его использовали, например, для моделирования угроз в SmartGRID в США, на основе чего потом предлагались типовые меры по защите), да с автоматизацией действительно проблема :(


А по поводу подобного моделирования и анализа комплексных атак, стоит заметить, что есть и отечественные разработки - конкретно не назову, но на СОПКА-2014 был минимум один доклад на эту тему.