Реализация подхода "сдвиг влево" требует DevSecOps, который встраивает безопасность в подход DevOps. Это означает интеграцию экспертов по безопасности в команды DevOps и внедрение средств обеспечения безопасности на протяжении всего процесса SDLC. Автоматизация - один из основных принципов этого подхода. В рамках одного и того же сквозного процесса CI/CD команда разработчиков платформы внедряет инструменты для проверки и устранения рисков безопасности (см. Рисунок 22.2). Цель состоит в том, чтобы со временем перейти к 100 % автоматизации проверок безопасности.

 

 

Внедрение DevSecOps в процесс доставки

Примеры тестирования безопасности, выполняемого в течение всего жизненного цикла разработки программного обеспечения

 

Непрерывная интеграция и непрерывная доставка

 

 

 

Код      Build

Тест      Пакет

Развернуть      Эксплуатировать

 

 

 

 

 

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

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

Проверка уязвимостей в технологии упаковки перед развертыванием на производстве

 

 

 

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

Устранение уязвимостей в компонентах сторонних разработчиков с помощью анализа компонентов программного обеспечения

Запустите Runtime Application Security Protection для выявления угроз во время выполнения и отслеживания необычного поведения приложений.

 

 

ПРИЛОЖЕНИЕ 22.2

 

Реализация проверок безопасности в CI/CD:

 

Код

С помощью таких инструментов, как Synk, проверьте, не были ли установлены разработчиками вредоносные плагины интегрированной среды разработки (IDE), которые вносят уязвимости в код. Проверьте, не хранятся ли в системе контроля исходных текстов секреты (например, с помощью git-секретов от AWS или встроенных инструментов проверки секретов, которые есть в некоторых системах контроля исходных текстов, например, сканирование секретов GitHub). Наконец, запустите статическое тестирование безопасности приложений (SAST), которое анализирует написанный код. Это зависит от языка; для IaC можно использовать инструмент типа tfsec, а для кода на Python - инструмент типа semgrep.

Построить

Проведите динамическое тестирование безопасности приложений (DAST), которое ищет уязвимости в создаваемых приложениях. Для этого можно использовать такие инструменты, как appcheck или инструмент OWASP Zed Attack Proxy с открытым исходным кодом. Проведите интерактивное тестирование безопасности приложений (IAST), которое ищет уязвимости во время работы цифрового приложения. Для этого можно использовать такие инструменты, как Synopsys или Veracode.

Тест

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

Пакет

Убедитесь, что уязвимые компоненты сторонних разработчиков не были внедрены, используя анализ компонентов программного обеспечения (SCA).

Развернуть

Проверьте все уязвимости, которые могли быть устранены до развертывания в производстве. Это может быть технология упаковки (например, Docker) или поиск внутри пакета с помощью SCA.

Работайте на сайте

Запустите защиту безопасности приложений во время выполнения (RASP), которая ищет внутренние данные цифрового приложения, чтобы идентифицировать угрозы во время выполнения. Отслеживайте необычное поведение приложений с помощью традиционных инструментов мониторинга/наблюдения, таких как Datadog.

 

По их словам: Правильное мышление и сдвиг влево

Служба безопасности может показаться властной, но у нас очень тесные отношения. У нас есть программа, которую мы называем "security maven", для обучения и сертификации людей по безопасности во всем нашем бизнесе, будь то разработчики, владельцы продуктов или инженеры. У них также есть спонсоры в команде безопасности, и когда они выполняют проекты и находят вещи, требующие исправления, они представляют свою работу высшему руководству, и мы отмечаем эти победы. Таким образом, мы закрепляем эти навыки в наших командах, потому что невозможно быть везде.

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

Кейси Сантос, ИТ-директор Asurion

 

Внедрение автоматизации безопасности должно быть частью мандата команды DevSecOps при разработке конвейера CI/CD, включая обучение подгрупп ее использованию.

 

Примечания

Перейти на страницу:

Похожие книги