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

Обновлено: 17 мая 2026 г. в 16:00

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

средний

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

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

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

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

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

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

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

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

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

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

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

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

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

Контекст

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

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

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

переводит разговор о безопасности и приватности данных из общих опасений в проверяемые архитектурные решения.

В этой главе мы идём от активов и к , категориям STRIDE и LINDDUN, , приоритизации риска и бэклогу мер защиты.

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

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

Подходит для анализа целостности, доступности и прав доступа: , , и .

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

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

STRIDE + LINDDUN: цифровые продукты с PII

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

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

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

Spoofing

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

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

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

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

Tampering

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

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

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

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

Repudiation

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

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

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

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

Information Disclosure

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

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

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

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. Встроить меры защиты в жизненный цикл изменений

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

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

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

Checkout API

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

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

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

User Profile Service

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

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

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

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

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

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

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

Проводить моделирование угроз один раз перед релизом только для отчётности.

Ограничиваться STRIDE и игнорировать риски приватности данных в продуктах с PII.

Не фиксировать ответственных и сроки закрытия угроз, оставляя список без исполнения.

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

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

Включайте в Definition of Ready для крупных архитектурных изменений.

Начинайте с простой диаграммы потоков данных и коротких сессий, а не с попытки сразу покрыть всю систему.

Связывайте каждую угрозу высокого риска с конкретной мерой защиты и проверкой в CI/CD.

Комбинируйте STRIDE и LINDDUN для систем, где важны и безопасность, и приватность данных.

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

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

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