Ласкаво просимо до вичерпного посібника HackTricks з моделювання загроз! Почніть дослідження цього критичного аспекту кібербезпеки, де ми визначаємо, розуміємо та стратегічно діємо проти потенційних загроз у системі. Ця тема слугує посібником крок за кроком, наповненим реальними прикладами, корисним програмним забезпеченням та легкими для розуміння поясненнями. Ідеально підходить як для початківців, так і для досвідчених практиків, які бажають зміцнити свої кібербезпекові оборонні засоби.
1.**Розробка програмного забезпечення**: Як частина Життєвого циклу безпечного розроблення програмного забезпечення (SSDLC), моделювання загроз допомагає **виявити потенційні джерела уразливостей** на ранніх етапах розробки.
2.**Тестування на проникнення**: Стандарт виконання тестування на проникнення (PTES) вимагає **моделювання загроз для розуміння уразливостей системи** перед проведенням тесту.
Модель зазвичай представлена у вигляді діаграми, зображення або іншої форми візуалізації, що показує заплановану архітектуру або існуючу побудову додатка. Вона нагадує **діаграму потоку даних**, але ключова відмінність полягає в її орієнтованому на безпеку дизайні.
Моделі загроз часто містять елементи, позначені червоним кольором, символізуючи потенційні уразливості, ризики абобар'єри. Для спрощення процесу ідентифікації ризиків використовується триада Конфіденційність, Цілісність, Доступність (CIA), яка є основою багатьох методологій моделювання загроз, з STRIDE як однією з найпоширеніших. Однак обрана методологія може відрізнятися в залежності від конкретного контексту та вимог.
Триада Конфіденційність, Цілісність, Доступність широко визнана модель у галузі інформаційної безпеки, що означає Конфіденційність, Цілісність та Доступність. Ці три стовпи становлять основу, на якій ґрунтуються багато заходів безпеки та політик, включаючи методології моделювання загроз.
1.**Конфіденційність**: Забезпечення того, що дані або система не доступні несанкціонованим особам. Це центральний аспект безпеки, який вимагає відповідних контролів доступу, шифрування та інших заходів для запобігання порушенням даних.
2.**Цілісність**: Точність, послідовність та надійність даних протягом їх життєвого циклу. Цей принцип забезпечує, що дані не змінюються або не підробляються несанкціонованими сторонами. Часто це включає контрольні суми, хешування та інші методи перевірки даних.
3.**Доступність**: Забезпечення доступності даних та послуг для авторизованих користувачів у потрібний момент. Це часто включає резервне копіювання, відмовостійкі конфігурації та конфігурації високої доступності для забезпечення безперебійної роботи систем навіть у випадку збоїв.
1.**STRIDE**: Розроблений Microsoft, STRIDE є абревіатурою для **Підроблення, Вплив, Відмова від заперечення, Розкриття інформації, Відмова в обслуговуванні та Підвищення привілеїв**. Кожна категорія e представляє тип загрози, і ця методологія часто використовується на етапі проектування програми або. для ідентифікації потенційних загроз.
2.**DREAD**: Це ще одна методологія від Microsoft, яка використовується для оцінки ризику виявлених загроз. DREAD означає **Потенційний збиток, Відтворюваність, Експлуатованість, Постраждалі користувачі та Виявленість**. Кожен з цих факторів оцінюється, і результат використовується для пріоритизації виявлених загроз.
3.**PASTA** (Процес для симуляції атак та аналізу загроз)**: Це семиетапна **рисково-центрична** методологія. Вона включає визначення та ідентифікацію цілей безпеки, створення технічного обсягу, декомпозицію додатка, аналіз загроз, аналіз вразливостей та оцінку ризику/тріажу.
4.**Trike**: Це методологія, спрямов, на захист активів. Вона починається з **управління ризиками**і дивиться на загрози вразливостей в цьому контексті.
5.**VAST** (Візуальне, Гнучке та Просте моделювання загроз): Цей підхід спрямований на більш доступність та інтегрується в середовища розробки Agile. Він поєднує елементи з інших методологій та фокусується на **візуальних представленнях загроз**.
6.**OCTAVE** (Операційно критична оцінка загроз, активів та вразливостей): Розроблений Центром координації CERT, ця рамка спрямована на **організаційну оцінку ризику**, а не на конкретні системи чи програмне забезпечення.
Існують кілька і доступних інструментів та програмних рішень, які можуть **допомогти**у створенні та управлінні моделями загроз. Ось кілька, які ви можете врахувати.
Покращений крос-платформений та багатофункціональний графічний веб-павук/краулер для професіоналів з кібербезпеки. Spider Suite може бути використаний для картографування та аналізу поверхні атаки.
Проект з відкритим кодом від OWASP, Threat Dragon є як веб- так і настільною програмою, яка включає діаграмування системи, а також правила для автоматичного генерування загроз/протиправних дій.
Пам'ятайте, що є різниця між Загрозами Актора та Загрозами Процесу. Якщо ви додасте загрозу до Акрора, то ви зможете вибрати лише "Підроблення" та "Відмова від заперечення". Однак у нашому прикладі ми додаємо загрозу до сутності Процесу, тому ми побачимо це у вікні створення загрози:
Це безкоштовний інструмент від Microsoft, який допомагає виявляти загрози на етапі проектування програмних проектів. Він використовує методологію STRIDE і особливо підходить для тих, хто розробляє на стеку Microsoft.