Модель угроз

Модель угроз (англ. threat modeling) — это процесс, в ходе которого потенциальные угрозы, такие как структурные уязвимости или отсутствие соответствующих средств защиты, выявляются и учитываются, а последующие меры по их противодействию расставляются по приоритетности[1]. Цель построения модели угроз — предоставить защитникам систем систематический анализ необходимых мер защиты с учётом характера системы, вероятного профиля атакующего, наиболее вероятных векторов атак и наиболее ценных для атакующего активов. Моделирование угроз позволяет ответить на вопросы вроде: «Где именно я наиболее уязвим для атаки?», «Какие из угроз наиболее актуальны?» и «Что необходимо сделать для защиты от этих угроз?».

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

Эволюция технологически-ориентированных моделей угроз

Вскоре после появления коллективного доступа к вычислительным ресурсам в начале 1960-х годов, отдельные люди начали искать способы использовать уязвимости систем для собственной выгоды[2]. Инженеры и учёные-компьютерщики вскоре начали разрабатывать концепции моделирования угроз для ИТ-систем.

Ранние методики построения моделей угроз были основаны на концепции архитектурных шаблонов[3], впервые представленной Кристофером Александером в 1977 году. В 1988 году Роберт Барнард разработал и успешно применил первый профиль злоумышленника ИТ-системы.

В 1994 году Эдвард Аморозо предложил концепцию «дерева угроз» в книге «Fundamentals of Computer Security Technology»[4]. Этот подход строился на основе диаграмм деревьев решений и позволял графически отображать способы эксплуатации потенциальных угроз ИТ-системе.

Независимую работу над структурированным графическим представлением сценариев атак вели и Агентство национальной безопасности США, и DARPA; в результате появился термин «деревья атак». В 1998 году Брюс Шнайер опубликовал работу по анализу кибер-рисков с использованием деревьев атак[5]. В этой работе цель атакующего представляется в виде корневой вершины дерева, а потенциальные пути достижения цели — в виде листьев. Такой инструмент позволил системно рассматривать разные векторы атак на заданную цель.

В 1999 году специалисты по информационной безопасности Microsoft Лорен Конфельдер и Праэрит Гарг разработали модель для анализа атак в среде разработки Microsoft Windows. (STRIDE[1], от англ. Spoofing identity, Tampering with data, Repudiation, Information disclosure, Denial of service, Elevation of privilege) — мнемоническое правило, помогающее системно оценивать, как потенциальный злоумышленник может использовать каждую из угроз, входящих в STRIDE.

В 2003 году была предложена методология OCTAVE[6] (Operationally Critical Threat, Asset, and Vulnerability Evaluation), ориентированная на организационное управление рисками.

В 2004 году Фрэнк Свидерски и Виндо Снайдер выпустили книгу «Threat Modeling», в которой развивали идею использования моделей угроз для создания защищённых приложений.

В 2014 году Райан Стиллионс выдвинул идею о необходимости представления киберугроз с различным семантическим уровнем и предложил модель DML (Detection Maturity Level, уровень зрелости обнаружения)[7]. Атака трактуется как конкретизация сценария угрозы: определённый злоумышленник с определённой целью и стратегией. Цели и стратегии составляют высшие уровни DML; далее идут TTP (тактика, техника и процедуры), инструменты, артефакты на хосте и сети (например, пакеты или полезные нагрузки), и самые низкие уровни — атомарные индикаторы, как IP-адреса. Современные системы управления информацией и событиями информационной безопасности (SIEM) чаще работают только с низкоуровневыми индикаторами[8]. Для развития SIEM требуется работа с индикаторами угроз более высоких уровней.

Манифест моделирования угроз

Манифест моделирования угроз — документ, опубликованный в 2020 году признанными экспертами в области построения моделей угроз, в котором сформулированы ключевые ценности и принципы профессии моделировщика угроз[9].

В 2024 году этой же группой был опубликован документ Threat Modeling Capabilities, каталогизирующий возможности и практики максимизации выгоды от моделирования угроз[10].

Методологии моделирования угроз

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

STRIDE

STRIDE был предложен в 1999 году в компании Microsoft как мнемоническое правило, помогающее разработчикам находить «угрозы для наших продуктов»[11]. STRIDE может применяться как простой перечень-подсказка или как основа для формализованной оценки (например, STRIDE per element). STRIDE, Patterns and Practices, а также подход Asset/entry point стали важнейшими подходами, опубликованными Microsoft. Под «методологией Microsoft» часто понимаются STRIDE и диаграммы потоков данных.

PASTA

