Фраза дня: моделирование угроз

Что такое моделирование угроз?
Моделирование угроз - это процедура оптимизации безопасности приложений, систем или бизнес-процессов путем определения целей и уязвимостей, а затем определения контрмер для предотвращения или смягчения последствий угроз для системы.

Моделирование угроз помогает определить требования к безопасности системы или процесса - все, что является критически важным, обрабатывает конфиденциальные данные или состоит из ценных данных. Это систематический и структурированный процесс, направленный на выявление потенциальных угроз и уязвимостей для снижения риска для ИТ-ресурсов. Это также помогает ИТ-менеджерам понять влияние угроз, количественно оценить их серьезность и внедрить средства контроля.

С точки зрения безопасности программного обеспечения, моделирование угроз является наиболее важной частью проектирования и разработки программного обеспечения. Невозможно создавать приложения и системы, соответствующие корпоративным политикам безопасности, конфиденциальности и нормативным требованиям, без оценки и устранения угроз.

Моделирование угроз на основе ИТ получило распространение в 1990-х годах с разработкой профилей угроз и злоумышленников. Microsoft представила свою методологию моделирования угроз STRIDE (спуфинг, подделка, отказ от авторства, раскрытие информации, отказ в обслуживании и повышение привилегий). Сейчас существует множество других подходов. Все они включают в себя деконструкцию элементов приложения или системы для определения активов, которые необходимо защитить, и возможных угроз, которые необходимо устранить. Методология моделирования угроз - это способ разбить сложный процесс на более мелкие задачи, что упрощает выявление слабых мест.

Почему важно моделирование угроз?
Любое приложение или система должны быть спроектированы так, чтобы противостоять атакам. Тем не менее, определение требований безопасности, необходимых для достижения этой цели, может быть сложной задачей. Злоумышленники думают и действуют иначе, чем разработчики и пользователи.

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

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

Как работает процесс моделирования угроз?
Существует несколько различных структур и методологий моделирования угроз. Однако ключевые шаги в большинстве этих процессов схожи. Они включают:

  1. Сформируйте команду. В эту команду должны входить все заинтересованные стороны, включая владельцев бизнеса, разработчиков, сетевых архитекторов, экспертов по безопасности и руководителей высшего звена. Разнообразная команда создаст более целостную модель угроз.
  2. Установите объем. Определите и опишите, что охватывает модель. Например, сосредоточено ли оно на приложении, сети или приложении и инфраструктуре, в которой оно работает? Создайте инвентарь всех включенных компонентов и данных и сопоставьте их с архитектурой и диаграммами потоков данных. Каждый тип данных должен быть классифицирован.
  3. Определите вероятные угрозы. Для всех компонентов, являющихся целями угроз, определите, где существуют угрозы. Это упражнение «что, если» создает общие технические и неожиданные сценарии угроз, включая деревья угроз или атак для выявления возможных уязвимостей или слабых мест, которые могут привести к компрометации или отказу. Инструменты моделирования угроз могут помочь автоматизировать и упростить этот этап.
  4. Оцените каждую угрозу. Определите уровень риска, который представляет каждая угроза, и ранжируйте их, чтобы определить приоритетность смягчения рисков. Простой, но эффективный подход - умножить потенциальный ущерб от угрозы на вероятность ее возникновения.
  5. Реализуйте меры по снижению рисков. Решите, как уменьшить каждую угрозу или снизить риск до приемлемого уровня. Выбор состоит в том, чтобы избежать риска, перенести его, уменьшить или принять.
  6. Документируйте результаты. Документируйте все результаты и действия, чтобы можно было быстро оценить будущие изменения в приложении, ландшафте угроз и операционной среде и обновить модель угроз.

Лучшие практики моделирования угроз
Чтобы обеспечить эффективный подход к моделированию угроз, необходимо предпринять несколько шагов. Некоторые из них включают:

  • Начни пораньше. Моделирование угроз можно выполнить в любое время в ходе проекта, но лучше раньше, поскольку результаты могут помочь обеспечить безопасность проекта. Кроме того, быстрее и дешевле добавить элементы управления безопасностью на ранних этапах процесса сборки.
  • Получите побольше отзывов. Получение информации от различных заинтересованных сторон помогает определить самый широкий круг потенциальных противников, мотивов, угроз и местонахождение наиболее уязвимых компонентов.
  • Используйте самые разные инструменты. Доступно множество инструментов, в том числе несколько необычных подходов. Например, карты безопасности Вашингтонского университета - это инструмент для мозгового штурма, который помогает обнаруживать менее распространенные или новые атаки и способы наилучшего реагирования на них.
  • Понять толерантность к риску. В частности, владельцы бизнеса должны полностью понимать и сообщать о своем уровне толерантности к риску, чтобы можно было выбрать правильные подходы к снижению угроз для обеспечения достижения бизнес-целей.
  • Обучайте всех. Обучите всех, кто участвует в различных аспектах моделирования угроз, чтобы их вклад был максимальным. Как всегда в случае с безопасностью, моделирование угроз - это итеративная разработка.

