С начала пандемии коронавируса кибератаки вышли на первый план среди угроз бизнесу и обществу. В 2022 году ситуация только усугубилась. Между тем избежать большинства угроз можно, если встраивать процедуры кибербезопасности на самых ранних стадиях разработки IT-продуктов, например перейдя от технологии DevOps к DevSecOps.
В сегодняшней гиперконкурентной бизнес-среде успех сильно зависит от способности предоставлять своим клиентам инновационные цифровые услуги с высокой степенью надежности и защищенности. В постоянной борьбе за долю рынка программные продукты становились все более совершенными, а циклы выпуска обновлений сокращались с месяцев до часов. В моменте бизнес сосредоточен на гибких методологиях разработки программных продуктов (Agile), пытаясь при этом сохранить их качество, отказоустойчивость, кибербезопасность и соответствие регуляторным требованиям. Гибкая методология разработки программного обеспечения, предусматривающая непрерывный процесс создания добавленной стоимости, появилась в последние 20 лет. Она подразумевает инкрементальное предоставление бизнес-функций клиентам с контролируемым уровнем качества c реализацией в кратчайшие сроки.
Кибербезопасность и соответствие регуляторным требованиям традиционно не считались частью Agile, поэтому многие компании все еще продолжают исповедовать «водопадный» подход XX века при разработке программного обеспечения. Тогда эксперты информационной безопасности взаимодействовали с командами разработки всего лишь дважды в рамках всего жизненного цикла создания программного продукта – в самом начале проекта и непосредственно перед выпуском. Без применения инструментов автоматизированного анализа защищенности ряд проверок по-прежнему может выполняться вручную при помощи практики тестирования на проникновение. В этой парадигме техника принятия бизнесом технологических рисков лишь подтверждает тот факт, что далеко не каждая версия программного продукта тщательно проверяется и тестируется.
Традиционные IT-процессы изо всех сил стараются сбалансировать потребность в более частом выпуске обновлений ПО при сокращающихся сроках поставки с рисками несоответствия регуляторным и индустриальным требованиям или даже технологических сбоев. Причинами таких сбоев может служить множество факторов: человеческие ошибки, ручные операции, нарушение технологических процессов или их полное отсутствие, ошибочные алгоритмы, нечеткие требования, организационные ограничения, несогласованные цели менеджеров, отвечающих за реализацию и внедрение программных продуктов, и, наконец, несоответствие инженерных культур в командах разработки.
Вопросы кибербезопасности адресуют опасения бизнеса как в контексте публичных утечек данных, сбоев в цифровых сервисах, так и задержек, вызванных внешними аудитами и регуляторными проверками. В настоящее время всего одна уязвимость может иметь эффект домино для компаний по всему миру благодаря широко используемым компонентам с открытым исходным кодом или облачным технологиям.
Цифровые угрозы в современном мире эволюционируют постоянно, схематично актуальный ландшафт векторов атак в контексте безопасности программных продуктов представлен на схеме «Угрозы цепочки поставок ПО».

