AppSec: SecDevOps или DevSecOps? Нужно ли нам выбирать? Путеводитель что и почему

AppSec: SecDevOps или DevSecOps? Нужно ли нам выбирать? Путеводитель что и почему

29 октября 2022 г.

AppSec: DevOpsSec, DevSecOps и SecDevOps? В чем их отличие и какой из них лучше?

Благодаря облачным вычислениям разработка программного обеспечения (DevOps) стала более гибкой и автоматизированной, но людям стало сложнее отслеживать проблемы, особенно лазейки в системе безопасности. По этой причине все больше и больше профессионалов переключают свое внимание с DevOps на DevSecOps и SecDevOps.

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

1# DevOpsSec — традиционный способ обеспечения безопасности при разработке программного обеспечения

Waterfall SDLC | Image by the author

:::подсказка Что такое DevOps?

  • Разработчик (Разработка) в основном отвечает за разработку программ, улучшение качества программного обеспечения и тестирование работы программ.
  • Ops (Operations) в основном отвечает за обслуживание системы, настройку системной архитектуры и мониторинг работы.

:::

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

  1. Анализ,
  2. Требования
  3. Дизайн,
  4. Разработка
  5. Тестирование,
  6. Развертывание и
  7. Техническое обслуживание.

Безопасность не будет иметь значения до шага 6, развертывания. Следовательно,

DevOpsSec = Разработка (Разработка) + Эксплуатация (Эксплуатация) + Безопасность (Секунда).

Где Безопасность считается дополнением, а не встроенным компонентом. С другой стороны, DevOps использует методологии Waterfall и Agile, которые преобразили отрасль, и ландшафт угроз также изменился. в более последовательную и опасную угрозу безопасности предприятия.

2 # DevSecOps — встроенные, а не прикрученные

DevSecOps | Image by the author

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

Согласно специальной публикации NIST 800-204C, реализация DevSecOps для приложения на основе микросервисов с Сервисная сетка:

<цитата>

весь набор исходного кода, задействованного в среде приложения, можно разделить на пять типов кода:

  1. код приложения,
  2. код прикладных служб,
  3. инфраструктура как код,
  4. политика как кодекс,
  5. и наблюдаемость как код.

DevOpsSec не поспевает за скоростью разработки, и легко выявить слабые места и лазейки. Таким образом, наступает DevSecOps, где «Sec» смещен в середину. А DevSecOps (разработка, безопасность и эксплуатация) предлагает быстрое развертывание и обновление, интегрируя безопасность в жизненный цикл.

DevSecOps — это культура внедрения «Sec» в DevOps, а реализация «Sec» в DevOps предназначена не только для сохранения первоначальной эффективности, но и для обеспечения того, чтобы элементы безопасности всего DevOps избежать негативных последствий. Таким образом, безопасность снова станет обязанностью каждого. Чтобы внедрить хорошую культуру безопасности, все в команде должны быть осведомлены о кибербезопасности и нести совместную ответственность за кибербезопасность.

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

:::подсказка NIST SP 800-204C содержит руководство по реализации примитивов DevSecOps для эталонной платформы, на которой размещается облако. -родное приложение с перечисленными выше типами кода. В руководстве также обсуждаются преимущества этого подхода для гарантии высокого уровня безопасности и обеспечения непрерывной работы (C-ATO).

:::

Проблемы, с которыми сталкивается DevSecOps: эффективность, внешние угрозы и устойчивость

1# Эффективность

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

.

2# Внешние угрозы

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

3# Устойчивое развитие

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

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

Команды l, особенно команда безопасности, будут утомлены растущим числом уязвимостей и более быстрым циклом разработки.

DevSecOps и PPT Framework (люди, процессы, технологии):

DevSecOps vs. People, Process, Technology | Image by the author

1# Автоматизация (технология)

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

2# Понимание всего цикла DevSecOps (процесса)

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

3# Внедрите образ мышления в отношении безопасности (люди)

Самый простой способ повысить общую осведомленность – идти сверху вниз. Капитаны команд будут совместно реализовывать образ мышления в области безопасности — устанавливать четкие и достижимые цели, контролировать весь персонал и совместно реализовывать команду, сознательно поддерживая безопасность.

3# SecDevOps — следующий шаг в «Сдвиге влево» в безопасности приложений

«Уязвимость CVSS 10/10» — с конца 2021 года до сегодняшнего дня Log4Shell приводил к тому, что глобальные предприятия сходили с ума. А устранение уязвимости еще более утомительно и затяжно. Log4Shell не первый и не последний, кто предупреждает об угрозе безопасности приложений.

Distribution of vulnerabilities by severity over time – Image Source: NIST

Когда мы смотрим на другой набор статистических данных Национального института стандартов и технологий (NIST) показывает количество новых уязвимостей. наблюдается экспоненциальный рост, в то время как организации изо всех сил пытаются противостоять им. Сообщество безопасности находит способы снизить некоторые из этих рисков, но как? Один из возможных способов — внедрить безопасный DevOps.

Компонентизация повышает скорость и эффективность

Разбивая большие приложения на небольшие многократно используемые компоненты (или микросервисы), разработчики могут работать более гибко и непрерывно, поэтапно. Между тем API побуждают компании разбивать возможности на отдельные автономные сервисы. Запуск приложений на основе микросервисов может помочь обеспечить хорошее взаимодействие с пользователем (UX) на всех устройствах. Стратегия «API-first» побуждает организации создавать API-интерфейсы, которые обслуживают все приложения и могут эффективно разрабатываться и поддерживаться для всех устройств, платформ и операционных систем.

