Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама

Що таке моделювання загроз і як застосувати STRIDE до нової функції?

Моделювання загроз - систематичний пошук того, що може піти не так з безпекою, на етапі проєктування, до написання коду. Виправити дизайн на дошці дешевше, ніж переписувати готову функцію чи реагувати на інцидент.

Чотири питання (за OWASP і Адамом Шостаком):

  1. Над чим ми працюємо? - модель системи;
  2. Що може піти не так? - загрози;
  3. Що ми з цим робимо? - заходи;
  4. Чи добре ми впоралися? - перевірка.

Модель системи - діаграма потоків даних (DFD): зовнішні сутності (користувач, платіжна система), процеси (застосунок, черга), сховища (база, S3), потоки даних між ними і межі довіри - місця, де дані переходять з менш довіреної зони в більш довірену (браузер → сервер, сторонній вебхук → застосунок).

STRIDE - категорії загроз для кожного елемента діаграми:

Літера Загроза Порушена властивість Приклад
S Spoofing - підробка автентичність підроблений вебхук від «платіжної системи»
T Tampering - зміна цілісність зміна ціни в запиті оформлення замовлення
R Repudiation - заперечення неспростовність «я не змінював цей платіж» - а журналу немає
I Information disclosure - розкриття конфіденційність чужий рахунок за іншим id
D Denial of service - відмова доступність експорт без ліміту, що вантажить базу
E Elevation of privilege - підвищення прав авторизація користувач робить себе адміністратором

Приклад: нова функція «імпорт товарів з CSV за посиланням»:

  • S: хто може запускати імпорт? → лише роль менеджера;
  • T: чи можна підмінити файл між перевіркою й обробкою? → завантажити один раз і обробляти локальну копію;
  • R: хто і коли імпортував? → журнал з користувачем і файлом;
  • I: чи може URL вказувати на внутрішні ресурси (SSRF)? → перевірка URL і IP;
  • D: файл на 10 ГБ? → ліміт розміру, обробка в черзі;
  • E: CSV-ін'єкція формул при експорті назад в Excel? → екранування.

Як впровадити без бюрократії: 30-60 хвилин обговорення для функцій, що зачіпають автентифікацію, платежі, файли, зовнішні інтеграції, персональні дані; результат - перелік загроз і задач у трекері, а не документ на полиці.

Докладніше в документації: OWASP: моделювання загроз

1

Схожі питання