В этой парадигме успех Agile зависит от полноценной автоматизации полного спектра проверок как информационной безопасности продукта, так и соответствия его требованиям регуляторов со скоростью DevOps-процессов, которые сочетают в себе разработку программного обеспечения (Dev) и эксплуатацию (Ops). Постоянно ускоряющийся цикл разработки кардинально повлиял на вопросы и подходы к обеспечению информационной безопасности программного обеспечения.
В этом контексте можно рассмотреть индустриальные вызовы с трех ключевых векторов.
Для решения этой проблемы в последние годы были реализованы инициативы DevSecOps. DevSecOps (сокр. Development, Security, Operations) – это модель разработки программного обеспечения, в которой все эти три команды работают синхронно в тесном сотрудничестве. Можно сказать, что команда DevSecOps – это гибкая кросс-функциональная команда DevOps, которая внедряет и использует методы обеспечения кибербезопасности в своих процессах для создания действительно защищенных программных продуктов и цифровых сервисов. Методология DevSecOps включает в себя информационную безопасность приложений, данных и инфраструктуры.
Практики кибербезопасности, такие как анализ технической архитектуры, проверка кода, анализ используемых компонент с открытым исходным кодом, анализ защищенности контейнеров, динамический анализ и тестирование на проникновение, должны быть реализованы как неотъемлемая часть DevOps. DevOps-команды должны перенимать образ мышления в отношении информационной безопасности и применять эти принципы в своей повседневной деятельности. Сегодня программное обеспечение выпускается короткими спринтами, и анализ защищенности приложений становится просто необходимой практикой во время циклов разработки, не замедляя инженерные процессы. В идеале активности по обеспечению информационной безопасности должны начинаться как можно раньше в рамках жизненного цикла программного обеспечения – в так называемой парадигме shift-left. Команды разработчиков и экспертов по кибербезопасности становятся более эффективными и масштабируют DevSecOps за счет автоматизации, интеграции и плотной совместной работы в процессе создания инновационных приложений и цифровых сервисов. DevSecOps также подразумевает применение полностью «программного подхода», который фокусируется на методах непрерывного обеспечения кибербезопасности, органично интегрированных в DevOps в виде автоматизированных конвейеров разработки защищенного ПО.
Модель DevSecOps объединяет DevOps-процессы и непрерывный контроль защищенности разрабатываемых программных продуктов. Процесс разработки защищенного ПО (Secure Software Development Process, SSDL) предполагает необходимые изменения и ограничения существующего инженерного процесса. Процедуры, регламенты, требования и стандарты SSDL должны быть задокументированы, опубликованы для всех ключевых вовлеченных сторон и отражены в политиках компании.
Создание группы информационной безопасности программного обеспечения (Software Security Group, SSG) – один из ключевых компонентов организационной готовности к DevSecOps. SSG аккумулирует знания, распространяет компетенции и определяет новые роли и обязанности для руководства и технических экспертов в организации. Мировая индустрия ощущает сильный кадровый дефицит экспертов в области кибербезопасности для поддержки растущих масштабов разработки программного обеспечения. Таким образом, поиск талантливых сотрудников внутри организации, готовых сфокусировать свою карьеру в области информационной безопасности, имеет решающее значение для успеха преобразования DevSecOps.
Существует большой пласт инструментов, процессов, фреймворков и методологий, которые способны помочь даже большой корпорации превратиться в DevSecOps-организацию. Однако в итоге DevSecOps – это культура, которая соответствует принципу создания защищенных программных продуктов при гибких процессах разработки.
При реализации SSDL следует использовать как организационные, так и технологические меры. Внедрение лучших практик разработки защищенного программного обеспечения переходит, по сути, в непрерывное совершенствование процессов. Необходимо определить, задокументировать и измерять как количественные показатели кибербезопасности, так и ключевые показатели эффективности. Чтобы контролировать DevSecOps-процессы, необходимо собирать и анализировать ряд метрик, например, таких как среднее время обнаружения уязвимостей, среднее время устранения дефектов в коде, среднее время существования уязвимости в промышленной эксплуатации. Команде необходимо настроить процессы так, чтобы время обнаружения и время устранения было короче, чем при обычном двухнедельном спринте, что позволит разработчикам вовремя исправлять дефекты информационной безопасности и держать под контролем весь объем уязвимостей программного обеспечения с учетом критичности (так называемый технический долг).
Суммируя бизнес-ценность реализации DevSecOps-практик в контексте основных векторов (бизнес / IT / кибербезопасность), можно выделить четыре принципиальных направления:
Хочу отметить, что при переходе от DevOps к DevSecOps для организации нет необходимости изобретать ничего нового. Индустриальные стратегии трансформации и дорожные карты уже продуманы и проверены на практике. Что точно будет полезно на начальных этапах – это определение метрик, которые обеспечивают хорошее представление о существующих процессах разработки программного обеспечения. Это станет отличной основой для анализа состояния при трансформации в DevSecOps. После этого стоит воспользоваться помощью экспертов, которые имеют сильные компетенции и индустриальную экспертизу в области как построения стратегии перехода к DevSecOps-процессам, так и их прикладного внедрения в организациях, занимающихся разработкой программного обеспечения, подобных вашей.