Интересно, что рост приоритета API в разработке программного обеспечения фактически повысил безопасность программного обеспечения, сократив среднее время исправления ошибок примерно на 50% при использовании статического анализа для API или микросервисов. Сканирование API также помогает организациям более эффективно находить и устранять уязвимости в системе безопасности на ранних стадиях API.

Автоматизация отодвигает безопасность еще дальше

Source: Veracode platform showing Static Scan data

По данным Veracode кибербезопасность становится все более автоматизированной и компонентной, чтобы соответствовать современной архитектуре программного обеспечения и методам разработки. Анализ 5 446 170 статических сканирований и более 310 000 приложений за 13 месяцев с сентября 2020 г. по октябрь 2021 г. показал ошеломляющее 143% увеличение количества небольших приложений, таких как API и микросервисы, выполняемых через API автоматизированных сканирований, на 133%.< /сильный>

Пандемия Covid-19 ускорила цифровую трансформацию, и компании активно конкурируют за запуск цифровых продуктов и услуг. Стремление разработчиков разрабатывать и развертывать программное обеспечение быстрее, чем когда-либо, подталкивает их к DevSecOps, объединяя разработку, безопасность и эксплуатацию, что делает AppSec неотъемлемой частью SDLC.

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

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

От DevSecOps к SecDevOps

Необходима комплексная, полностью интегрированная платформа безопасности с небольшим набором инструментов, чтобы идти в ногу с модернизацией приложений и поддерживать всеобъемлющую или постоянную безопасность, потому что:

  1. Моделирование угроз гарантирует, что только безопасные компоненты будут включены в проект еще на этапе проектирования. Это означает дальнейшее смещение в сторону безопасности: DevSecOps теперь становится SecDevOps, чтобы гарантировать, что программное обеспечение "безопасно по замыслу".
  2. Полностью интегрированный, но также открытый для новых технологических плагинов, охватывающий все возможные аспекты анализа кода. Этот подход "единого окна" позволяет специалистам по безопасности и разработчикам понимать риски, расставлять приоритеты в усилиях по устранению недостатков, а также определять и отслеживать цели прогресса по нескольким параметрам.
  3. Обеспечить беспроблемный опыт разработчиков, который позволяет выполнять анализ безопасности в соответствии с требованиями разработчиков за счет:

  4. IDE (интегрированные среды разработки),

  5. Конвейеры CI/CD (непрерывная интеграция, непрерывная разработка),
  6. код & репозиторий контейнеров и;
  7. системы отслеживания дефектов.

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

:::информация Дополнительная литература: Бомбы замедленного действия внутри программного обеспечения: 0- День Log4Shell — это только верхушка айсберга

:::

Сейчас предприятия ожидают следующего этапа в области безопасности программного обеспечения, чтобы обеспечить себе душевное спокойствие. Это означает предоставление гарантий непрерывной оркестровки, например:

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

Количество и угроза программных уязвимостей и уязвимостей нулевого дня растут от Log4j2.x до Log4Shell и теперь Text4Shell, которые продолжают вызывать глобальную панику, все еще используются. Для групп разработчиков приложений и безопасности безопасность программного обеспечения продолжает смещаться влево в сторону важности SecDevOps, и безотлагательность очевидна.

Резюме: SecDevOps против DevSecOps против DevOpsSec

Заключительные слова: есть причины и для того, и для другого

Photo by the author

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

* DevSecOps в первую очередь занимается интеграцией процессов безопасности в цикл DevOps при сохранении эффективности; * SecDevOps отдает приоритет безопасности не меньше, чем фактические шаги по включению безопасности в сам процесс DevOps.

DevSecOps означает предоставление безопасного программного обеспечения процессов, достаточно устойчивых для восстановления после неизбежных уязвимостей и кибератак. Это не означает, что критическая уязвимость не задержит дату поставки. Но это помогает гарантировать, что уязвимость в некритическом месте, например, в приложении, не имеющем выхода в Интернет, защищенном брандмауэром, не будет рассматриваться так же, как уязвимость, которая может привести к финансовым потерям.< /p>

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

Однако SecDevOps нуждается в культурных изменениях. Например, командам DevOps, которые привыкли расставлять приоритеты для быстрых выпусков, может быть сложно расставлять приоритеты и уделять внимание безопасности при соблюдении сжатых сроков.

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

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

Есть причины для каждого подхода.

Допустим, у вас есть команда разработчиков; было бы разумно инвестировать в разработчиков с мышлением безопасности, в этом случае - SecDevOps. Приложения, которые в настоящее время находятся на стадии разработки, должны следовать этому правилу, поскольку изменения вносятся на каждом этапе разработки в соответствии с методами безопасного кодирования, что экономит время и деньги на более поздних этапах.

Но для многих устаревших приложений на рынке, которым уже несколько десятков лет. В них сделано много итераций кода, и код редактируется столько раз, что переход на SecDevOps для них практически неосуществим. Для таких приложений DevSecOps — единственный доступный вариант.

Для меня? Я бы выбрал SecDevSecOpsSec.


Спасибо, что прочитали. Да пребудет с вами информационная безопасность🖖.


Оригинал