System Design Space
Граф знанийНастройки

Обновлено: 25 июня 2026 г. в 05:13

Моделирование угроз: STRIDE и LINDDUN

средний

Практика моделирования угроз через диаграммы потоков данных, STRIDE, LINDDUN, границы доверия и приоритизацию мер защиты.

Моделирование угроз нужно не ради красивой таблицы, а ради способности увидеть слабое место системы до того, как им воспользуются.

Глава показывает, как диаграммы потоков данных, STRIDE и LINDDUN переводят разговор о безопасности и приватности данных в разбор конкретных потоков, точек входа, границ доверия и мер защиты.

На интервью этот материал особенно полезен тем, что даёт чёткий маршрут ответа: актив, поток, угроза, мера защиты, остаточный риск вместо абстрактного разговора про безопасность вообще.

Практическая польза главы

Практика проектирования

Фиксируйте активы, потоки данных, границы доверия и категории угроз до того, как архитектурное решение станет дорогим для изменения.

Качество решений

Проверяйте меры защиты через конкретные угрозы STRIDE и LINDDUN, а не через общий список пожеланий по безопасности.

Аргументация на интервью

Стройте ответ как цепочку: актив, поток данных, угроза, мера защиты, остаточный риск. Так легче показать зрелое мышление.

Формулировка компромиссов

Явно описывайте цену мер защиты: сложность реализации, задержку, стоимость эксплуатации, приватность данных и регуляторные ограничения.

Контекст

OWASP Top 10 в контексте System Design

OWASP отвечает на вопрос «что защищать», а STRIDE и LINDDUN помогают системно находить угрозы.

Открыть главу

«Кажется, тут небезопасно» — слабый аргумент в архитектурном споре: его нельзя ни проверить, ни закрыть. нужно как раз для того, чтобы перевести расплывчатые опасения о безопасности и приватности данных в конкретные угрозы, у каждой из которых есть ответственный, мера защиты и срок.

Маршрут главы — от активов и к , категориям STRIDE и LINDDUN, , приоритизации риска и бэклогу мер защиты. Без диаграммы и границ доверия разбор угроз быстро скатывается в перечисление страшных слов без привязки к системе.

Когда выбирать STRIDE, LINDDUN или оба подхода

STRIDE: угрозы безопасности

Берите его, когда на кону целостность, доступность и права доступа: , , и . Это сильная оптика для атакующего, но она почти ничего не говорит о том, что система делает с данными легально.

LINDDUN: риски приватности данных

Эта оптика смотрит туда, куда STRIDE не заглядывает: действий, , раскрытие персональных данных и . Здесь проблема не во взломе, а в том, что система знает о пользователе слишком много.

STRIDE + LINDDUN: цифровые продукты с персональными данными (PII)

В продукте, который и хранит чувствительные данные, и обрабатывает деньги, одна оптика оставляет слепую зону. Связка двух подходов закрывает и угрозы безопасности, и риски обработки персональных данных — ценой более длинной сессии разбора.

STRIDE: категории угроз и архитектурные меры защиты

SПодмена личности

Spoofing

Ключевой вопрос: Кто может выдать себя за доверенный субъект?

Пример угрозы: Подмена для доступа к внутреннему API.

Меры защиты: , по , подписанные токены, идентичность устройства или рабочей нагрузки.

TНесанкционированное изменение

Tampering

Ключевой вопрос: Где данные могут быть изменены без разрешения?

Пример угрозы: Подмена между и серверным сервисом.

Меры защиты: Подписи сообщений, , и строгая авторизация.

RОтказ от совершённого действия

Repudiation

Ключевой вопрос: Кто может отрицать уже выполненное действие?

Пример угрозы: Пользователь оспаривает оплату, а у системы нет доказуемого .

Меры защиты: Связанные журналы аудита, отметки времени, идентификаторы запросов и доказуемая история действий.

IРаскрытие информации

Information Disclosure

Ключевой вопрос: Какие данные могут утечь?

Пример угрозы: попадает в логи и трассировки с широким доступом.

Меры защиты: , маскирование, шифрование и доступ по политике.

DОтказ в обслуживании

Denial of Service

Ключевой вопрос: Что может вывести сервис из строя или исчерпать его ресурсы?

Пример угрозы: Публичный API перегружен бот-трафиком без ограничения частоты запросов.

Меры защиты: Ограничение частоты запросов, очереди, границы автомасштабирования, размыкатели цепи и .

EПовышение привилегий

Elevation of Privilege

Ключевой вопрос: Как атакующий может получить более широкие права?

Пример угрозы: IDOR позволяет перейти с роли пользователя на возможности администратора.

Меры защиты: , проверка политик на каждом переходе, границы разрешений и регулярный пересмотр прав.

LINDDUN: риски приватности данных и меры защиты

LСвязываемость

Linkability

Ключевой вопрос: Можно ли связать разные действия одного пользователя?

Пример риска: Один идентификатор устройства связывает поведение пользователя в разных контекстах.

Меры защиты: , ротация идентификаторов и разделение наборов данных.

IИдентифицируемость

Identifiability

Ключевой вопрос: Можно ли восстановить личность по доступным данным?

Пример риска: Комбинация индекса, даты рождения и пола снова идентифицирует пользователя.

