Блог

DevSecOps: как российским компаниям выстроить процессы безопасной разработки

Развитие DevSecOps – один из главных трендов в современной ИТ-разработке. Понятие объединяет подходы, инструменты и технологии, позволяющие с первых дней работы над продуктом защитить его от взлома и утечек данных. Журналист портала Cyber Media обсудил с экспертами рынка, как выстраивается DevSecOps и что нужно для быстрого получения результатов.

Cyber Media: Что представляет собой DevSecOps как парадигма?

Роман Карпов, «БЕЛЛСОФТ»
DevSecOps – это эволюция идей DevOps с учетом обеспечения безопасности. Согласно концепции DevSecOps, нужно учитывать вопросы ИБ на всех ключевых этапах и переходных процессах разработки и обслуживания. Сюда входит непрерывная интеграция (CI), непрерывная поставка и развертывание (CD).
Следует понимать, что по-настоящему безопасные системы должны изначально проектироваться с учетом вопросов безопасности и проносить эту идею вдоль всего жизненного цикла продукта.

Сергей Черномашенцев, «Смарт-Софт»
Очень важно, чтобы разработчик писал код, который поддается диагностике. И для этого тоже существует ряд правил и мер. Процесс основан на том, что перед каждым релизом, после каждой строчки кода, после каждого написанного раздела необходимо провести определенное тестирование.

Роман Кравцов, NGR Softlab
Внедрение DevSecOps основывается на трех базовых положениях:
  1. Обеспечение безопасности на протяжении всего цикла разработки ПО, его цель – минимизация уязвимостей в программном коде.
  2. Общая ответственность команды (DevOps, разработчиков, QA и инженеров экспликации) за соблюдение требований безопасности.
  3. Автоматическая проверка безопасности на всех этапах поставки ПО благодаря интеграции средств контроля, инструментов и процессов обеспечения безопасности в рабочий процесс DevOps.

[...]

Cyber Media: Как выглядит дорожная карта внедрения DevSecOps?

Роман Карпов, «БЕЛЛСОФТ»
DevSecOps направлено на глобальное улучшение процессов разработки. Поэтому дорожная карта выглядит соответствующе:
  1. Проанализировать всю цепочку от проектирования и до эксплуатации.
  2. Найти и исправить очевидные слабые места. Наладить эффективное взаимодействие между основными группами специалистов: разработчики, архитекторы и аналитики, сисадмины, безопасники, и так далее.
  3. Автоматизировать все этапы разработки с помощью конкретных технических средств (например, статических анализаторов кода и анализа логов на проде).
  4. Определить метрики эффективности и работать над их улучшением.
Детали карты индивидуальны для каждого предприятия. Главное — начать.

[...]

Алексей Смирнов, CodeScoring
При правильно выстроенных процессах разработки, добавление звена Sec не должно вызывать критичных проблем, а начать можно с защиты от уязвимостей артефактов, попадающих в контур разработки, в частности, применив SCA-firewall. Далее, можно погружаться в анализ всего исходного кода и обеспечения безопасности сборок целиком.
Период раскачки, конечно же, есть, но он разный для разных инструментов, все инструменты на разной глубине погружения в процессы анализа дают требуемые результаты, а самый быстрый бизнес-эффект дает SCA (software composition analysis) для анализа open source.
Причины самые банальные – компоненты с открытым кодом составляют подавляющее большинство в программных проектах, уязвимости в них публично известны, а «мамкины хакеры» и боты в первую очередь атакуют по известным уязвимостям, для которых существуют эксплойты и инструкции по эксплуатации в открытом доступе.
В целом, грамотно выстроить DevSecOps безусловно трудно, синхронизировать все процессы, отладить политики и инструменты, но главное – сформировать команду и культуру.

Роман Кравцов, NGR Softlab
На практике компании часто сталкиваются с трудностями, которые можно решить несколькими способами:
Важно продвигать культуру DevSecOps среди команд разработчиков. Они должны хорошо понимать модели угроз, проверки на соответствие нормативным требованиям и обладать практическими навыками оценки рисков, угроз и реализации средств контроля безопасности.
Положительная практика – это подход, при котором разработчики имеют подготовку по безопасному кодированию, они выполняют тестирование безопасности до того, как происходит сохранение кода.
Автоматизация является ключевым фактором, позволяющим сбалансировать интеграцию безопасности со скоростью и масштабом.
На начальных этапах внедрения сканеров безопасности в конвейер DevSecOps важно начинать с небольших изменений, двигаясь шаг за шагом к более глубокому сканированию на последующих этапах.
Инструмент для автоматизации должен обладать достаточным количеством интерфейсов для его интеграции с другими подсистемами. Хорошей практикой является возможность для специалистов выполнять сканирование в IDE в своем окружении разработки.
Управление через конфигурационные файлы, а не через интерактивное взаимодействие. Принципы «governance-as-code» и «configuration-as-code» ускоряют разработку и вывод продукта.

Подробнее на сайте издания по ссылке.