Процесс имитации атак и анализа угроз (англ. Process for Attack Simulation and Threat Analysis, PASTA) — семиэтапная методика, ориентированная на управление рисками[12]. Она выстраивает процесс согласования бизнес-целей с техническими требованиями, учитывает вопросы комплаенса и организационный анализ. Применение метода позволяет динамично выявлять, конкретизировать и ранжировать угрозы, после чего эксперты по безопасности прорабатывают их детализацию и определяют перечень необходимых средств защиты. Методика ориентирована прежде всего на точки зрения атакующего, но результаты используют для последующей защиты активов.

Гибридная методика моделирования угроз

Исследователи разработали этот подход, чтобы объединить преимущества различных методологий[13][14][15]. Данный метод включает элементы SQUARE[16], Security Cards[17] и Personae Non Gratae[18].

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

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

Визуализация на базе диаграмм потоков данных

undefined

Большинство методик используют диаграммы потоков данных (DFD). DFD были предложены в 1970-х годах для передачи системными инженерами общей структуры приложения: как данные проходят, хранятся и преобразуются инфраструктурой, на которой работает приложение. Обычная DFD использует четыре типа объектов: потоки данных, хранилища данных, процессы и взаимодействующие субъекты (интеракторы). В начале 2000-х годов для нужд моделирования угроз был введён дополнительный элемент — границы доверия, что повысило эффективность DFD.

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

Инструменты для моделирования угроз

  • Бесплатный Threat Modeling Tool от Microsoft (ранее SDL Threat Modeling Tool)[19] реализует методологию Microsoft для моделирования угроз, основан на DFD и определяет угрозы по классификации STRIDE. Ориентирован на широкий круг пользователей.
  • IriusRisk предлагает как бесплатную, так и коммерческую версию инструмента. Позволяет строить, поддерживать и актуализировать модель угроз на протяжении всего жизненного цикла разработки систем (SDLC), использует настраиваемые опросники и библиотеки моделей, интегрируется с другими системами (OWASP ZAP, BDD-Security, Threadfix) для автоматизации[20].
  • securiCAD — инструмент моделирования угроз и управления рисками от скандинавской компании foreseeti[21]. Предназначен как для ИБ-менеджмента на уровне CISO, так и для инженеров и технических специалистов. securiCAD автоматически моделирует атаки на действующую или проектируемую архитектуру предприятия, выявляет и количественно оценивает риски, включая структурные уязвимости, и поддерживает принятие решений на основе результатов моделирования. Доступен как коммерчески, так и в бесплатной версии[22].
  • SD Elements by Security Compass — программная платформа для управления требованиями к безопасности, включающая функции автоматического моделирования угроз. Перечень угроз формируется на основе опросника по техническим деталям приложения и факторам комплаенса; контрмеры предлагаются в виде конкретных задач для разработчиков[23].
  • OWASP Threat Dragon — инструмент для построения диаграмм моделей угроз в рамках защищённого жизненного цикла разработки. Следует принципам и ценностям манифеста моделирования угроз: позволяет фиксировать угрозы и меры по их устранению, визуализирует компоненты и поверхности угроз. Может работать как веб-приложение или как настольное приложение, поддерживает STRIDE / LINDDUN / CIA / DIE / PLOT4ai, реализует автогенерацию угроз и советов по их устранению[24].
  • OWASP pytm — Python-фреймворк для моделирования угроз и первый инструмент класса «моделирование угроз как код»: система описывается на Python с помощью элементов и свойств pytm, после чего автоматически генерируются DFD, диаграммы последовательностей и перечень угроз[25].

Применение за пределами ИТ

Моделирование угроз применяется не только в ИТ, но и в автомобилях[26][27], автоматизации зданий и умном доме[28]. В таких случаях учитываются как угрозы безопасности и приватности (например, раскрытие информации о распорядке жизни, времени работы, состоянии здоровья обитателей), так и физические или сетевые атаки через расширяющиеся возможности авто/зданий (сбор данных с датчиков, отпирание дверей и др.)[28].

