Статистика показывает, что большое количество нарушений безопасности в результате кражи личных данных получены от взломщиков,
используя уязвимость программного обеспечения. Нужно решить проблему уязвимого софта? Организации должены найти баланс между скоростью и безопасностью в DevOps. Давайте посмотрите на текущий подход к безопасности в DevOps.
Современный подход к безопасности в DevOps
При обсуждении безопасности в DevOps давайте сначала определим, что такое безопасность. В мире разработки программного обеспечения, тестирования, среда, безопасность могут означать много разных вещей. От определение политик безопасности, автоматизации тестирования безопасности, выявления уязвимости, сопоставление результатов и устранение уязвимостей, до управления и мониторинга программ безопасности, и KPI разработчика, в организации есть много уровней безопасности. Однако давайте посмотрим в первую очередь на функциональное тестирование и тестирование безопасности приложения.
Функциональное тестирование — это тестирование программного обеспечения по списку функциональные критерии, обеспечивающих работу программного обеспечения в соответствии с назначением. Это тестирование обычно выполняется с помощью различных автоматических и / или
ручных процедур, но сама идея заключается в том, что программное обеспечение должно быть проверено до его развертывания. Функциональное тестирование проводится прямо перед запуском в прод.
Второй тип тестирования известен как Тестирование безопасности приложений (AST), и именно здесь выявляются уязвимости, сопоставляются результаты, и должны быть устранены уязвимости до выпуска программного обеспечения. Сегодня и во многих средах DevOps,
оба типа тестирования (функциональное и AST) выполняются на этапе Test / QA. И здесь нужна скорость и проверка безопасности, как правило, конфликтуют. Причина этого в том, что AST не было встроено в весь процесс разработки. Вместо этого и
в большинстве случаев AST существует только в одном месте — в точке перехода где программное обеспечение перемещается из Dev в Ops, часто создавая узкое место, которое вызывает задержки.
Команды разработчиков ориентированы на время выхода на рынок. Команды AppSec управляют безопасностью уже работающего программного обеспечения. Вот тут и происходит балансировка. AST не может отложить развертывание, зачастую время релиза важнее безопасности. В CI/CD добавлены задержки для AST, которые дают возможность выявить и устранить некоторые уязвимости. Должен быть лучший способ выполнения AST на протяжении всего процесса DevOps, который бы не вызывал задержек.
В следующем разделе мы обсудим лучший подход.
Лучший подход к безопасности в DevOps
Существует способ встраивания решений AST во все этапы разработки, но как это сделать? На рисунке 4 концепция сдвига в центр может иметь больший смысл.
Как показано на рисунке 4, решения AST могут быть встроены в этапы Dev, сборку и тестирование / контроль качества. Давайте
перечислим некоторые из доступных решений AST на рынке сегодня.
AST Solutions:
- SAST — статическое тестирование безопасности приложений
- IAST — Комплексное тестирование безопасности приложений
- SCA — Анализ состава программного обеспечения
- DAST — динамическое тестирование безопасности приложений
В следующих статьях более детально рассмотрим доступные решения AST. Продолжение