Как стать автором
Обновить

DevSecOps или безопасная разработка: все, что вы хотели знать, но боялись спросить

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.9K

С 2019 по 2023 год количество ИБ-инцидентов выросло более чем на 134%, а от последствий кибератак компании теряли в среднем по 20 млн рублей. На этом фоне произошел рост интереса к отечественному ПО, что подталкивает российские ИТ-компании отдавать приоритет информационной безопасности инфраструктуры разработки и защищенности собственных приложений. Как DevSecOps может помочь противостоять киберугрозам? И насколько сложно внедрить практику в процессы предприятия? Ответы на эти и другие вопросы о безопасной разработке собрали для вас в одной статье.

DevSecOps: простым языком о сложном понятии

DevSecOps (англ. Development, Security, Operations) — особая методология в разработке программного обеспечения, необходимая для повышения его безопасности и снижения рисков инцидентов ИБ. DevSecOps объединяет практики разработки, эксплуатации и внедрения инструментов, помогая разработчиком создавать защищенное ПО.

За последнее время интерес к безопасной разработке ощутимо возрос, и это неудивительно: количество киберинцидентов стало увеличиваться с каждым годом. Злоумышленники активно используют наличие уязвимостей в приложениях для различных целей: похищения конфиденциальной информации, DoS- и DDoS-атак, имплантации вредоносного ПО, получения привилегированного доступа и т.д. Все перечисленное делает выполнение практик DevSecOps обязательным для компаний, которые хотят защитить свои данные от потенциальных утечек и создать безопасный ИТ-продукт.

Основные принципы безопасной разработки

  • Безопасность контура разработки ПО позволяет исключить риски ее компрометации, и как следствие, компрометация продуктовой инфраструктуры и самого продукта.

  • Осуществление безопасного проектирования охватывает определение требований ИБ и установление конкретных архитектурных решений.

  • Идентификация и управление уязвимостями включает в себя исследование и анализ уязвимостей, их устранение и дальнейшее отслеживание возможных проблем.

  • Интеграция безопасности в CI/CD (Continuous Integration/Continuous Delivery) необходима для автоматической проверки кода на наличие уязвимостей и угроз.

  • Защита данных предполагает использование шифрования и других методов для безопасной передачи, хранения и удаления информации.

  • Тестирование — проверка ПО на уязвимости и устойчивость к атакам, сканирование кода, а также постоянный выпуск обновлений и патчей.

  • Мониторинг ИБ позволяет выявлять угрозы в режиме реального времени и оперативно реагировать на них.

  • Постоянное обучение — систематическое повышение квалификации и получение актуальных знаний в сфере ИБ. Примечательно, что это обязательно не только для разработчиков, но и для остальных сотрудников организации.

Каким компаниям необходим DevSecOps и где он применяется

Сегодня ответственное отношение к вопросам кибербезопасности стало важным аспектом для большинства компаний. В России сфера ИБ контролируется особенно строго: существует ряд федеральных законов и постановлений Правительства, которые регулируют вопросы безопасности объектов КИИ, перечень нормативов и требований, утвержденных приказом ФСТЭК России, а также требования Центрального банка к финансовым организациям. Кроме того, в перечисленные акты довольно часто вносятся дополнения и поправки.

Узнать подробно об всех изменениях и найти нужные нормативные документы можно в специальном разделе на нашем сайте

Каким компаниям следует внедрять DevSecOps в первую очередь? Прежде всего, практики безопасной разработки важны для крупных организаций, имеющих отношение к защите конфиденциальных данных. Речь идет о госкорпорациях, предприятиях военно-промышленного комплекса и области здравоохранения, финансовых организациях (банки, электронные биржи, криптообменники), коммуникационных компаниях и других. Значимость DevSecOps для перечисленных сегментов тесно связана с высоким риском утечки информации.

Вторая группа — организации, работающие с большим объемом данных. В эту группу тоже входят банки, а также e-commerce и представляющие соцсети корпорации — они подвергаются кибератакам чаще других.

