2.1. Основные концепции DevSecOps.
Тренды разработки современного ПО (внедрение практик DevOps, снижение общих сроков разработки ПО (time to market), повышение гибкости в разработке ПО, переход от монолитных к микросервисным приложениям, динамическое выделение ИТ-ресурсов, повышение внимания к вопросам разработки безопасного ПО).
Основные понятия и определения DevOps и DevSecOps.
Ключевые компоненты DevSecOps (анализ кода, управление изменениями, мониторинг соотвествия, иследование угроз безопасности, оценка уязвимости кода, обучение и повышение осведомленности)
Основные этапы DevSecOps (разработка приложения и работа с репозиторием программ, непрерывная интеграция (CI) и тестирование приложения, непрерывное развертывание (CD) приложения в рабочей среде, контроль новой версии приложения в рабочей среде).
Возможные сценарии интеграции DevSecOps в процессы и инфраструктуру компании.
Адаптации функции кибербезопасности и интеграции DevSecOps.
Проведение оценки безопасности процесса разработки, а также идентификация ключевых рисков и риск-факторов, связанных с недостатками процесса.
Ключевые точки процесса разработки, где необходимо включение мер безопасности.
Информирование сотрудников о критических рисках и мерах для их снижения.
2.2. Основные практики DevSecOps. Моделирование угроз безопасности (Threat modeling).
Контроль компонент с открытым исходным кодом (Open Source Analysis, OSA).
Статический анализ кода (Static Application Security Testing, SAST).
Контроль состава компонент ПО (Software Composition Analysis, SCA).
Динамический анализ кода (Dynamic Application Security Testing, DAST/Interactive Application Security Testing, IAST/Behavioral Application Security Testing, BAST).
Фаззинг-тестирование (fuzzing).
Анализ бинарного кода и контроль состава контейнеров (Bytecode and Container Analysis, BCA).
Решения для выявления и нейтрализации уязвимостей программного кода.
Реализация WAF (Web Application Firewall).
2.3 Трансформация DevOps в DevSecOps. Использование безопасных по умолчанию библиотек, фреймворков и компонент ПО в процессе разработки (Secure-by-Default).
Интеграция технологических практик ИБ в начало конвейера CI/CD (Shift-Left подход).
Автоматизация процессов в концепции Everything-as-a-Code.
Формирование сообщества security-чемпионов в производственных командах для повышения инженерной security-культуры.
Применение модели зрелости DevSecOps для оценки существующего процесса и для постоянного совершенствования.
Обеспечение прозрачности security активностей для участников инженерного производственного процесса.
DevSecOps-оркестрация (Application Security Testing Orchestration, ASTO) для непрерывного улучшения процесса разработки безопасного ПО.
2.4 Национальные требования (ГОСТ Р 56939-2016 и ГОСТ Р ИСО/МЭК 12207) в части разработки безопасного ПО.
Требования в части идентификации и аутентификации.
Требования по защите от несанкционированного доступа к информации.
Требования в части регистрации событий безопасности.
Требования контроля точности, полноты и правильности входных и выходных данных.
Требования по обработке программных ошибок и исключительных ситуаций.
Требования класса ASE "Оценка задания по безопасности" (ГОСТ Р ИСО/МЭК 15408-3).
Меры по разработке безопасного программного обеспечения, реализуемые при выполнении инсталляции программы и поддержки приемки программного обеспечения.
Меры по разработке безопасного программного обеспечения, реализуемые при решении проблем в программном обеспечении в процессе эксплуатации.
Меры по разработке безопасного программного обеспечения, реализуемые в процессе менеджмента инфраструктурой среды разработки программного обеспечения.
2.5 Роли и кадровое обеспечение DevSecOps.
Принятие методологии разработки безопасного ПО, DevSecOps (оценка текущих мер безопасности и распределение ролей в команде разработки ПО, внедрение мер безопасности на стадии проектирования программных систем, внедрение инструментов и авто-тестов безопасности в пайплайн, тестирование безопасности разработанных решений, анализ выявленных уязвимостей и подготовка рекомендаций по их устранению, обучение лучшим практикам разработки безопасного ПО, Best Practices).
Распределение ролей в процессе DevSecOps (продакт менеджер, архитектор, команда разработки, QA, AppSec специалист, DevOps инженер).
Воспитание чемпионов безопасности Security Champions (масштабирование безопасности с помощью нескольких команд разработки, привлечение сотрудников, не связанных с безопасностью, но связанных с DevOps, создание и развитие культуры безопасности).
Повышение осведомленности по вопросам разработки безопасного ПО.
Развитие корпоративной культуры DevSecOps и безопасности в целом.