Как внедрить безопасную разработку за 6 месяцев
Кейс «СИГМЫ»
«СИГМА» — разработчик IT-решений в сфере энергетики. Это одна из самых любимых целей хакеров, поэтому требования к безопасности в ней высокие. Рассказываем, как за полгода и 6 шагов «СИГМА» создала отдельное подразделение по безопасной разработке и сократила срок обновления продуктов.
Шаг 1. Проанализировать процессы разработки
В компании было 30 решений и столько же команд, а компетенций, регламентов и инструментов для безопасной разработки не было. Чтобы лучше разобраться в процессах, «СИГМА» провела беседы с сотрудниками из 30 команд.
Итог: поняли специфику работы команд и определили, как ввести практики безопасной разработки в каждый продукт.
Шаг 2. Решить, какие специалисты необходимы
Дальше важно было понять, каких сотрудников сейчас не хватает. На этом этапе компания сформировала команду экспертов по безопасной разработке, провела обучение и сформировала культуру DevSecOps.
Итог: создали отдельное подразделение, в котором работает 8 специалистов по безопасной разработке.
Шаг 3. Выбрать инструменты для анализа и контроля безопасности кода
«СИГМА» составила список нужных инструментов, разбила их по категориям и в каждой выбрала самый подходящий продукт.
Итог: в первую очередь внедрили модуль SAST продукта Solar appScreener. Он поддерживает 36 языков программирования — необходимость для компании с 30 продуктами с широким спектром языков.
Шаг 4. Начать пользоваться инструментами безопасной разработки
«СИГМА» интегрировала Solar appScreener с GitLab, затем настроила интеграцию с оркестратором, и Solar appScreener стал инструментом статического анализа. Остальные интеграции, управление уязвимостями и запуск сканирований тоже выполняются через оркестратор.
Итог: за полгода «СИГМА» построила систему с разными инструментами контроля безопасности ПО: статический анализ, анализ компонентов, анализ контейнеров, DAST-анализ, фаззинг-тестирование.
Шаг 5. Сократить срок обновления продуктов
Несмотря на то, что добавились дополнительные этапы проверки безопасности, фактически время вывода продуктов на рынок сократилось — приложения проходят меньше итераций устранения уязвимостей.
Итог: теперь компания тратит меньше времени на выявление уязвимостей.
Шаг 6. Никогда не останавливаться
Команда постоянно работает над улучшениями: оптимизирует настройки инструментов, дорабатывает правила, автоматизирует рутинную работу, расширяет программу внутреннего обучения для разработчиков.
В планах — минимизировать ложно позитивные срабатывания и поработать над безопасностью сред контейнеризации.