Моделирование угроз на основе DFD | Комплект 1
Предварительное условие - моделирование угроз
Моделирование угроз на основе DFD - это один из методов визуального представления моделируемой системы с помощью моделирования угроз на основе диаграммы процессов. Используя этот подход, группа моделирования угроз сможет идентифицировать ключевые процессы в системе и угрозы для этих процессов, систематически отслеживая поток данных в системе. Этот подход состоит из следующих шагов:
- Рассматривать Систему как противника
- Охарактеризуйте систему
- Определите угрозы
Давайте подробно обсудим эти шаги один за другим.
1. Рассмотрите Систему как противника:
Это первое и главное, что нужно сделать при моделировании системы с использованием подхода на основе DFD.
Этот шаг включает в себя анализ системы глазами злоумышленника. Какие процессы и функции видны и доступны злоумышленнику. Используя эти открытые сервисы, злоумышленник формулирует цели атаки на систему.
Ниже приводится последовательность шагов:
- Определите точки входа / выхода - точка входа означает точку, откуда данные поступают в приложение, а точка выхода означает точку, откуда данные выходят из приложения. В целях моделирования угроз для точки входа / выхода необходимо записать следующее:
- Числовой идентификатор: присвойте числовой идентификатор каждой точке входа и каждой точке выхода для перекрестных ссылок с угрозами и уязвимостями.
- Имя: каждой точке входа и выхода должно быть присвоено имя, а также указано ее назначение.
- Описание: напишите описание, объясняющее, что именно происходит в этой точке входа / выхода, а также укажите уровни доверия, которые выходят в этой точке.
- Определите активы - основная цель злоумышленника - получить доступ к активу. Активы также служат промежуточной точкой для злоумышленника, поскольку одни активы часто взаимодействуют с другими активами в системе. Таким образом, важно определить активы, которые необходимо защитить в системе от несанкционированного доступа. Эта задача выполняется командой экспертов по безопасности. Для документирования списка активов они собирают следующие данные:
- Числовой идентификатор: каждому активу должен быть присвоен числовой идентификатор для перекрестной ссылки с угрозами и уязвимостями.
- Имя: присвоить имя идентифицированному активу.
- Описание: напишите объяснение, почему актив нуждается в защите.
- Определите уровни доверия - Каждым точкам входа / выхода назначаются значения доверия, чтобы определить привилегии, которые внешний объект имеет для доступа и воздействия на систему. При определении уровней доверия необходимо записывать следующие данные:
- Числовой идентификатор: числовой идентификатор должен быть назначен каждому уровню доверия для перекрестных ссылок с угрозами и уязвимостями.
- Имя: присвойте имя каждому уровню доверия.
- Описание: напишите описание, объясняющее уровни доверия более подробно с указанием его цели.
2. Охарактеризуйте систему:
Характеристика системы означает сбор исходной информации о системе и определение областей, которые необходимо решить. Необходимо собрать следующую справочную информацию:
- Сценарии использования. Определение сценариев использования очень важно, поскольку их игнорирование может привести к уязвимости. Сценарии использования обычно определяются архитекторами и конечными пользователями. Они могут использоваться группой тестирования безопасности для тестирования безопасности и определения путей атаки. Сценарий использования означает ситуацию / среду, в которой система будет использоваться или не использоваться или не использоваться с точки зрения конфигурации и целей безопасности, а не целей. Для сценариев использования необходимо записать следующие данные:
- Числовой идентификатор: каждому сценарию использования должен быть присвоен уникальный идентификационный номер.
- Описание: напишите описание, объясняющее следующие два пункта. Во-первых, описание сценария использования, а во-вторых, упоминание о том, поддерживается ли сценарий использования или нет.
- Внешние зависимости - внешние зависимости означают зависимости от внешних ресурсов и политик безопасности. Их идентификация очень важна, поскольку если игнорировать угрозу от внешней зависимости, она может стать действительной уязвимостью. Необходимо записать следующие данные:
- Числовой идентификатор: каждой внешней зависимости должен быть присвоен числовой идентификатор.
- Описание: напишите описание, содержащее подробную информацию о внешней зависимости.
- Ссылка на заметки о внешней безопасности: на заметки о внешней безопасности из одного компонента можно ссылаться с внешними зависимостями из других компонентов в приложении.
- Примечания по внешней безопасности. Примечания по внешней безопасности служат средством предоставления пользователям информации о безопасности и интеграции системы. Примечания по внешней безопасности используются для проверки внешних зависимостей и могут использоваться в качестве меры противодействия угрозе.
. В случае внешнего примечания к безопасности необходимо записать следующую информацию:- Числовой идентификатор: каждой записке о безопасности должен быть присвоен уникальный идентификационный номер.
- Описание: напишите описание, объясняющее детали заметки.
- Примечания по внутренней безопасности: в них объясняется компромисс, сделанный при разработке и внедрении системы безопасности. При идентификации примечаний по внутренней безопасности необходимо записать следующую информацию:
- Числовой идентификатор: каждому идентифицированному примечанию внутренней безопасности должен быть присвоен уникальный числовой идентификатор.
- Описание: напишите описание, объясняющее, какая угроза была нарушена и почему была взломана.
- Предположения реализации - они собираются на этапе проектирования и содержат подробные сведения о функциях, которые будут реализованы позже. При определении внутренних предположений реализации необходимо записать следующие данные:
- Числовой идентификатор: каждое идентифицированное внутреннее предположение реализации.
- Описание: напишите описание, объясняющее процедуру реализации функций.
- Моделирование системы. Наиболее важный момент, который следует учитывать при моделировании угроз для системы, - это смотреть на систему глазами злоумышленника. Визуальное представление позволяет увидеть работу подсистем и то, как они работают вместе. В этом разделе рассказывается, как моделировать систему с помощью диаграммы потока данных (DFD).