Рекомендации по API безопасности

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

Жизненный цикл разработки безопасности

Жизненный цикл разработки безопасности (SDL) — это процесс, который предусматривает выполнение ряда действий, направленных на безопасность, на каждом этапе разработки программного обеспечения. К этим действиям и конечным предложениям относятся:

  • Разработка моделей угроз
  • Использование средств сканирования кода
  • Проведение проверок кода и тестирования безопасности

Дополнительные сведения о SDL см. в разделе жизненный цикл разработки защищенных приложений (Майкрософт).

Модели угроз

Анализ модели угроз поможет вам обнаружить потенциальные точки атаки в коде. Дополнительные сведения об анализе модели угроз см. в статье Говард, Майкл и LeBlanc, Дэвид [2003], Записывающий безопасный код, 2d ed., ISBN 0-7356-1722-8, Майкрософт Press, Redmond, Вашингтон. (Этот ресурс может быть недоступен на некоторых языках и странах.)

Пакеты обновления и обновления безопасности

Среды сборки и тестирования должны зеркально отображать те же уровни пакетов обновления и обновлений безопасности целевой пользовательской базы. Мы рекомендуем установить последние пакеты обновления и обновления системы безопасности для любой платформы или приложения Майкрософт, которая входит в среду сборки и тестирования, и поощрять пользователей выполнять то же самое для готовой среды приложения. Дополнительные сведения о пакетах обновлениях и обновлениях системы безопасности см. в разделе Update Windows и Microsoft Security.

Авторизация

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

Дополнительные сведения

Дополнительные сведения о лучших практиках см. в следующих разделах.

Тема Описание
Запуск с особыми привилегиями
Описывает последствия для безопасности привилегий.
Предотвращение переполнения буфера
Предоставляет сведения о предотвращении переполнения буфера.
Control Flow Guard (CFG)
Описывает уязвимости повреждения памяти.
Создание DACL
В этой статье показано, как создать список управления доступом (DACL) с помощью языка определения дескриптора безопасности (SDDL).
Обработка паролей
Обсуждается последствия использования паролей.
Dynamic контроль доступа расширяемость разработчика
Базовая ориентация на некоторые точки расширяемости разработчика для новых решений Динамической контроль доступа.