Поделиться через


Устранение рисков с помощью средства моделирования угроз от Майкрософт

Средство моделирования угроз — это основной элемент жизненного цикла разработки защищенных приложений (Майкрософт) (SDL) Он позволяет архитекторам ПО на ранних этапах выявлять и устранять потенциальные проблемы, связанные с безопасностью, когда их еще можно относительно легко и без особых затрат устранить. В результате это средство значительно снижает стоимость разработки. Кроме того, при проектировании этого средства учитывались потребности специалистов, не связанных со сферой безопасности. С его помощью все разработчики могут легко моделировать угрозы благодаря четкому руководству по созданию и анализу моделей угроз.

Ознакомьтесь со средством моделирования угроз, чтобы начать работу.

Категории устранения рисков

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

Категория Описание
Аудит и ведение журнала Кто что сделал и когда? Аудит и ведение журнала позволяют узнать, как приложение записывает события, связанные с безопасностью.
Аутентификация кто вы? Аутентификация — это процесс, во время которого сущность подтверждает идентификацию другой сущности, как правило, с помощью таких учетных данных, как имя пользователя и пароль.
Авторизация что можно делать? Авторизация — это процесс, во время которого приложение предоставляет элементы управления доступом ресурсам и операциям.
Безопасность обмена данными С кем вы общаетесь? Безопасность обмена данными обеспечивает максимально возможную защиту связи.
Управление конфигурацией От чьего имени запускается приложение? К каким базам данных оно подключается? Как управляется приложение? Как обеспечивается защита этих параметров? Управление конфигурацией обозначает то, как приложение обрабатывает проблемы с работоспособностью.
Шифрование Как хранится секретные (конфиденциальные) данные? Как вы проверяете наличие незаконных изменений данных или библиотек (целостность)? Как вы предоставляете начальные значения для случайных значений, которые должны надежно шифроваться? Шифрование обозначает способы обеспечения конфиденциальности и целостности данных приложением.
Управление исключениями Что делает приложение при сбое вызова метода? Насколько вы раскрываете информацию об этом? Получают ли пользователи понятное сообщение об ошибке? Передаете ли вы важные сведения об исключении вызывающей стороне? Обрабатывает ли приложение сбой корректно?
Проверка входных данных Как вы узнаете, что приложение получает допустимые и безопасные входные данные? Проверка входных данных обозначает то, как приложение фильтрует, сканирует или отклоняет входные данные перед дополнительной обработки. Рассмотрите возможность ограничения передачи входных данных через точки входа и кодирования выходных данных через точки выхода. Доверяете ли вы данным, полученным из таких источников, как базы данных и общие папки?
Конфиденциальные данные Как приложение обрабатывает конфиденциальные данные? Конфиденциальность данных обозначает то, как приложение обрабатывает любые данные, которые должны быть защищены в памяти или постоянных хранилищах, а также при передаче по сети.
Управление сеансом Как приложение обрабатывает и защищает сеансы пользователей? Сеанс — это серия связанных взаимодействий между пользователем и веб-приложением.

Управление помогает определить следующее.

  • Где происходят наиболее распространенные ошибки.
  • Где реализованы самые действенные улучшения.

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

Дальнейшие действия

Ознакомьтесь с угрозами средства моделирования угроз, чтобы узнать о категориях угроз, используемыми средством для моделирования возможных угроз.