Третий тип предприятий, нуждающийся в услугах DevSecOps — небольшие ИТ-компании и стартапы, желающие интегрировать новые функции и инструменты для улучшения качества своего продукта.

Помимо потребности в защите данных и соблюдении законодательства, существуют еще несколько значимых причин, по которым компании прибегают к услугам безопасной разработки.

Некоторые из них:

  • Time to Market (скорость выхода рынок)

  • Столкновение с ИБ-инцидентом

  • Конфликт между отделом ИБ и разработчиками

  • Стремление разгрузить персонал и сократить рутинные задачи

  • Экономия при делегировании задачи на аутсорс

Таким образом, DevSecOps — это многофункциональная передовая практика, которая с той или иной стороны может быть полезна для любой компании. Внедрение функций безопасной разработки защищает от утечек данных и кибератак, увеличивает возможности предприятия (технические ресурсы и human resources) и помогает избежать потенциальных финансовых и репутационных потерь.

Основные инструменты DevSecOps

Инструменты DevSecOps — специальные продукты и услуги, обеспечивающие безопасность отдельных составляющих ПО. К ним относятся код, цепочки поставок и среды исполнения. Поскольку каждый из инструментов предназначен для различных целей, на этапе выбора важно учесть множество аспектов: от определения конкретного спектра задач до сопоставления с выделенным бюджетом.

Те инструменты DevSecOps, которые используются наиболее часто, можно классифицировать на несколько групп по критерию типа проблем, которые они решают.

1. Сканеры безопасности кода (Code Security Scanners)

SAST — инструмент для статического анализа кода. Помогает находить потенциальные уязвимости и выявлять ошибки в исходном коде

DAST — инструмент для динамического анализа. Обнаруживает уязвимости в работающем приложении

MAST — инструмент для анализа защищенности мобильных приложений

Fuzzing — техника тестирования ПО, основанная на передаче приложению неправильных или случайных данных

OSA (Open-Source Analysis) — инструмент для анализа компонентов с открытым исходным кодом

SCA (SoftwareCompositionAnalysis) — инструмент для анализа состава программного кода

2. Средства анализа защищенности и мониторинга инцидентов

ASOC — платформа для управления процессами безопасной разработки SOC. Выполняет функции мониторинга: собирает и анализирует ИБ-инциденты с разных объектов инфраструктуры

3. Инструменты для безопасности контейнеров

Container Security (CS) — инструмент для обеспечения безопасности контейнеров на разных уровнях, а также защиты инфраструктуры и приложений, в которых они работают

4. Межсетевые экраны для веб-приложений

WAF — защищает от уязвимостей путем фильтрации вредоносного трафика

И это далеко не весь спектр решений, которые может предложить DevSecOps. Кроме упомянутых средств также есть инструменты для управления уязвимостями, секретами и многие другие.

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

Стадии безопасной разработки

С одной стороны, методология DevSecOps охватывает те же этапы, что и DevOps: планирование, разработку, сборку, тестирование, развертывание и мониторинг. В чем они различны? Отличие первой практики от второй состоит в применении совершенно иных инструментов и в фокусе на обеспечении безопасности каждой стадии. Ниже разберем подробно каждую из них.

1. Планирование

Любой проект начинается с составления плана, который предусматривает функционал и различные аспекты будущего приложения. В случае с DevSecOps этап подразумевает контекст безопасности: это анализ и предварительная оценка состояния безопасности, выбор оптимальных инструментов и моделирование угроз.

2. Разработка/написание кода

Стадия разработки предполагает процесс кодинга и поиск уязвимостей в приложении с помощью инструментов статического (SAST) и композиционного (SCA) анализа. Важно отметить, что в данной фазе полноценное тестирование ПО пока еще не проводится —анализируется только исходный код в соответствии со стандартами его написания.

3. Сборка

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

4. Тестирование

