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