• 4 июля стартует курс «Python для Пентестера ©» от команды The Codeby

    Понятные и наглядные учебные материалы с информацией для выполнения ДЗ; Проверка ДЗ вручную – наставник поможет улучшить написанный вами код; Помощь преподавателей при выполнении заданий или в изучении теории; Групповой чат в Telegram с другими учениками, проходящими курс; Опытные разработчики – команда Codeby School, лидер по информационной безопасности в RU-сегменте

    Запись на курс до 15 июля. Подробнее ...

  • 11 июля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 20 июля. Подробнее ...

Статья 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
Спасибо большое за статью. Я как раз нахожусь в ситуации, что мне надо привести компанию к SDLC и потом наложить на это SSDLC.
Можно может если что проконсультироваться?
 

AVA

One Level
07.01.2022
6
25
Спасибо большое за статью. Я как раз нахожусь в ситуации, что мне надо привести компанию к SDLC и потом наложить на это SSDLC.
Можно может если что проконсультироваться?
Да, почему нет)
Подскажу если смогу)
 

OldGuard

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

Боярин

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