Методика STRIDE
Подмена, изменение, отрицание авторства и другие угрозы
«Методика STRIDE» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.
Что такое STRIDE
STRIDE — фреймворк для классификации угроз, разработанный в Microsoft. Он предлагает шесть категорий угроз, чтобы вы могли системно задавать вопрос «что может пойти не так?» для каждого компонента системы.
STRIDE — это мнемоника для шести типов угроз:
- S — подмена личности
- T — изменение данных
- R — отрицание действий
- I — разглашение информации
- D — отказ в обслуживании
- E — повышение привилегий
STRIDE отражает свойства безопасности
Каждая категория STRIDE представляет собой нарушение желательного свойства безопасности. Такое соответствие помогает запомнить, какое свойство безопасности нарушает каждая угроза:
Threat Violates property
---------------------- --------------------
Spoofing Authentication
Tampering Integrity
Repudiation Non-repudiation
Information disclosure Confidentiality
Denial of service Availability
Elevation of privilege AuthorizationПодмена личности
Подмена личности — это выдача себя за того, кем вы не являетесь, или за то, чем вы не являетесь. Она нарушает аутентификацию.
Примеры:
- Вход в систему с украденными учётными данными
- Подделка адреса отправителя в электронном письме
- Создание поддельной страницы входа для сбора паролей
- Выдача себя за доверенный сервер
Типичные меры защиты: надёжная аутентификация, многофакторная аутентификация, взаимная аутентификация по TLS и цифровые подписи.
Изменение данных
Изменение данных — это несанкционированная модификация данных или кода. Оно нарушает целостность.
Примеры:
- Изменение поля цены в запросе HTTP перед его отправкой
- Изменение записи базы данных без разрешения
- Внедрение вредоносного кода в обновление программного обеспечения
- Изменение файла журнала, чтобы скрыть активность
Меры защиты: проверка входных данных, проверки целостности (хеши/HMAC), подпись кода и контроль доступа.
Отрицание действий
Отрицание действий — это ситуация, когда пользователь отрицает выполнение действия, а система не может доказать обратное. Это нарушает неотказуемость.
Пример: пользователь совершает мошенническую операцию, затем заявляет, что не совершал её, а журналов, подтверждающих обратное, нет.
Меры защиты:
- Полное, защищённое от изменений журналирование аудита
- Цифровые подписи для критически важных действий
- Защищённые метки времени и пересылка журналов в хранилище с однократной записью
Разглашение информации
Разглашение информации — это раскрытие данных людям, которые не должны их видеть. Оно нарушает конфиденциальность.
Примеры:
- Утечка записей клиентов из незашифрованной базы данных
- Подробные сообщения об ошибках, раскрывающие трассировки стека или запросы
- Неправильно настроенное облачное хранилище, доступное всем
- Передача конфиденциальных данных по незашифрованному HTTP
Меры защиты: шифрование данных при передаче и хранении, доступ с минимальными привилегиями и аккуратная обработка ошибок.
Отказ в обслуживании
Отказ в обслуживании (DoS) — это лишение легитимных пользователей доступа к системе. Он нарушает доступность.
Примеры:
- Перегрузка сервера трафиком (распределённая атака типа «отказ в обслуживании»)
- Один ресурсоёмкий запрос, исчерпывающий ресурсы базы данных
- Заполнение дискового пространства загружаемыми файлами
- Запуск бесконечного цикла или утечки ресурсов
Меры защиты: ограничение частоты запросов, квоты, ограничения размера входных данных, автоматическое масштабирование и защита от распределённых атак типа «отказ в обслуживании» на уровне вышестоящей инфраструктуры.
Повышение привилегий
Повышение привилегий — это получение возможностей, превышающих разрешённые вам полномочия. Оно нарушает авторизацию.
Примеры:
- Обычный пользователь получает доступ к административному адресу
- Использование ошибки для выполнения кода с правами суперпользователя
- Изменение собственной роли с помощью подменённого параметра
- Выход из контейнера для доступа к основной системе
Меры защиты: проверка прав доступа для каждого запроса, принцип минимальных привилегий и изоляция в песочнице.
Применение STRIDE к каждому элементу
Сила STRIDE заключается в методичном применении. Для каждого элемента на диаграмме проекта пройдите по всем шести категориям и спросите, применима ли соответствующая угроза.
Element: Login API endpoint
S - Can someone spoof a valid user? -> brute force, stolen creds
T - Can request data be tampered? -> modify role in payload
R - Can a user deny logging in? -> need audit logs
I - Can it leak info? -> error reveals if user exists
D - Can it be flooded? -> no rate limit = DoS
E - Can a user gain admin? -> missing authZ checkSTRIDE для элементов и для взаимодействий
Применять STRIDE можно двумя способами:
- STRIDE для элементов — анализировать каждый компонент (процесс, хранилище данных, внешняя сущность) на наличие соответствующих типов угроз
- STRIDE для взаимодействий — анализировать каждый поток данных между элементами
Не каждая угроза применима к каждому элементу. Например, хранилища данных редко являются объектом подмены личности, но часто становятся главными целями для изменения данных и разглашения информации. Используйте подходящее подмножество категорий для каждого элемента.
От угроз к мерам защиты
STRIDE естественным образом сочетается со стратегией защиты. Для каждой выявленной угрозы выберите один из четырёх вариантов действий:
- Снизить — добавить механизм защиты, уменьшающий риск
- Устранить — удалить вызывающую риск функцию или компонент
- Передать — переложить риск (на страхование или стороннюю организацию)
- Принять — сознательно допустить низкий риск
Зафиксируйте решение для каждой угрозы, чтобы ни одна из них не осталась без внимания.
Быстрая проверка
Проверьте свои знания категорий STRIDE.
Итоги
Вы изучили фреймворк STRIDE:
- S — подмена личности (аутентификация), T — изменение данных (целостность), R — отрицание действий (неотказуемость)
- I — разглашение информации (конфиденциальность), D — отказ в обслуживании (доступность), E — повышение привилегий (авторизация)
- Каждая категория нарушает определённое свойство безопасности
- Применяйте STRIDE методично — к каждому элементу или взаимодействию
- Для каждой угрозы решайте, следует ли её снизить, устранить, передать или принять
Далее вы сопоставите потоки данных и границы доверия, чтобы определить, где применять STRIDE.
Часто задаваемые вопросы
Урок «Методика STRIDE» бесплатный?
Да — полный текст урока «Методика STRIDE» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «Методика STRIDE»?
Подмена, изменение, отрицание авторства и другие угрозы Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cyber Security Academy?
Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Методика STRIDE»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cyber Security Academy?
Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Зачем нужно моделирование угроз
- Методика STRIDE
- Диаграммы потоков данных и границы доверия
- Деревья атак и расстановка приоритетов рисков