Один из наиболее важных и продолжительных этапов DevSecOps. Кроме стандартных тестов (автоматических, функциональных и проверки конфигураций) сканируются уязвимости, проводятся пентесты и регрессионное тестирование – повторная проверка ПО на наличие ошибок, которые могли возникнуть в процессе внесения изменений и доработки. Для поиска уязвимостей используется различные техники и инструменты, среди которых можно выделить фаззинг, сканеры анализа защищенности и тестирование на проникновение.

5. Развертывание и релиз

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

На этапе релиза продукта начинается подготовка учетных записей пользователей: настраиваются системы мониторинга и сбора логов, веб-интерфейсы сторонних систем и т.д. Также назначаются необходимые права доступа. Одновременно с этим осуществляется настройка WAF или иных систем безопасности.

6. Мониторинг

Мониторинг — это финальная стадия DevSecOps, которая заключается в отслеживании ошибок и проблем с безопасностью. Он проводится не однократно, а регулярно после выпуска ПО. Под непрерывное наблюдение попадают все части системы, в том числе, инфраструктура, тестовые среды и среда разработки. Для реализации мониторинга возможно задействование различных решений: это межсетевые экраны, WAF, SIEM-системы для сбора ИБ-инцидентов и пр. Стоит отметить, что многие современные инструменты уже имеют функции автоматического составления отчетов и рекомендаций по обнаруженным ошибкам.

Как компании внедряют безопасную разработку?

Часто процесс интеграции DevSecOps начинается с аудита процессов разработки. Этот этап предполагает исследование и анализ «слабых мест» текущих процессов, после которых следует создание дорожной карты внедрения методики. На основе дорожной карты происходит отбор наиболее значимых процессов, после чего формируется план их внедрения и подбираются подходящие инструменты. Вместе с этим определяются желаемый результат после интеграции. Подробнее о том, как проводятся такие аудиты рассказываем на примере проекта с Ctrl2GO — разработчика и поставщика цифровых продуктов на базе ИИ, IIoT и интеллектуальной аналитики.

После оценки текущего состояния и выявления актуальных проблем команда переходит к реализации процессов безопасной разработки на каждом из перечисленных ранее этапов (планирование, разработка, сборка, тестирование, развертывание и мониторинг). Параллельно с внедрением разработчики компании начинают процесс обучения необходимым навыкам безопасного кодирования, постановке ИБ-задач, выявлению уязвимостей и защите от них. Вместе с ними идет подготовка Security Champions — специалистов, которые улучшают взаимодействие между командами разработчиков и безопасности.

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

Можно ли обойтись без DevSecOps?

По данным Contrast Security 97% приложений имеют более одной уязвимости в коде, а 39% таких уязвимостей имеют высокий и критический уровни опасности. Отсутствие должного внимания к безопасной разработке уже неоднократно приводило крупные организации к репутационным и финансовым потерям.

О том, как DevSecOps помогает финансовым организациям выпускать надежные сервисы читайте в кейсе с Банком Синара

Отсутствие надлежащего внимания к защищенности разработки и приложений часто влечет за собой и другое опасное последствие — возможность утечки персональных данных.

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

Кроме того, согласно последним исследованиям IBM Security, внедрение DevSecOps способно повысить окупаемость инвестиций. Согласно отчетам аналитиков, средняя стоимость утечки данных в 2023 году составила 4,45 млн долларов. При этом те предприятия, которые использовали практики DevSecOps, наоборот, смогли ощутимо сэкономить. В среднем — 1,68 млн долларов за год.

Заключение

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

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

Внедрение DevSecOps требует обширного опыта и знаний, а одним из наиболее быстрых путей его внедрения является поддержка экспертов. Какой бы глобальной или локальной не была ваша задача, команда Центра кибербезопасности УЦСБ готова поддержать ее — просто напишите нам на cybersec@ussc.ru.

Автор: Анастасия Камалова, пресейл-инженер направления безопасной разработки УЦСБ


Теги:
Хабы:
+2
Комментарии0

Публикации

Информация

Сайт
www.ussc.ru
Дата регистрации
Дата основания
Численность
501–1 000 человек
Местоположение
Россия

Истории