Модель загроз

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Моделювання загроз — це процес, за допомогою якого потенційні загрози, такі як структурна вразливість[en] або відсутність відповідних гарантій, можуть бути ідентифіковані та перераховані, а також можуть бути визначені пріоритети контрзаходів.[1] Мета моделювання загроз полягає в тому, щоб надати захисникам систематичний аналіз того, які засоби контролю або захисту необхідно включити, враховуючи природу системи, профіль ймовірного зловмисника, найбільш ймовірні вектори атаки та активи, найбільш бажані для зловмисника. Моделювання загроз відповідає на такі запитання, як «Де я найбільш вразливий до атак?», «Які загрози найбільш актуальні?» і «Що мені потрібно зробити, щоб захиститися від цих загроз?» .

Еволюція моделювання загроз у ІТ[ред. | ред. код]

Невдовзі після того, як спільні обчислення дебютували на початку 1960-х років, люди почали шукати способи використання вразливостей безпеки для особистої вигоди.[2] У результаті інженери та комп'ютерники незабаром почали розробляти концепції моделювання загроз для систем інформаційних технологій.

Ранні методи моделювання загроз на основі ІТ базувалися на концепції архітектурних шаблонів[3] вперше представленій Крістофером Александером[en] у 1977 році. У 1988 році Роберт Барнард розробив і успішно застосував перший профіль атакуючого для ІТ-системи.

У 1994 році Едвард Аморозо висунув концепцію «дерева загроз» у своїй книзі «Основи технології комп'ютерної безпеки».[4] Концепція дерева загроз була заснована на діаграмах дерева рішень. Дерева загроз графічно представляють, як можна використати потенційну загрозу ІТ-системі.

Незалежно подібну роботу провели NSA і DARPA над структурованим графічним представленням того, як можуть бути виконані конкретні атаки на ІТ-системи. Отримане представлення було названо «деревами атак». У 1998 році Брюс Шнайер опублікував свій аналіз кіберризиків, використовуючи дерева атак, у своїй статті під назвою «До методології розробки безпечних систем».[5] Стаття виявилася фундаментальним внеском в еволюцію моделювання загроз для ІТ-систем. В аналізі Шнайєра мета зловмисника представлена як «кореневий вузол», а потенційні засоби досягнення мети представлені як «листові вузли». Використання дерева атак таким чином дозволило фахівцям з кібербезпеки систематично розглядати численні вектори атак проти будь-якої визначеної цілі.

У 1999 році фахівці з кібербезпеки Microsoft Лорен Конфелдер[en] і Преріт Гарг розробили модель для розгляду атак, пов'язаних із середовищем розробки Microsoft Windows. (STRIDE[en][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 році Френк Свідерскі та Віндоу Снайдер[en] написали «Моделювання загроз» у видавництві Microsoft. У ньому вони розробили концепцію використання моделей загроз для створення безпечних програм.

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

Методології моделювання загроз для цілей ІТ[ред. | ред. код]

Концептуально практика моделювання загроз витікає з методології. Для впровадження доступні численні методології моделювання загроз. Як правило, моделювання загроз впроваджується за допомогою одного з п'яти підходів незалежно: орієнтованого на активи, орієнтованого на зловмисника, орієнтованого на програмне забезпечення, орієнтованого на цінність і зацікавлених сторін, а також гібридного. Виходячи з обсягу опублікованого онлайн-контенту, методології, розглянуті нижче, є найбільш відомими.

STRIDE[ред. | ред. код]

STRIDE, Patterns and Practices і Asset/entry point були одними з підходів моделювання загроз, розроблених і опублікованих Microsoft. Посилання на методологію Microsoft зазвичай означають STRIDE та діаграми потоку даних.[9]

P.A.S.T.A.[ред. | ред. код]

Процес симуляції атак і аналізу загроз (англ. Process for Attack Simulation and Threat Analysis, PASTA) — це семиетапна ризик-орієнтована методологія.[10] Він забезпечує семиетапний процес для узгодження бізнес-цілей і технічних вимог, враховуючи проблеми відповідності та бізнес-аналіз. Метою методу є забезпечення динамічного процесу ідентифікації загроз, підрахунку та оцінки. Після того, як модель загроз завершена, експерти з питань безпеки розробляють детальний аналіз виявлених загроз. Нарешті, можна перерахувати відповідні засоби контролю безпеки. Ця методологія призначена для надання орієнтованого на зловмисника погляду програми та інфраструктури, на основі якого захисники можуть розробити стратегію пом'якшення, орієнтовану на активи.

Trike[ред. | ред. код]

У центрі уваги методології Trike[11] — використання моделей загроз як інструменту управління ризиками. У цій структурі моделі загроз використовуються для задоволення процесу аудиту безпеки. Моделі загроз базуються на «моделі вимог». Модель вимог встановлює визначений зацікавленою стороною «прийнятний» рівень ризику для кожного класу активів. Аналіз моделі вимог дає модель загроз, на основі якої загрози перераховуються та призначаються значення ризику. Завершена модель загрози використовується для побудови моделі ризику на основі активів, ролей, дій і розрахованого ризику.

