• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Статья DevSecOps. Начало

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

О чем будет в статьях?

Начнем с определений и общей информации, что есть SDLC ( Software Development LifeCycle ) - Цикл Разработки Программного Обеспечения. Состоит он из 6-и пунктов:
  1. Планирование
  2. Анализ требований
  3. Проектирование и дизайн
  4. Разработка ПО
  5. Тестирование
  6. Поддержка и сопровождение
DevOps - методология и техники по автоматизации этапов SDLC и ускорению доставки готового продукта пользователю.
SSDLC ( Secure Software Development LyfeCycle) - цикл разработки ПО с поправкой на безопасность на каждом этапе разработки ПО
DevSecOps - методология и техники по автоматизации этапов SSDLC и ускорению доставки готового продукта пользователю.

Если у вас налажен SDLC, каждый этап обязателен и каждый член команды выполняет свою роль в этих этапах. Все строго и по полочкам. То у вас на выходе уже получается отличный продукт, но вот его “доставка” до конечного пользователя занимает месяцы. Если SDLC нет, то в этом пункте мы будем подробнее рассматривать SDLC и что нужно для его внедрение.

Если SDLC внедрен, вы готовы для внедрения DevOps. На этом этапе вы автоматизируете каждый пункт, который раньше делался руками. Если у вас настроен четкий процесс разработки ПО, то тут не будет ничего сложного. Мы рассмотрим внедрение DevOps и как автоматизировать рутинные задачи. А так же про Infrastructure as a Code (IaC).

Настало время для внедрения DevSecOps! Еще нет. Для начала нужно внедрить SSDLC. Это надолго. Вам нужны специалисты, которые смогут обеспечивать безопасность на каждом этапе. В этом пункте мы пересмотрим SDLC, с поправкой на безопасность.

И вот тут долгожданное внедрение DevSecOps. Как и с DevOps, если у вас настроен процесс SSDLC, то проблем не возникнет. Достаточно будет автоматизировать уже существующие шаги.

Бонус: Ansible и немного Kubernetes.

В этой статье теория про SDLC.
SDLC (1).png


Что такое SDLC думаю уже всем понятно, это то, что позволяет продуктам выходить за рамки пэт-проектов и доходить до конечного пользователя.
Рассмотрим каждый этап разработки и посмотрим что нужно для его внедрения.
  1. Планирование​

Фаза планирования - наиболее критичный шаг в создании успешной системы. Во время этой фазы вы точно решаете, что хотите сделать и какие проблемы решить, при помощи:
  • определения проблем, целей и ресурсов (таких, как персонал и издержки);
  • изучения возможностей альтернативных решений путем встреч с клиентами, поставщиками, консультантами и сотрудниками;
  • изучения, как сделать ваш продукт лучше, чем у конкурентов.
Кто нужен:
  • заказчик - должен сказать чего он хочет.
  • руководитель проекта - должен сказать как это сделать
  • бизнес-аналитик
  1. Анализ требований​

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

Определение дизайна и архитектуры ПО, а также другие особенности реализации, например, UI/UX-дизайн. Фаза дизайна наступает после того, как достигнуто хорошее понимание требований потребителя. Эта фаза определяет элементы системы, компоненты, уровень безопасности, модули, архитектуру, различные интерфейсы и типы данных, которыми оперирует система. Дизайн системы в общих чертах может быть сделан ручкой на листке бумаги - он определяет, как система будет выглядеть и как функционировать. Затем делается расширенный, детальный дизайн, с учетом всех функциональных и , как логически, так и физически.
Кто нужен:
  • ИТ-архитектор - выбирает стек и продумывает взаимодействие элементов
  • Дизайнер
  • Системный аналитик
  1. Разработка ПО​

Реализация всех запланированных требований, что делают программисты/разработчики ПО. В жизненном цикле разработки системы именно здесь пишется код, а если система включает хардверную часть, фаза внедрения будет включать в себя конфигурацию и настройку «железа» под определенные требования и функции. На этой стадии система готова к установке у заказчика, к запуску в боевом режиме. Возможно, конечным пользователям потребуется тренинг, чтобы они освоились с системой и знали, как ее использовать. Фаза внедрения может быть очень долгой - это зависит от сложности системы.
Кто нужен:
  • Разработчик
  1. Тестирование​

Тестировщики проверяют представленный разработчиками результат на соответствие требованиям и отсутствие ошибок, к делу приступают DevOps-инженеры и администраторы, которые разворачивают продукт в реальной среде эксплуатации (production).
Кто нужен:
  • Тестировщик
  • DevOps
  1. Поддержка и сопровождение​

На этой фазе осуществляется периодическая техническая поддержка системы, чтобы убедиться, что система не устарела. Сюда входит замена старого оборудования и постоянная оценка производительности. Также здесь осуществляются апдейты определенных компонентов с целью удостовериться, что система отвечает нужным стандартам и новейшим технологиям, чтобы не быть подверженной текущим угрозам безопасности.
Кто нужен:
  • Специалист ТП
  • Аналитик (чтобы написать инструкцию для ТП)
  • Тестировщик, для проверки апдейтов
 

idkfa

One Level
05.06.2020
4
1
BIT
0
Спасибо большое за статью. Я как раз нахожусь в ситуации, что мне надо привести компанию к SDLC и потом наложить на это SSDLC.
Можно может если что проконсультироваться?
 

AVA

Green Team
07.01.2022
10
37
BIT
0
Спасибо большое за статью. Я как раз нахожусь в ситуации, что мне надо привести компанию к SDLC и потом наложить на это SSDLC.
Можно может если что проконсультироваться?
Да, почему нет)
Подскажу если смогу)
 

OldGuard

One Level
28.02.2020
6
5
BIT
0
Работаю в крупной компании, где все это реализовано, подписываюсь под всеми сказанными выше словами
 
  • Нравится
Реакции: AVA

Боярин

New member
16.06.2022
1
0
BIT
0
Приветствую! Добавлю цепочку в помощь для начинающих: МУиН, ЧТЗ соиб, пз, sast, trivy, dast, pentest, waf, red team.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!