Методологии и софт моделирования угроз
Ранние методологии моделирования использовали диаграммы потоков данных для визуализации того, как данные перемещаются через приложение или систему. Однако они были слишком ограничены для современных приложений, которые развертываются в сильно взаимосвязанных средах с несколькими пользователями и подключенными к ним устройствами.

В настоящее время широко используются технологические схемы. Они показывают приложение или систему с точки зрения взаимодействия с пользователем и того, как потенциальные злоумышленники могут попытаться пройти через приложение. Это упрощает выявление потенциальных угроз и определение их приоритетов.

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

Было разработано множество методологий и структур моделирования угроз. Атако-ориентированные фокусируются на типах возможных атак, а ориентированные на активы - на активах, которые необходимо защитить. Наиболее распространены следующие подходы:

  • Damage, Reproducibility, Exploitability, Affected users, Discoverability (DREAD) - это количественный анализ рисков, который оценивает, сравнивает и устанавливает приоритеты серьезности киберугроз.
  • Руководство Национального института стандартов и технологий по моделированию системных угроз, ориентированных на данные, посвящено защите определенных типов данных в системах. Он моделирует аспекты атаки и защиты для выбранных данных.
  • Оценка критических угроз, активов и уязвимостей (OCTAVE) обеспечивает стратегическую оценку на основе активов и рисков, которая настраивается для конкретных целей безопасности и управления рисками. Она была разработана Университетом Карнеги-Меллона для Министерства обороны.
  • Процесс моделирования атак и анализа угроз (PASTA) - это семиэтапный процесс, ориентированный на атаки, разработанный для соотнесения технических требований с бизнес-целями с учетом анализа воздействия на бизнес и требований соответствия.
  • STRIDE является частью жизненного цикла разработки безопасности Microsoft. Он идентифицирует системные объекты, события и границы, а затем применяет набор известных угроз. Используя его, службы безопасности могут выявлять потенциальные угрозы.
  • Trike - это методология с открытым исходным кодом, ориентированная на риск, которая гарантирует, что назначенный уровень риска для каждого актива приемлем для всех заинтересованных сторон.
  • Визуальная, гибкая и простая угроза (VAST) основана на ThreatModeler, инструменте автоматического моделирования угроз, предназначенном для интеграции в среду гибкой разработки программного обеспечения и обеспечения практических результатов для разработчиков и групп безопасности.

Инструменты моделирования угроз
Моделирование угроз непросто. Существует бесконечное количество возможных угроз. Даже при небольшом проекте имеет смысл использовать инструмент моделирования угроз, чтобы сократить время и затраты.

Инструменты моделирования угроз упрощают процесс, делая его структурированным и повторяемым. Это сокращает количество ресурсов, необходимых для создания модели угроз с нуля и поддержки ее в течение долгого времени. Хороший инструмент моделирования угроз позволяет пользователям визуализировать, проектировать, планировать и прогнозировать все виды потенциальных угроз. Ключевые особенности инструментов должны включать:

простота ввода как системной информации, так и правил безопасности;
поток данных об угрозах для обеспечения учета последних выявленных угроз;
панель мониторинга угроз с предлагаемыми стратегиями смягчения;
панель мониторинга, которая интегрируется с системой отслеживания проблем, такой как Jira; а также
отчеты для соблюдения и заинтересованных сторон.
Некоторые часто используемые инструменты моделирования угроз включают:

  • CAIRIS. Платформа с открытым исходным кодом, которая использует информацию о потенциальных угрозах для измерения поверхности атаки и проверки проектов на предмет известных проблем безопасности и потенциальных проблем с соблюдением GDPR.
  • IriusRisk. Инструмент моделирования угроз, ориентированный на диаграммы, с адаптивными анкетами, которые проводят пользователя через техническую архитектуру, запланированные функции и контекст безопасности приложения.
  • Microsoft Threat Modeling Tool Этот бесплатный ресурс предназначен для пользователей, не являющихся экспертами по безопасности. Он предоставляет руководство по созданию и анализу моделей угроз в рамках жизненного цикла разработки безопасности Microsoft. Он использует стандартные обозначения для иллюстрации системных компонентов, потоков данных и областей безопасности, что упрощает определение классов угроз на основе структуры разрабатываемого программного обеспечения.
  • OWASP Threat Dragon Этот инструмент с открытым исходным кодом работает как веб-приложение или как настольное приложение. Он записывает возможные угрозы, определяет подходы к смягчению и показывает пользователям компоненты модели угроз и поверхности угроз.
  • SD Elements. Этот инструмент Security Compass собирает и классифицирует системную информацию на основе уязвимостей, предоставляя готовые для аудита отчеты.
  • Threagile Это инструмент интегрированной среды разработки с открытым исходным кодом, который включает моделирование угроз в базе кода приложения. Он может работать с использованием командной строки, как контейнер Docker или как REST-сервер.
  • ThreatModeler. Выпуски сообщества, облачной безопасности и безопасности приложений автоматизируют моделирование угроз. Они выявляют, предсказывают и определяют угрозы, включая готовые шаблоны архитектуры для ускорения интеграции.

 

Вывод
Какой бы инструмент ни использовался, процесс моделирования угроз следует повторять при изменении приложения, ИТ-инфраструктуры или среды угроз. Это поддерживает актуальность модели угроз по мере появления новых угроз.

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