Связаться с нами
Научные статьи

Конструирование программных систем, нацеленное на обеспечение безопасности

Виктор Вячеславович Кулямин, Александр Константинович Петренко, Екатерина Александровна Рудина

Скачать Открыть в журнале

Библиография

КУЛЯМИН В.В., ПЕТРЕНКО А.К., РУДИНА Е.А. Конструирование программных систем, нацеленное на обеспечение безопасности. Труды Института системного программирования РАН. 2024;36(5):7-16. https://doi.org/10.15514/ISPRAS-2024-36(5)-1

Аннотация

Статья представляет результаты первой фазы совместного исследовательского проекта Лаборатории Касперского и Института системного программирования РАН, направленного на изучение и развитие конструктивной информационной безопасности (КИБ, Security by Design) — одного из подходов к конструированию надежных программных систем. В ней рассматривается КИБ как один из фундаментальных способов повышения защищенности за счет решений, принимаемых еще на этапе проектирования. Авторы исходят из того, что значительная часть проблем безопасности возникает не из-за отдельных ошибок в коде, а из-за архитектурных просчетов, последствия которых проявляются и накапливаются на протяжении всего жизненного цикла системы. Несмотря на то, что идеи конструктивной информационной безопасности развиваются уже несколько десятилетий, на практике они часто применяются фрагментарно, а их принципы остаются малоизвестными широкому кругу разработчиков.

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

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

В качестве перспективных направлений развития КИБ рассматриваются методы анализа архитектур на ранних этапах жизненного цикла, интеграция моделей безопасности с процессами разработки и сопровождения, а также использование безопасных языков программирования (например, безопасных для работы с памятью (memory safe)) как дополнительного механизма снижения класса потенциальных уязвимостей. Статья задает рамку для дальнейших исследований и практических работ в области проектирования программных систем с определенными свойствами безопасности и надежности.

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