Открыть сервис

STRIDE

STRIDE — это мнемоническая аббревиатура, используемая в области информационной безопасности для классификации угроз безопасности компьютерных систем и приложений. Название образовано от первых букв английских названий шести категорий угроз: Spoofing (подмена), Tampering (вмешательство), Repudiation (отказ от авторства), Information Disclosure (раскрытие информации), Denial of Service (отказ в обслуживании) и Elevation of Privilege (повышение привилегий). Модель STRIDE была разработана в конце 1990-х годов двумя инженерами корпорации Microsoft — Лореном Кольфельдом (Loren Kohnfelder) и Прадипом Гарой (Pradeep Gara) — и с тех пор является одним из базовых инструментов для анализа угроз (threat modeling) в процессе разработки безопасного программного обеспечения.

История и происхождение

Модель STRIDE была впервые представлена в 1999 году в документе Microsoft «The STRIDE Threat Model». Разработка была вызвана необходимостью создания систематического подхода к идентификации угроз на ранних этапах жизненного цикла разработки ПО. До появления STRIDE анализ безопасности часто проводился интуитивно или на основе чек-листов, что не гарантировало полноты охвата. Кольфельд и Гара предложили простую, но эффективную таксономию, которая позволяла разработчикам и тестировщикам последовательно проверять систему на наличие уязвимостей шести основных типов. Впоследствии модель была интегрирована в методологию Microsoft Security Development Lifecycle (SDL) и стала стандартом де-факто для многих компаний, занимающихся разработкой программного обеспечения.

Категории угроз STRIDE

Каждая буква в аббревиатуре STRIDE обозначает конкретный тип угрозы, направленный на нарушение одного или нескольких свойств безопасности информации (конфиденциальность, целостность, доступность, аутентичность, неотказуемость).

Spoofing (Подмена)

Угроза подмены заключается в попытке злоумышленника выдать себя за другого пользователя, процесс или устройство. Целью является нарушение свойства аутентификации. Примеры: подделка IP-адреса (IP spoofing), фишинг с подделкой страницы входа, использование украденных сертификатов, подмена идентификатора пользователя в HTTP-запросе. В контексте модели STRIDE эта угроза обычно рассматривается на уровне пользователей, внешних сущностей и процессов.

Tampering (Вмешательство)

Угроза вмешательства (или несанкционированного изменения) подразумевает модификацию данных или кода без разрешения. Она направлена на нарушение свойства целостности. Примеры: изменение содержимого базы данных через SQL-инъекцию, подмена передаваемого пакета данных в сети (man-in-the-middle), модификация исполняемого файла вредоносным кодом, изменение конфигурационных файлов.

Repudiation (Отказ от авторства)

Угроза отказа от авторства (или неотказуемости) возникает, когда пользователь или система может отрицать совершение определённого действия, а у системы нет возможности доказать обратное. Это нарушает свойство неотказуемости (non-repudiation). Примеры: отсутствие или недостаточность журналов аудита (логов), возможность удаления логов без последствий, отсутствие цифровых подписей на критических транзакциях. В отличие от других угроз, Repudiation часто требует не столько технических, сколько организационных мер (например, ведение защищённых логов).

Information Disclosure (Раскрытие информации)

Угроза раскрытия информации означает несанкционированный доступ к данным, которые должны быть защищены. Она нарушает свойство конфиденциальности. Примеры: чтение файлов, к которым нет доступа, перехват трафика (sniffing), утечка данных через ошибки в логике приложения (например, IDOR — Insecure Direct Object Reference), раскрытие паролей в открытом виде в исходном коде.

Denial of Service (Отказ в обслуживании)

Угроза отказа в обслуживании (DoS) направлена на то, чтобы сделать систему, ресурс или сервис недоступным для легитимных пользователей. Она нарушает свойство доступности. Примеры: перегрузка сервера большим количеством запросов (DDoS-атака), исчерпание оперативной памяти приложения, блокировка файлов, атака на протоколы (например, SYN flood). В модели STRIDE также рассматриваются DoS-атаки на уровне приложения (например, бесконечный цикл в обработчике запроса).

Elevation of Privilege (Повышение привилегий)

Угроза повышения привилегий возникает, когда пользователь или процесс получает доступ к функциям или данным, на которые у него нет прав. Это нарушение политики авторизации. Примеры: эксплуатация переполнения буфера для выполнения кода с правами администратора, получение доступа к учётной записи администратора через уязвимость в механизме смены пароля, обход проверок прав доступа (например, через path traversal). Эта угроза часто является конечной целью многих других атак.

Применение модели STRIDE

Модель STRIDE применяется в процессе моделирования угроз (threat modeling), который обычно состоит из нескольких этапов:

  1. Построение диаграммы потока данных (DFD): Разработчики создают диаграмму, описывающую архитектуру системы, её компоненты (процессы, хранилища данных, внешние сущности) и потоки данных между ними.
  2. Идентификация угроз: Для каждого элемента диаграммы (процесс, хранилище, поток, внешняя сущность) систематически проверяется, подвержен ли он каждой из шести угроз STRIDE. Например, для хранилища данных проверяются угрозы Tampering (изменение данных) и Information Disclosure (чтение данных). Для потока данных — Spoofing (подмена отправителя) и Tampering (изменение данных в пути).
  3. Оценка рисков: Выявленным угрозам присваивается приоритет на основе вероятности реализации и потенциального ущерба.
  4. Разработка контрмер: Для каждой приоритетной угрозы разрабатываются меры защиты (например, шифрование для защиты от раскрытия, аутентификация для защиты от подмены, логирование для защиты от отказа от авторства).

Критика и ограничения

Несмотря на широкую распространённость, модель STRIDE не лишена недостатков. Основные ограничения включают:

  • Отсутствие приоритизации: STRIDE сама по себе не оценивает серьёзность угрозы. Она лишь идентифицирует её тип. Для оценки риска требуются дополнительные методологии (например, DREAD — Damage, Reproducibility, Exploitability, Affected Users, Discoverability, также разработанная Microsoft).
  • Ориентация на приложения: Модель изначально создавалась для анализа угроз в программном обеспечении и может быть менее эффективна для анализа угроз на уровне сети, физической безопасности или социальной инженерии.
  • Сложность для больших систем: Применение STRIDE к очень сложным, распределённым системам с сотнями компонентов может быть трудоёмким и требовать автоматизации.
  • Субъективность: Качество идентификации угроз сильно зависит от опыта и квалификации команды, проводящей анализ.

Альтернативные модели

Существуют и другие подходы к классификации угроз, которые могут дополнять или заменять STRIDE в определённых контекстах:

  • PASTA (Process for Attack Simulation and Threat Analysis): Более ориентированная на бизнес-риски методология, включающая симуляцию атак.
  • LINDDUN: Специализированная модель для анализа угроз конфиденциальности (Privacy).
  • OWASP Top 10: Список наиболее критичных рисков безопасности веб-приложений, который, в отличие от STRIDE, фокусируется на конкретных уязвимостях, а не на типах угроз.
  • Attack Trees: Метод, использующий иерархические диаграммы для описания возможных путей достижения цели атакующего.

Интересные факты

  • Аббревиатура STRIDE была выбрана не случайно: она легко запоминается и образует полный набор угроз, которые, по мнению авторов, покрывают все основные нарушения безопасности.
  • Изначально модель не включала угрозу Repudiation (отказ от авторства). Она была добавлена позже, чтобы охватить аспекты неотказуемости.
  • В Microsoft модель STRIDE активно используется не только разработчиками, но и командами по безопасности (Red Teams) для тестирования на проникновение.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →