Деревья атак и расстановка приоритетов рисков
Ранжирование угроз и выбор мер защиты
«Деревья атак и расстановка приоритетов рисков» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.
Что такое дерево атак
Дерево атак — это диаграмма, которая показывает, как атакующий может достичь цели. Цель находится в корне, а ветви показывают разные пути и промежуточные шаги, необходимые для её достижения.
Если STRIDE перечисляет типы угроз, то деревья атак исследуют конкретные пути, которыми может воспользоваться атакующий. Они особенно полезны для анализа конкретной особо важной цели.
Корневые цели и подцели
Корневой узел — это конечная цель атакующего, например «украсть платёжные данные клиентов». Дочерние узлы — это подцели или методы достижения родительской цели.
Дерево строят, снова и снова задавая вопрос: «Как атакующий может достичь этого узла?» Каждый ответ становится дочерним узлом, а разбиение продолжается, пока Вы не дойдёте до конкретных действий на листьях дерева, для которых можно принять меры.
Узлы AND и OR
В деревьях атак используются два логических отношения между узлом и его дочерними узлами:
- Узлы OR — для достижения родительской цели достаточно любого одного дочернего узла (альтернативные пути)
- Узлы AND — необходимо одновременно достичь всех дочерних узлов (обязательные шаги)
Это различие исключительно важно: узел OR означает, что атакующему достаточно пройти самый простой путь, а узел AND заставляет его пройти каждый этап.
Пример дерева атак
Вот текстовое дерево атак для кражи платёжных данных:
GOAL: Steal customer payment data
OR
+-- Compromise the database directly
| AND
| +-- Gain network access to DB
| +-- Obtain DB credentials
+-- Steal data in transit
| +-- Intercept unencrypted traffic
+-- Compromise an admin account
OR
+-- Phish an admin
+-- Brute force weak passwordДобавление атрибутов к узлам
Деревья атак становятся особенно полезными, если добавить к листовым узлам атрибуты, помогающие расставить приоритеты:
- Стоимость для атакующего
- Сложность или необходимые навыки
- Обнаруживаемость (сработает ли сигнал тревоги?)
- Вероятность успеха
Затем эти значения передаются вверх по дереву. В узле OR атакующий выбирает самый дешёвый или простой дочерний путь, выявляя самое слабое звено.
Риск = Вероятность x Воздействие
Чтобы расставить приоритеты, необходимо рассчитать показатель риска. Классическая формула объединяет два фактора:
Risk = Likelihood x Impact
Likelihood: how probable is this attack to succeed?
Impact: how bad is the damage if it does?
Example:
High likelihood (3) x High impact (3) = 9 -> top priority
Low likelihood (1) x High impact (3) = 3 -> monitorМодель оценки DREAD
DREAD — это структурированный способ оценивать угрозы по пяти измерениям. Каждое из них оценивается отдельно, после чего оценки объединяются в общий показатель приоритета:
- D — ущерб: насколько серьёзны последствия?
- R — воспроизводимость: насколько надёжно это можно повторить?
- E — эксплуатируемость: насколько легко это осуществить?
- A — затронутые пользователи: сколько пользователей пострадает?
- D — обнаруживаемость: насколько легко это обнаружить?
DREAD в некоторой степени субъективен, поэтому используйте во всей команде единые определения оценок.
Построение матрицы риска
Матрица риска сопоставляет вероятность и воздействие, чтобы сразу показать приоритеты:
Impact
High | Medium | High | Critical |
Med | Low | Medium | High |
Low | Low | Low | Medium |
+--------+--------+----------+
Low Med High
Likelihood
Address Critical and High cells first.Выбор мер защиты
После ранжирования угроз решите, как поступить с каждой из них. Доступны те же четыре варианта, что и при выборе мер защиты в STRIDE:
- Снизить риск — добавить средства защиты, уменьшающие вероятность или воздействие
- Устранить — полностью удалить рискованную функцию
- Передать — переложить риск на страховую компанию или третью сторону
- Принять — официально задокументировать готовность принять низкий риск
Сначала направляйте ограниченный бюджет на наиболее рискованные элементы; не тратьте чрезмерные ресурсы на угрозы с низким риском.
Соотношение затрат и пользы от средств защиты
Мера защиты оправданна только в том случае, если её стоимость соответствует снижаемому ею риску. Средство защиты, которое стоит дороже защищаемого актива, — неудачное вложение.
Для каждого рассматриваемого средства защиты оцените:
- Насколько оно снижает риск?
- Сколько стоит его разработка и эксплуатация?
- Создаёт ли оно неудобства или новые риски?
Предпочитайте средства защиты, которые одновременно блокируют несколько путей атаки, например MFA, закрывающую множество вариантов захвата учётных записей.
Отслеживание рисков и их пересмотр
Расстановка приоритетов — не одноразовая процедура. Заносите каждую выявленную угрозу в реестр рисков, указывая её оценку, выбранный способ реагирования, ответственное лицо и статус.
Пересматривайте реестр, когда:
- появляется новая угроза или уязвимость
- изменяется ценность системы или её активов
- внедряется мера защиты (повторно оцените остаточный риск)
Для принятых рисков следует устанавливать срок действия и проводить повторный пересмотр, а не просто принимать их и забывать.
Быстрая проверка
Проверьте, насколько хорошо Вы понимаете деревья атак и расстановку приоритетов для рисков.
Итоги
Вы научились ранжировать угрозы и выбирать меры защиты:
- Деревья атак моделируют пути к цели атакующего, используя узлы AND (необходимы все) и OR (достаточно любого)
- Добавляйте к узлам стоимость, сложность и обнаруживаемость, чтобы найти самое слабое звено
- Расставляйте приоритеты с помощью Риск = Вероятность x Воздействие, оценки DREAD и матрицы риска
- Выбирайте снижение риска, устранение, передачу или принятие, сопоставляя затраты и пользу
- Отслеживайте всё в реестре рисков и пересматривайте его по мере развития системы
На этом курс «Моделирование угроз с STRIDE» завершён.
Часто задаваемые вопросы
Урок «Деревья атак и расстановка приоритетов рисков» бесплатный?
Да — полный текст урока «Деревья атак и расстановка приоритетов рисков» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «Деревья атак и расстановка приоритетов рисков»?
Ранжирование угроз и выбор мер защиты Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cyber Security Academy?
Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Деревья атак и расстановка приоритетов рисков»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cyber Security Academy?
Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Зачем нужно моделирование угроз
- Методика STRIDE
- Диаграммы потоков данных и границы доверия
- Деревья атак и расстановка приоритетов рисков