DevSecOps основывается на современных методах DevOps, включая процессы безопасности и автоматизацию в конвейер разработки. Это позволяет группам разработчиков продолжать тенденцию к быстрой и непрерывной доставке, повышая при этом безопасность программных активов. Конвейер DevSecOps следует знакомой структуре «бесконечного цикла» DevOps, но включает в себя некоторые дополнительные шаги для обеспечения безопасности кода до, во время и после его запуска в производство.
Contents
Подробное описание 5 этапов безопасности
Типичный конвейер DevOps состоит из восьми этапов. Конвейер DevSecOps сохраняет все это и добавляет еще пять, относящихся к безопасности:
1. МОДЕЛИРОВАНИЕ УГРОЗ
Моделирование угроз в DevSecOps пытается определить риски, связанные с программным активом, и наиболее вероятные способы, которыми злоумышленник может попытаться его скомпрометировать. Этот процесс, который обычно поддерживается группами безопасности, включает в себя ряд действий:
- Анализ среды, в которой работает приложение
- Определение возможных целей атаки (например, конфиденциальные данные клиентов)
- Описание возможных сценариев атак (например, 10 основных угроз OWASP или злоупотребление законной логикой)
- Прогнозирование наиболее вероятных источников уязвимостей
Эти шаги помогают организации определить, какой риск может создать новый или обновленный программный актив, и, что наиболее важно, помогают командам разработчиков заблаговременно определить варианты смягчения наиболее вероятных проблем и рисков безопасности.
Постоянное включение моделирования угроз в конвейер DevSecOps также помогает командам разработчиков понять, как пересекаются безопасность и разработка, и может помочь снизить риски для организации.
2. ТЕСТИРОВАНИЕ БЕЗОПАСНОСТИ
Тестирование безопасности — это первый рабочий этап конвейера DevSecOps. Автоматические сканеры безопасности играют здесь решающую роль и часто являются первым (и самым простым) интегрированным рабочим процессом разработки средств контроля безопасности. Сканеры статического, динамического и интерактивного тестирования безопасности приложений (SAST/DAST/IAST) — отличный способ обнаружить простые уязвимости в коде до того, как он будет запущен в производство.
Однако сканеры — не единственная практика тестирования безопасности, включенная в конвейер DevSecOps. Другие включают:
- Ручная и автоматическая проверка кода — эти процессы необходимы для выявления ошибок, неэффективности и других проблем в недавно написанном коде, которые не могут найти автоматические сканеры безопасности.
- Оценки безопасности и пентесты — хотя и недостаточно быстро, чтобы включать их в каждый цикл, тестирование безопасности опытными хакерами — это первая возможность подвергнуть программный актив реальным угрозам.
3. АНАЛИЗ И РАССТАНОВКА ПРИОРИТЕТОВ
Как правило, этап тестирования безопасности конвейера DevSecOps выявляет множество потенциальных проблем и уязвимостей, особенно для новых или значительно измененных программных активов. Однако большинство организаций не хотят ждать, пока разработчики решат все эти проблемы, прежде чем запускать код в производство — это слишком сильно замедлит конвейер и может нарушить бизнес-цели.
Вместо этого конвейер DevSecOps включает этап анализа и определения приоритетов , чтобы помочь командам разработчиков выявлять и устранять наиболее значительные риски. Команды разработчиков изучают все потенциальные угрозы и уязвимости, обнаруженные на этапе тестирования безопасности , объединяют их в основной список и расставляют приоритеты на основе их потенциального влияния на бизнес и вероятности использования — другими словами, в зависимости от риска , который они представляют для пользователей. организация.
Группа безопасности обычно поддерживает этот этап, так как он требует четкого понимания ландшафта угроз организации, обязательств по соблюдению требований и последствий успешной атаки.
4. ИСПРАВЛЕНИЕ
После приоритизации всех нерешенных уязвимостей и проблем следующим шагом для команды разработчиков является их устранение. Группа безопасности может продолжать поддерживать этот процесс, обучая разработчиков природе различных угроз и возможных вариантов устранения. В качестве альтернативы, команда разработчиков может со временем взять на себя полную ответственность за этот процесс.
Как правило, разработчики могут запустить код в производство после устранения конкретных уязвимостей или после того, как общий риск, связанный с активом, будет снижен до приемлемого уровня. Затем команды разработчиков могут устранить выявленные уязвимости в будущих выпусках кода, чтобы общий риск продолжал снижаться с течением времени.
5. МОНИТОРИНГ
Мониторинг – это этап конвейера DevSecOps после отправки, на котором группы разработчиков отслеживают общее состояние безопасности программного актива по мере его запуска в рабочей среде. Этот этап необходим для выявления новых уязвимостей или неправильных конфигураций, которые могут возникнуть с течением времени, или даже выявления слабых мест, которые всегда присутствовали, но не учитывались методами обеспечения безопасности перед отправкой.
Этап мониторинга может включать в себя различные методы обеспечения безопасности, такие как:
- Регулярное завершение оценок безопасности и пентестов, чтобы увидеть, как производственный программный актив противостоит реальным угрозам.
- Использование программ вознаграждения за обнаружение ошибок и программ раскрытия уязвимостей (VDP) для предоставления постоянного источника уязвимостей, неправильных конфигураций, злоупотреблений бизнес-логикой и других проблем, которыми может воспользоваться злоумышленник.
Даже с «идеальными» процессами DevSecOps невозможно выявить все проблемы и риски, связанные с программным активом, до того, как он будет запущен в производство. Быстрые изменения означают вероятное появление со временем новых проблем или новых и непредсказуемых угроз. Этап мониторинга помогает командам разработчиков отслеживать и снижать профиль рисков программных активов с течением времени, обеспечивая их устойчивость к атакам при выполнении своих бизнес-целей.
DevSecOps — это идеал, а не предписание
Важно понимать, что хотя приведенная выше диаграмма конвейера DevSecOps кажется простой, реализация DevSecOps в каждой организации отличается. Не все методы обеспечения безопасности можно внедрять перед каждой отправкой кода, особенно для групп разработчиков с быстрыми циклами. Например, команда, которая отправляет код два раза в день, не может рассчитывать на выполнение проверки кода вручную перед каждой отправкой.
Вместо этого каждая организация должна поэкспериментировать, прежде чем остановиться на конвейере DevSecOps, который уравновешивает потребность в безопасности с операционными проблемами, такими как скорость, ресурсы и управление рисками.
Улучшите DevSecOps с помощью HackerOne
HackerOne предоставляет доступ к крупнейшему в мире сообществу этичных хакеров, которые обладают полным спектром навыков и опыта тестирования, чтобы помочь командам разработчиков находить и устранять уязвимости в программных активах. Это включает:
- Поддержка моделирования угроз с помощью HackerOne Insights
- Автоматизированная и ручная проверка кода как услуга
- Оценки безопасности и пентесты, выполненные хакерами с опытом работы в предметной области
- Непрерывное тестирование через Bug Bounty или VDP
- Успешно решена проблема проверки с помощью повторного тестирования HackerOne.
Мы разрабатываем наши услуги для поддержки современного конвейера DevSecOps. Платформа управления устойчивостью к атакам HackerOne помогает командам разработчиков защитить свои конвейеры и ликвидировать пробелы в устойчивости к атакам, с которыми сегодня сталкиваются многие организации — разницу между активами, которые вы знаете и можете защитить, и неизвестными и незащищенными — за счет постоянного улучшения видимости и исправления в вашей развивающейся поверхности атак. . Мы помогаем вам достичь устойчивости к атакам. Свяжитесь с нами, чтобы узнать больше.
Статья является переводом hackerone.com