Код-ревью Middle Моделирование угроз обновлено

Ревью: черновик модели угроз

Вопрос

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

Сервис: бонусы за покупки. Компоненты: мобильное приложение, API, база бонусов, админка маркетинга.
Границы доверия: не выделяли, всё внутри нашей сети.
Угроза 1: SQL-инъекция в API. Мера: используем ORM.
Угроза 2: DDoS. Мера: у нас облако, оно масштабируется.
Угроза 3: утечка базы. Мера: пароль к базе сложный.
Админка маркетинга: доступна сотрудникам, угроз нет.
Начисление бонусов: правила считаются в мобильном приложении и отправляются в API.
Итог: рисков нет, задач не требуется.

Коротко

Хорошая модель начинается со схемы и границ доверия, разбирает каждый элемент по STRIDE, включает злоупотребление бизнес-логикой и заканчивается решениями и задачами.

Что должен найти ревьюер

  1. Ошибкастрока 2
    Нет границ доверия: мобильное приложение и интернет вне вашего контроля, админка отделена от клиентского API ролями. Без границ угрозы ищутся наугад.
  2. Ошибкастрока 5
    Утечка базы закрыта только паролем: нет шифрования, сегментации, минимальных прав, аудита доступа.
  3. Ошибкастрока 6
    Админка без угроз: злоупотребления сотрудников, фишинг их учёток, XSS через данные клиентов, отсутствие аудита (Repudiation).
  4. Ошибкастрока 7
    Логика начисления на клиенте: клиент может прислать любую сумму бонусов (Tampering). Расчёт только на сервере.
  5. Ошибкастрока 8
    Нет решений по рискам, владельцев и задач: модель не превращается в работу.
  6. Стильстрока 4
    Мера от DoS «облако масштабируется» неполная: нужны лимиты на дорогие операции и защита от злоупотреблений бонусами, иначе растёт счёт.
  7. Стильстрока 3
    Угрозы перечислены как общие уязвимости, а не через STRIDE по элементам: пропущены подмена клиента, повтор начислений, отказ от действий.

Разбор

Хорошая модель начинается со схемы и границ доверия, разбирает каждый элемент по STRIDE, включает злоупотребление бизнес-логикой и заканчивается решениями и задачами.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.