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