Введение
Процесс выявления структурных уязвимостей
Threat modeling is a process by which potential threats, such as structural vulnerabilities or the absence of appropriate safeguards, can be identified and enumerated, and countermeasures prioritized. As a result, engineers and computer scientists soon began developing threat modeling concepts for information technology systems. Early technology centered threat modeling methodologies were based on the concept of architectural patterns first presented by Christopher Alexander in 1977. In 1988 Robert Barnard developed and successfully applied the first profile for an IT system attacker. In 1994, Edward Amoroso put forth the concept of a "threat tree" in his book, "Fundamentals of Computer Security Technology." The concept of a threat tree was based on decision tree diagrams. Threat trees graphically represent how a potential threat to an IT system can be exploited. Independently, similar work was conducted by the NSA and DARPA on a structured graphical representation of how specific attacks against IT systems could be executed. The resulting representation was called "attack trees." In 1998 Bruce Schneier published his analysis of cyber risks utilizing attack trees in his paper entitled "Toward a Secure System Engineering Methodology". The paper proved to be a seminal contribution in the evolution of threat modeling for IT systems. In Schneier's analysis, the attacker's goal is represented as a "root node," with the potential means of reaching the goal represented as "leaf nodes." Utilizing the attack tree in this way allowed cybersecurity professionals to systematically consider multiple attack vectors against any defined target. In 1999, Microsoft cybersecurity professionals Loren Kohnfelder and Praerit Garg developed a model for considering attacks relevant to the Microsoft Windows development environment. (STRIDE is an acrostic for: Spoofing identity, Tampering with data, Repudiation, Information disclosure, Denial of service, Elevation of privilege) The resultant mnemonic helps security professionals systematically determine how a potential attacker could utilize any threat included in STRIDE. In 2003, OCTAVE (Operationally Critical Threat, Asset, and Vulnerability Evaluation) method, an operations centric threat modeling methodology, was introduced with a focus on organizational risk management. In 2004, Frank Swiderski and Window Snyder wrote "Threat Modeling," published by Microsoft press. In it they developed the concept of using threat models to create secure applications. In 2014, Ryan Stillions expressed the idea that cyber threats should be expressed with different semantic levels, and proposed the DML (Detection Maturity Level) model. An attack is an instantiation of a threat scenario which is caused by a specific attacker with a specific goal in mind and a strategy for reaching that goal. The goal and strategy represent the highest semantic levels of the DML model. This is followed by the TTP (Tactics, Techniques and Procedures) which represent intermediate semantic levels. The lowest semantic levels of the DML model are the tools used by the attacker, host and observed network artifacts such as packets and payloads, and finally atomic indicators such as IP addresses at the lowest semantic level. Current SIEM (Security Information and Event Management) tools typically only provide indicators at the lowest semantic levels. There is therefore a need to develop SIEM tools that can provide threat indicators at higher semantic levels.
Моделирование угроз – это процесс, посредством которого могут быть выявлены и перечислены потенциальные угрозы, такие как структурные уязвимости или отсутствие соответствующих мер защиты, и определены приоритеты контрмер. В результате инженеры и ученые в области компьютерных наук вскоре начали разрабатывать концепции моделирования угроз для информационных технологий. Ранние методологии моделирования угроз, ориентированные на технологии, были основаны на концепции архитектурных паттернов, впервые представленной Кристофером Александром в 1977 году. В 1988 году Роберт Барнард разработал и успешно применил первый профиль атакующего ИТ-системы. В 1994 году Эдвард Аморозо выдвинул концепцию «дерева угроз» в своей книге «Основы технологии компьютерной безопасности». Концепция дерева угроз была основана на диаграммах деревьев решений. Деревья угроз графически отображают, как потенциальная угроза для ИТ-системы может быть эксплуатирована. Параллельно, аналогичная работа проводилась АНБ и DARPA над структурированным графическим представлением того, как могут быть осуществлены конкретные атаки на ИТ-системы. Полученное представление получило название «деревья атак». В 1998 году Брюс Шнайер опубликовал свой анализ киберрисков с использованием деревьев атак в своей статье под названием «К безопасной методологии системной инженерии». Эта работа оказалась основополагающим вкладом в развитие моделирования угроз для ИТ-систем. В анализе Шнайера цель атакующего представлена как «корневой узел», а потенциальные способы достижения цели – как «конечные узлы». Использование дерева атак таким образом позволило специалистам по кибербезопасности систематически рассматривать множество векторов атак против любой заданной цели. В 1999 году специалисты Microsoft по кибербезопасности Лорен Конфелдер и Праерит Гарг разработали модель для анализа атак, актуальных для среды разработки Microsoft Windows. (STRIDE – это акроним для: Spoofing identity, Tampering with data, Repudiation, Information disclosure, Denial of service, Elevation of privilege). Полученная мнемоническая подсказка помогает специалистам по безопасности систематически определять, как потенциальный злоумышленник может использовать любую угрозу, включенную в STRIDE. В 2003 году был представлен метод OCTAVE (Operationally Critical Threat, Asset, and Vulnerability Evaluation) – методология моделирования угроз, ориентированная на операционную деятельность, с акцентом на организационный риск-менеджмент. В 2004 году Фрэнк Свидерски и Виндоу Снайдер написали книгу «Моделирование угроз», изданную Microsoft Press. В ней они развили концепцию использования моделей угроз для создания безопасных приложений. В 2014 году Райан Стиллионс предложил, что киберугрозы следует выражать на различных семантических уровнях, и предложил модель DML (Detection Maturity Level). Атака – это реализация сценария угрозы, вызванная конкретным злоумышленником с определенной целью и стратегией ее достижения. Цель и стратегия представляют собой высшие семантические уровни модели DML. Далее следуют TTP (Тактики, Техники и Процедуры), представляющие собой промежуточные семантические уровни. Самые низкие семантические уровни модели DML – это инструменты, используемые атакующим, хост и наблюдаемые сетевые артефакты, такие как пакеты и полезные данные, и, наконец, атомарные индикаторы, такие как IP-адреса, на самом низком семантическом уровне. Современные инструменты SIEM (Security Information and Event Management) обычно предоставляют индикаторы только на самых низких семантических уровнях. Следовательно, существует необходимость в разработке инструментов SIEM, которые могут предоставлять индикаторы угроз на более высоких семантических уровнях.
Threat modeling is a process by which potential threats, such as structural vulnerabilities or the absence of appropriate safeguards, can be identified and enumerated, and countermeasures prioritized. As a result, engineers and computer scientists soon began developing threat modeling concepts for information technology systems. Early technology centered threat modeling methodologies were based on the concept of architectural patterns first presented by Christopher Alexander in 1977. In 1988 Robert Barnard developed and successfully applied the first profile for an IT system attacker. In 1994, Edward Amoroso put forth the concept of a "threat tree" in his book, "Fundamentals of Computer Security Technology." The concept of a threat tree was based on decision tree diagrams. Threat trees graphically represent how a potential threat to an IT system can be exploited. Independently, similar work was conducted by the NSA and DARPA on a structured graphical representation of how specific attacks against IT systems could be executed. The resulting representation was called "attack trees." In 1998 Bruce Schneier published his analysis of cyber risks utilizing attack trees in his paper entitled "Toward a Secure System Engineering Methodology". The paper proved to be a seminal contribution in the evolution of threat modeling for IT systems. In Schneier's analysis, the attacker's goal is represented as a "root node," with the potential means of reaching the goal represented as "leaf nodes." Utilizing the attack tree in this way allowed cybersecurity professionals to systematically consider multiple attack vectors against any defined target. In 1999, Microsoft cybersecurity professionals Loren Kohnfelder and Praerit Garg developed a model for considering attacks relevant to the Microsoft Windows development environment. (STRIDE is an acrostic for: Spoofing identity, Tampering with data, Repudiation, Information disclosure, Denial of service, Elevation of privilege) The resultant mnemonic helps security professionals systematically determine how a potential attacker could utilize any threat included in STRIDE. In 2003, OCTAVE (Operationally Critical Threat, Asset, and Vulnerability Evaluation) method, an operations centric threat modeling methodology, was introduced with a focus on organizational risk management. In 2004, Frank Swiderski and Window Snyder wrote "Threat Modeling," published by Microsoft press. In it they developed the concept of using threat models to create secure applications. In 2014, Ryan Stillions expressed the idea that cyber threats should be expressed with different semantic levels, and proposed the DML (Detection Maturity Level) model. An attack is an instantiation of a threat scenario which is caused by a specific attacker with a specific goal in mind and a strategy for reaching that goal. The goal and strategy represent the highest semantic levels of the DML model. This is followed by the TTP (Tactics, Techniques and Procedures) which represent intermediate semantic levels. The lowest semantic levels of the DML model are the tools used by the attacker, host and observed network artifacts such as packets and payloads, and finally atomic indicators such as IP addresses at the lowest semantic level. Current SIEM (Security Information and Event Management) tools typically only provide indicators at the lowest semantic levels. There is therefore a need to develop SIEM tools that can provide threat indicators at higher semantic levels.
Манифест моделирования угроз
Манифест моделирования угроз – это документ, опубликованный в 2020 году экспертами в области моделирования угроз, чтобы чётко сформулировать основные ценности и принципы, которые должен знать и придерживаться каждый специалист по моделированию угроз. В 2024 году та же группа авторов дополнила Манифест документом "Возможности моделирования угроз", который "предоставляет каталог возможностей, помогающих извлекать пользу из практики моделирования угроз".
Фреймворки моделирования угроз
Концептуально, практика моделирования угроз основывается на методологии. Существует множество методологий моделирования угроз, доступных для реализации. Как правило, моделирование угроз выполняется одним из пяти подходов независимо: ориентированный на активы, ориентированный на злоумышленника, ориентированный на программное обеспечение, ориентированный на ценности и заинтересованные стороны, а также гибридный. Судя по объему опубликованной информации в сети, наиболее известны методологии, описанные ниже.
СТРИД
STRIDE был разработан в 1999 году в Microsoft как мнемоническое правило, помогающее разработчикам выявлять "угрозы для наших продуктов". STRIDE можно использовать как простое руководство или контрольный список, а также в более структурированных подходах, таких как STRIDE для каждого элемента. STRIDE, Patterns & Practices и анализ активов/точек входа были одними из подходов к моделированию угроз, разработанных и опубликованных Microsoft. Под "методологией" Microsoft обычно подразумевают STRIDE и диаграммы потоков данных.
Паста
Процесс моделирования атак и анализа угроз (PASTA) — это семиэтапная методология, ориентированная на риск. Она предоставляет семиэтапный процесс для согласования бизнес-целей и технических требований с учетом требований соответствия и бизнес-анализа. Цель данной методологии — обеспечить динамическую идентификацию, перечисление и оценку угроз. После завершения модели угроз эксперты в области безопасности разрабатывают детальный анализ выявленных угроз. В конечном итоге, определяются соответствующие средства защиты. Эта методология предназначена для обеспечения взгляда на приложение и инфраструктуру с точки зрения атакующего, что позволяет специалистам по защите разработать стратегию смягчения последствий, ориентированную на активы.
Трико
Основная цель методологии Trike – использование моделей угроз как инструмента управления рисками. В рамках этой методологии модели угроз применяются для выполнения процесса аудита безопасности. Модели угроз строятся на основе "модели требований". Модель требований определяет установленный заинтересованными сторонами "приемлемый" уровень риска для каждого класса активов. Анализ модели требований позволяет получить модель угроз, из которой выявляются угрозы и им присваиваются значения риска. Завершенная модель угроз используется для построения модели риска, основанной на активах, ролях, действиях и рассчитанном уровне воздействия риска.
Огромный
Методология Visual, Agile and Simple Threat (VAST) основана на ThreatModeler – коммерческой автоматизированной платформе для моделирования угроз. VAST предполагает создание двух типов моделей: моделей угроз приложений и моделей угроз операционной среды. Модели угроз приложений используют диаграммы потоков данных, отражающие архитектурную точку зрения. Модели угроз операционной среды создаются с точки зрения атакующего на основе DFD. Такой подход позволяет интегрировать VAST в циклы разработки и DevOps организации.
Метод моделирования угроз "гибридный"
Исследователи разработали этот метод, чтобы объединить сильные стороны различных методологий. Данная методология объединяет различные подходы, включая SQUARE, карты безопасности и Personae Non Gratae.
Общепринятые технологические процессы моделирования угроз
Все процессы моделирования угроз в сфере ИТ начинаются с создания визуального представления анализируемого приложения и/или инфраструктуры. Приложение/инфраструктура декомпозируется на отдельные элементы для облегчения анализа. После завершения визуальное представление используется для идентификации и перечисления потенциальных угроз. Дальнейший анализ модели с точки зрения рисков, связанных с выявленными угрозами, приоритизации угроз и определения соответствующих мер по снижению рисков зависит от методологической основы используемого процесса моделирования угроз. Подходы к моделированию угроз могут быть ориентированы на анализируемую систему, злоумышленников или активы.
Визуальные представления на основе диаграмм потоков данных
Большинство подходов к моделированию угроз используют диаграммы потоков данных (DFD). DFD были разработаны в 1970-х годах как инструмент для системных инженеров, позволяющий на высоком уровне обмениваться информацией о том, как приложение обеспечивает перемещение, хранение и обработку данных инфраструктурой, на которой оно работает. Традиционно DFD используют только четыре уникальных символа: потоки данных, хранилища данных, процессы и внешние сущности. В начале 2000-х годов был добавлен дополнительный символ – границы доверия – для повышения эффективности DFD при моделировании угроз. После декомпозиции системы инфраструктуры приложения на пять элементов, специалисты по безопасности рассматривают каждую выявленную точку входа угрозы в контексте всех известных категорий угроз. После определения потенциальных угроз можно перечислить меры по снижению рисков или провести дополнительный анализ.
Инструменты моделирования угроз
Бесплатный инструмент моделирования угроз Microsoft (ранее SDL Threat Modeling Tool) также использует методологию моделирования угроз Microsoft, основан на DFD и определяет угрозы на основе системы классификации угроз STRIDE. Он предназначен главным образом для общего использования. IriusRisk предоставляет как версию для сообщества, так и коммерческую версию инструмента. Этот инструмент ориентирован на создание и поддержание актуальной модели угроз на протяжении всего SDLC. Он управляет процессом с помощью полностью настраиваемых опросников и библиотек моделей рисков, а также подключается к различным другим инструментам (OWASP ZAP, BDD Security, Threadfix) для обеспечения автоматизации. securiCAD — это инструмент моделирования угроз и управления рисками от скандинавской компании foreseeti. Он предназначен для управления кибербезопасностью предприятий, от CISO до инженера по безопасности, включая технических специалистов. securiCAD выполняет автоматизированные симуляции атак на текущие и будущие ИТ-архитектуры, выявляет и количественно оценивает риски в глобальном масштабе, включая структурные уязвимости, и предоставляет поддержку принятия решений на основе результатов. securiCAD доступен в коммерческих и общественных версиях. SD Elements by Security Compass — это платформа управления требованиями к безопасности программного обеспечения, включающая возможности автоматического моделирования угроз. Набор угроз генерируется путем заполнения краткого опросника о технических деталях приложения и факторах соответствия. Меры противодействия представлены в виде практических задач для разработчиков, которые можно отслеживать и управлять ими в рамках SDLC. OWASP Threat Dragon — это инструмент моделирования, используемый для создания диаграмм моделей угроз в рамках безопасного жизненного цикла разработки. Threat Dragon следует ценностям и принципам манифеста моделирования угроз. Он может использоваться для записи потенциальных угроз и принятия решений об их смягчении, а также для визуального представления компонентов модели угроз и поверхностей атак. Threat Dragon работает либо как веб-приложение, либо как настольное приложение. Threat Dragon поддерживает STRIDE / LINDDUN / CIA / DIE / PLOT4ai, предоставляет диаграммы моделирования и реализует механизм правил для автоматической генерации угроз и мер по их смягчению. OWASP pytm — это Python-фреймворк для моделирования угроз и первый инструмент Threat Model as Code: определите свою систему на Python, используя элементы и свойства, описанные в фреймворке pytm, и на основе этого определения pytm может генерировать диаграмму потока данных (DFD), диаграмму последовательности и, что самое главное, угрозы для вашей системы.
Другие области применения
Моделирование угроз применяется не только в сфере ИТ, но и в других областях, таких как автомобили, здания и системы автоматизации умного дома. В этом контексте моделируются угрозы безопасности и конфиденциальности, включая информацию о профилях перемещения жильцов, их рабочем графике и состоянии здоровья, а также физические и сетевые атаки. Последние могут использовать все более распространенные функции умных зданий, то есть датчики (например, для слежки за жильцами) и исполнительные механизмы (например, для открытия дверей).