Меры защиты: , агрегация, k-anonymity и дифференциальная приватность там, где она уместна.

NНеотказуемость в контексте приватности

Non-repudiation

Ключевой вопрос: Не нарушает ли доказуемость действий ожидания приватности?

Пример риска: Подробные журналы операций позволяют восстановить полную историю поведения пользователя.

Меры защиты: Хранение по политике, ограниченный доступ к аудиту и .

DОбнаруживаемость

Detectability

Ключевой вопрос: Можно ли обнаружить наличие пользователя или его чувствительного состояния?

Пример риска: Время ответа показывает, существует ли аккаунт.

Меры защиты: Ответы с постоянным временем, и маскировка трафика для чувствительных сценариев.

DРаскрытие информации

Disclosure of Information

Ключевой вопрос: Где возможна утечка персональных данных?

Пример риска: Экспорт данных по умолчанию отдаёт чувствительные поля.

Меры защиты: Шифрование, редактирование чувствительных полей, DLP и доступ к данным по минимально необходимым правам.

UНеосведомлённость

Unawareness

Ключевой вопрос: Понимает ли пользователь, какие данные собираются и зачем?

Пример риска: Телеметрия собирается без понятного сценария согласия пользователя.

Меры защиты: , контекстные уведомления и прозрачное объяснение использования данных.

NНесоответствие требованиям

Non-compliance

Ключевой вопрос: Соответствуют ли процессы закону и внутренним политикам?

Пример риска: Данные хранятся дольше разрешённого срока.

Меры защиты: Политики хранения, учёт и автоматические проверки соблюдения требований.

Пошаговый процесс моделирования угроз

1. Зафиксировать границы и архитектурный контекст

Определите границы системы, типы пользователей, доверенные и недоверенные зоны, а также бизнес-активы с наибольшим риском.

Результат: Список активов и .

2. Построить диаграмму потоков данных

Отрисуйте между клиентом, шлюзом API, сервисами, очередями и хранилищами. Отдельно выделите .

Результат: с явными границами доверия.

3. Прогнать STRIDE по каждому элементу схемы

Для процесса, , потока данных и задайте вопросы STRIDE и зафиксируйте конкретные угрозы безопасности.

Результат: Черновой безопасности.

4. Прогнать LINDDUN по потокам персональных данных (PII)

Для идентификаторов, профилей, аналитики и событий оцените риски приватности данных и требования к прозрачности обработки.

Результат: Реестр рисков приватности и .

5. Приоритизировать угрозы и назначить ответственных

Оцените вероятность и ущерб, выберите или принятие , затем назначьте ответственного за каждую запись.

Результат: Приоритизированный .

6. Встроить меры защиты в жизненный цикл изменений

Добавьте меры защиты в , проверки CI/CD, и план .

Результат: План внедрения и критерии приёмки.

Практический пример: оформление заказа и профиль пользователя

Checkout API

STRIDE: Подмена личности: поддельный токен клиента; несанкционированное изменение: изменение суммы заказа; отказ в обслуживании: перегрузка публичного API.

LINDDUN: Обнаруживаемость: существование аккаунта видно по разным ошибкам; раскрытие информации: попадает в логи оплаты.

Меры защиты: по , подписанный , , ограничение частоты запросов, и единообразные ответы об ошибках.

User Profile Service

STRIDE: Повышение привилегий: чтение чужого профиля; отказ от совершённого действия: нет доказуемого аудита изменений.

LINDDUN: Связываемость: объединение поведенческих событий; несоответствие требованиям: нарушение сроков хранения профилей.

Меры защиты: Проверки /, неизменяемый журнал аудита, псевдонимные аналитические идентификаторы и автоматизация сроков хранения.

Артефакты после сессии

  • Диаграмма потоков данных с явными границами доверия и перечнем внешних зависимостей.
  • STRIDE + LINDDUN с уровнем критичности, ответственным и .
  • Список обязательных мер защиты для архитектуры и CI/CD.
  • Набор тестов безопасности и приватности, связанных с конкретными угрозами.
  • План регулярного пересмотра при изменениях архитектуры.

Типичные антипаттерны и рекомендации

Типичные антипаттерны

Разбор угроз провели один раз перед релизом и положили в отчёт — а к моменту инцидента архитектура уже другая.

Остановились на STRIDE и не тронули риски приватности данных — в продукте с утечка прилетит как раз из этой слепой зоны.

Угрозы перечислили, но без ответственных и сроков: такой список читают, кивают и не закрывают.

Появились новые интеграции и потоки данных, а модель угроз осталась прежней — она описывает систему, которой уже нет.

Рекомендации

Внесите в Definition of Ready для крупных архитектурных изменений — тогда разбор случается до кода, а не после инцидента.

Первая сессия — простая диаграмма потоков данных и пара угроз на ключевой поток; попытка разом покрыть всю систему обычно заканчивается ничем.

У каждой угрозы высокого риска должна быть конкретная мера защиты и проверка в конвейере сборки и доставки (CI/CD) — иначе закрытие нечем подтвердить.

Там, где важны и безопасность, и приватность данных, ведите STRIDE и LINDDUN вместе — одна оптика гарантированно оставит дыру.

Связанные материалы

Связанные главы

Чтобы отмечать прохождение, включи трекинг в Настройки