VAST[ред. | ред. код]

Методологія Visual, Agile and Simple Threat (VAST)[12] базується на ThreatModeler, комерційній автоматизованій платформі моделювання загроз. Для VAST потрібно створити два типи моделей: моделі загроз застосунків і моделі операційних загроз. Моделі загроз застосунків використовують діаграми процесів, що представляють архітектурну точку зору. Операційні моделі загроз створюються з точки зору зловмисника на основі DFD. Цей підхід дозволяє інтегрувати VAST у життєві цикли розробки організації та DevOps.[13]

Гібридний метод моделювання загроз[ред. | ред. код]

Дослідники створили цей метод, щоб поєднати позитивні елементи різних методологій.[14][15][16] Ця методологія поєднує в собі різні методології, зокрема SQUARE[17] і Security Cards[18] і Personae Non Gratae.[19]

Загальноприйняті процеси моделювання ІТ-загроз[ред. | ред. код]

Усі процеси моделювання загроз, пов'язані з ІТ, починаються зі створення візуального представлення програми та/або інфраструктури, що аналізується. Додаток/інфраструктура розбивається на різні елементи, щоб допомогти в аналізі. Після завершення візуальне представлення використовується для ідентифікації та перерахування потенційних загроз. Подальший аналіз моделі щодо ризиків, пов'язаних із ідентифікованими загрозами, встановлення пріоритетів загроз та перелік відповідних заходів контролю залежить від методологічної основи процесу моделі загроз, що використовується. Ідентифікація та перерахування загроз (або цілей пом'якшення) можуть бути здійснені або орієнтованим на атаку, або орієнтованим на активи способом. Перший зосереджується на типах можливих атак, які потрібно пом'якшити, тоді як другий зосереджується на активах, які потрібно захистити.

Візуальні представлення на основі діаграм потоків даних[ред. | ред. код]

Data Flow Diagram — Online Banking Application

Методологія Microsoft, PASTA та Trike розробляють візуальне представлення інфраструктури програми за допомогою діаграм потоків даних (DFD). DFD були розроблені в 1970-х роках як інструмент для системних інженерів, щоб повідомляти на високому рівні, як програма спричинила потік даних, їх зберігання та маніпулювання інфраструктурою, на якій працює програма. Традиційно DFD використовують лише чотири унікальні символи: потоки даних, сховища даних, процеси та інтерактори. На початку 2000-х років було додано додатковий символ, межі довіри, щоб дозволити використовувати DFD для моделювання загроз.

Після того, як система прикладної інфраструктури розкладається на п'ять елементів, експерти з безпеки розглядають кожну ідентифіковану точку входу загрози проти всіх відомих категорій загроз. Після виявлення потенційних загроз можна перерахувати пом'якшувальні заходи безпеки або виконати додатковий аналіз.

Інструменти моделювання загроз[ред. | ред. код]

  • Безкоштовний інструмент Threat Modeling Tool від Microsoft (раніше SDL Threat Modeling Tool)[20] також використовує методологію моделювання загроз Microsoft, базується на DFD і ідентифікує загрози на основі системи класифікації загроз STRIDE. В основному він призначений для загального використання.
  • IriusRisk надає як версію для спільноти, так і комерційну версію інструменту. Цей інструмент зосереджений на створенні та підтримці живої моделі загроз у SDLC. Він керує процесом, використовуючи повністю настроювані анкети та бібліотеки моделей ризиків, а також підключається до кількох інших інструментів (OWASP ZAP, BDD-Security, Threadfix) для забезпечення автоматизації.[21]
  • securiCAD — це інструмент моделювання загроз та управління ризиками від скандинавської компанії foreseeti.[22] Він призначений для управління кібербезпекою підприємства, від CISO до інженера з безпеки, включаючи техніка. securiCAD виконує автоматичне моделювання атак на поточні та майбутні ІТ-архітектури, визначає та кількісно оцінює ризики в усьому світі, включаючи структурні вразливості, і забезпечує підтримку прийняття рішень на основі результатів. securiCAD доступний у комерційній версії та версії для.[23]
  • SD Elements від Security Compass — це платформа керування вимогами до безпеки програмного забезпечення, яка включає можливості автоматичного моделювання загроз. Набір загроз створюється шляхом заповнення короткої анкети щодо технічних деталей програми та факторів відповідності. Контрзаходи включені у формі практичних завдань для розробників, які можна відстежувати та керувати ними в SDLC.[24]
  • OWASP Threat Dragon — це інструмент моделювання, який використовується для створення діаграм моделі загроз у рамках безпечного життєвого циклу розробки. Threat Dragon дотримується цінностей і принципів маніфесту моделювання загроз. Його можна використовувати для реєстрації можливих загроз і прийняття рішень щодо їх пом'якшення, а також для надання візуальної індикації компонентів моделі загроз і поверхонь загроз. Threat Dragon працює як веб-програма або як настільна програма. Threat Dragon підтримує STRIDE / LINDDUN / CIA / DIE / PLOT4ai, надає діаграми моделювання та реалізує механізм правил для автоматичного створення загроз та їх пом'якшення.[25]
  • OWASP pytm — це каркас Python для моделювання загроз і перший інструмент Threat-Model-as-Code: визначте свою систему на Python за допомогою елементів і властивостей, описаних у структурі pytm, і на основі вашого визначення pytm може створити діаграму потоку даних (DFD), діаграма послідовності та найголовніше, загрози вашій системі.[26]

Подальші сфери застосування[ред. | ред. код]

Моделювання загроз застосовується не лише до ІТ, але й до інших областей, таких як транспортні засоби,[27][28]автоматизація будівель[en] та автоматизація дому[en].[29] У цьому контексті моделюються загрози безпеці та конфіденційності, як-от інформація про профілі пересування мешканців, робочий час і стан здоров'я, а також фізичні або мережеві атаки. Останні могли б використовувати все більше доступних функцій розумних будівель, таких як датчики (наприклад, щоб стежити за мешканцями) і приводи (наприклад, щоб відчинити двері).[29]

Маніфест моделювання загроз[ред. | ред. код]

Маніфест моделювання загроз — це документ, опублікований у 2022 році органами, що займаються моделюванням загроз, щоб чітко визначити основні цінності та принципи, які повинен знати та дотримуватися кожен розробник моделей загроз.[30]

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. а б The STRIDE Threat Model. Microsoft. 2016.
  2. McMillan, Robert (2012). The World's First Computer Password? It Was Useless Too. Wired Business.
  3. Shostack, Adam (2014). Threat Modeling: Designing for Security. John Wiley & Sons Inc: Indianapolis.
  4. Amoroso, Edward G (1994). Fundamentals of Computer Security Technology. AT&T Bell Labs. Prentice-Hall: Upper Saddle River. ISBN 9780131089297.
  5. Schneier, Bruce та ін. (1998). Toward A Secure System Engineering Methodology (PDF). National Security Agency: Washington.
  6. Alberts, Christopher (2003). Introduction to the OCTAVE® Approach (PDF). Software Engineering Institute, Carnegie Mellon: Pittsburgh.
  7. Stillions, Ryan (2014). The DML Model. Ryan Stillions security blog. Ryan Stillions.
  8. Bromander, Siri (2016). Semantic Cyberthreat Modelling (PDF). Semantic Technology for Intelligence, Defence and Security (STIDS 2016).
  9. Kohnfelder, Loren; Garg, Praerit. Threats to Our Products. Microsoft. Процитовано 20 вересня 2016.
  10. Ucedavélez, Tony and Marco M. Morana (2015). Risk Centric Threat Modeling: Process for Attack Simulation and Threat Analysis. John Wiley & Sons: Hobekin.
  11. Eddington, Michael, Brenda Larcom, and Eleanor Saitta (2005). Trike v1 Methodology Document. Octotrike.org.
  12. Fruhlinger, Josh (15 квітня 2020). Threat modeling explained: A process for anticipating cyber attacks. CSO Online (англ.). Процитовано 3 лютого 2022.
  13. Threat Modeling: 12 Available Methods. SEI Blog (англ.). Процитовано 3 лютого 2022.
  14. The Hybrid Threat Modeling Method.
  15. A Hybrid Threat Modeling Method.
  16. Tarandach, Izar; Coles, Matthew J. (24 листопада 2020). Threat Modeling: A Practical Guide for Development Teams. ISBN 978-1492056553.
  17. Security Quality Requirements Engineering Technical Report.
  18. https://securitycards.cs.washington.edu/
  19. CSDL | IEEE Computer Society.
  20. «What's New with Microsoft Threat Modeling Tool 2016». Microsoft Secure Blog. Microsoft. 2015.
  21. «Irius Risk Risk Management Tool». Continuum Security. 2016.
  22. foreseeti - securiCAD. foreseeti.com. Архів оригіналу за 27 березня 2023. Процитовано 27 листопада 2018.
  23. «Cyber Threat Modelling and Risk Management — securiCAD by foreseeti». foreseeti.
  24. «SD Elements by Security Compass». www.securitycompass.com. Retrieved 2017-03-24.
  25. «OWASP Threat Dragon».
  26. «OWASP pytm».
  27. http://publications.lib.chalmers.se/records/fulltext/252083/local_252083.pdf
  28. 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. Процитовано 11 березня 2019.
  29. а б Meyer, D.; Haase, J.; Eckert, M.; Klauer, B. (1 липня 2016). A threat-model for building and home automation. 2016 IEEE 14th International Conference on Industrial Informatics (INDIN). с. 860—866. doi:10.1109/INDIN.2016.7819280. ISBN 978-1-5090-2870-2.
  30. https://www.threatmodelingmanifesto.org//