Существует несколько подходов к проектированию систем с конструктивной безопасностью (Secure by Design). Один из самых известных — это SDL (Security Development Lifecycle), разработанный в Microsoft. Он охватывает все уровни разработки — от архитектурного до уровня реализации. Это довольно трудоемкий и тяжеловесный методический подход, применимый для больших проектов и крупных компаний. Архитектура с его применением проектируется сверху вниз — выбираем модели и шаблоны и спускаемся вниз по реализации.
Есть более простой подход к проектированию систем с Secure by Design — эвристический, с использованием принципов безопасности. Основные принципы были сформулированы Джеромом Зальцером и Майклом Шредером еще в 1974 году в работе «Защита информации в компьютерных системах» (The Protection of Information in Computer System).
В чистом виде (в формате методологии) эти принципы не формализованы и применяются редко. Чаще их используют просто в виде правил. Определенную степень формализации обеспечивает подход под названием паттерны безопасности. Этот подход довольно удобен для применения. С его помощью система проектируется «снизу вверх» с использованием лучших практик, рекомендаций и эвристик.
О конкретных примерах паттернов безопасности, применяемых как на уровне микродизайна, так и на уровне архитектуры читайте в статье «Меньше багов богу разработки: плюсы, минусы и нюансы имплементации подхода Secure by design». Сергей Талантов, архитектор и Security Champion в команде KasperskyOS, рассматривает в материале часто возникающие реальные проблемы, наподобие хранения в памяти чувствительных данных (паролей, ключей, и т.п.) и дает примеры их решения с помощью таких паттернов, как read-once object, value object, а также паттерна входной валидации.
Существует несколько подходов к проектированию систем с конструктивной безопасностью (Secure by Design). Один из самых известных — это SDL (Security Development Lifecycle), разработанный в Microsoft. Он охватывает все уровни разработки — от архитектурного до уровня реализации. Это довольно трудоемкий и тяжеловесный методический подход, применимый для больших проектов и крупных компаний. Архитектура с его применением проектируется сверху вниз — выбираем модели и шаблоны и спускаемся вниз по реализации.
Есть более простой подход к проектированию систем с Secure by Design — эвристический, с использованием принципов безопасности. Основные принципы были сформулированы Джеромом Зальцером и Майклом Шредером еще в 1974 году в работе «Защита информации в компьютерных системах» (The Protection of Information in Computer System).
В чистом виде (в формате методологии) эти принципы не формализованы и применяются редко. Чаще их используют просто в виде правил. Определенную степень формализации обеспечивает подход под названием паттерны безопасности. Этот подход довольно удобен для применения. С его помощью система проектируется «снизу вверх» с использованием лучших практик, рекомендаций и эвристик.
О конкретных примерах паттернов безопасности, применяемых как на уровне микродизайна, так и на уровне архитектуры читайте в статье «Меньше багов богу разработки: плюсы, минусы и нюансы имплементации подхода Secure by design». Сергей Талантов, архитектор и Security Champion в команде KasperskyOS, рассматривает в материале часто возникающие реальные проблемы, наподобие хранения в памяти чувствительных данных (паролей, ключей, и т.п.) и дает примеры их решения с помощью таких паттернов, как read-once object, value object, а также паттерна входной валидации.