Примечания

  1. 1 2 The STRIDE Threat Model (англ.). Microsoft (2016). Дата обращения: 8 июня 2024. Архивировано 3 октября 2017 года.
  2. McMillan, Robert The World's First Computer Password? It Was Useless Too (англ.). Wired Business (2012). Дата обращения: 8 июня 2024. Архивировано 4 мая 2025 года.
  3. Shostack, Adam Threat Modeling: Designing for Security (англ.). John Wiley & Sons Inc: Indianapolis (2014). Дата обращения: 8 июня 2024.
  4. Amoroso, Edward G. Fundamentals of Computer Security Technology : [англ.]. — AT&T Bell Labs. Prentice-Hall: Upper Saddle River, 1994. — ISBN 9780131089297.
  5. Schneier, Bruce Toward A Secure System Engineering Methodology (англ.). National Security Agency: Washington (1998). Дата обращения: 8 июня 2024. Архивировано 30 июня 2016 года.
  6. Alberts, Christopher Introduction to the OCTAVE® Approach (англ.). Software Engineering Institute, Carnegie Mellon: Pittsburgh (2003). Дата обращения: 8 июня 2024. Архивировано 1 апреля 2017 года.
  7. Stillions, Ryan The DML Model (англ.). Ryan Stillions security blog. Ryan Stillions (2014). Дата обращения: 8 июня 2024.
  8. Bromander, Siri Semantic Cyberthreat Modelling (англ.). Semantic Technology for Intelligence, Defence and Security (STIDS 2016) (2016). Дата обращения: 8 июня 2024. Архивировано 20 декабря 2016 года.
  9. Threat Modeling Manifesto (англ.). Дата обращения: 8 июня 2024. Архивировано 28 сентября 2023 года.
  10. Threat Modeling Capabilities (англ.). Дата обращения: 8 июня 2024.
  11. Kohnfelder, Loren; Garg, Praerit Threats to Our Products (англ.). Microsoft. Дата обращения: 8 июня 2024.
  12. Ucedavélez, Tony and Marco M. Morana Risk Centric Threat Modeling: Process for Attack Simulation and Threat Analysis (англ.). John Wiley & Sons: Hobekin (2015). Дата обращения: 8 июня 2024.
  13. The Hybrid Threat Modeling Method (англ.) (22 апреля 2018). Дата обращения: 8 июня 2024. Архивировано 21 октября 2022 года.
  14. A Hybrid Threat Modeling Method (англ.) (27 марта 2018). Дата обращения: 8 июня 2024. Архивировано 21 октября 2022 года.
  15. Tarandach, Izar. Threat Modeling: A Practical Guide for Development Teams : [англ.] / Izar Tarandach, Matthew J. Coles. — O'Reilly Media, Incorporated, 24 ноября 2020. — ISBN 978-1492056553.
  16. Security Quality Requirements Engineering Technical Report (англ.) (31 октября 2005). Дата обращения: 8 июня 2024. Архивировано 21 октября 2022 года.
  17. Home (англ.). securitycards.cs.washington.edu. Дата обращения: 8 июня 2024.
  18. CSDL (англ.). Дата обращения: 8 июня 2024. Архивировано 18 октября 2022 года.
  19. What's New with Microsoft Threat Modeling Tool 2016 (англ.). Microsoft Secure Blog. Microsoft (2015). Дата обращения: 8 июня 2024.
  20. Irius Risk Risk Management Tool (англ.). Continuum Security. Дата обращения: 8 июня 2024. Архивировано 21 февраля 2023 года.
  21. foreseeti - securiCAD (англ.). foreseeti.com. Дата обращения: 8 июня 2024. Архивировано 27 марта 2023 года.
  22. Cyber Threat Modelling and Risk Management - securiCAD by foreseeti (англ.). foreseeti. Дата обращения: 8 июня 2024. Архивировано 8 апреля 2023 года.
  23. SD Elements by Security Compass (англ.). securitycompass.com. Дата обращения: 8 июня 2024. Архивировано 25 марта 2017 года.
  24. OWASP Threat Dragon (англ.). Дата обращения: 8 июня 2024. Архивировано 6 декабря 2023 года.
  25. OWASP pytm (англ.). Дата обращения: 8 июня 2024. Архивировано 6 декабря 2023 года.
  26. Adapting Threat Modeling Methods for the Automotive Industry (англ.). publications.lib.chalmers.se. Chalmers Publication Library. Дата обращения: 8 июня 2024. Архивировано 13 ноября 2018 года.
  27. Hamad, Mohammad; Prevelakis, Vassilis; Nolte, Marcus (ноябрь 2016). “Towards Comprehensive Threat Modeling for Vehicles” (PDF). Institute of Control Engineering. Publications Institute of Computer and Network Engineering [англ.]. DOI:10.24355/dbbs.084-201806251532-0. Дата обращения 2024-06-08. Проверьте дату в |date= (справка на английском)
  28. 1 2 Meyer, D. A threat-model for building and home automation // 2016 IEEE 14th International Conference on Industrial Informatics (INDIN) : [англ.] / D. Meyer, J. Haase, M. Eckert … [et al.]. — 2016-07-01. — P. 860–866. — ISBN 978-1-5090-2870-2. — doi:10.1109/INDIN.2016.7819280.