Модуль 2
116,00ч

Профильный модуль. Разработка безопасного ПО.

В профильном модуле "Разработка безопасного ПО" слушатели познакомятся с основными концепциями DevSecOps, основными практиками DevSecOps, трансформацией DevOps в DevSecOps, национальными требования (ГОСТ Р 56939-2016 и ГОСТ Р ИСО/МЭК 12207) в части разработки безопасного ПО, изучат роли и кадровое обеспечение DevSecOps, отработают на практике полученные знания.
Часов в программе
54,00 часа
лекции
60,00 часов
практика
2,00 часа
промежуточная аттестация
116,00 часов
всего
Материально-технические условия реализации программы:
Вид занятий: лекции, практическая, самостоятельная работа
Требуемое ПО:
Интерпретатор языка Python, Командная строка или терминал, Текстовый редактор Notepad++, Интегрированная среда разработки, которая включает в себя: редактор программного кода с подсветкой синтаксиса, отладчик языка Python, инспектор переменных программного кода.
Транслятор и библиотеки С++,
Инструменты разработки DevSecOps :
Jira, Confluence, Service Manager, MatterMost, BitBucket для управления разработкой, поддержки документации, управления сопровождением, создания и поддержки инженерного чата разработки, управления исходным кодом, кодом тестирования и кодом развертывания.
SonarQube, Nexus RepoManager для сканирования кода на качество, проксирования библиотек и для работы с артефактами сборки.
Nexus RepoManager для управления дистрибутивами (в т.ч. docker registry)
TeamCity для оркестрации сборки, тестирования и развертывания
Hasicorp Vault, Test IT, Selenoid для автоматизированного функционального тестирования
Mobile Center, Performance Center & Service, Virtualization, Nexus IQ – для нагрузочного тестирования мобильных приложений
Fortify, Fortify WebInspector, TrendMicro SmartCheck,
Swagger для сканирования кода на уязвимости, сканирования приложения на уязвимости, сканирования контейнеров на уязвимости, управления API
Информационные ресуры
Информационный раздел для оказания информационно-методической поддержки слушателям курса, где представлены расписание занятий, методические рекомендации по организации обучения, объявления и др.https://do.academyit.ru/course/view.php?id=785#section-2
Консультационная и информационная поддержка слушателей на протяжении всего периода обучения осуществляется на форуме
Ссылка на форум: https://do.academyit.ru/mod/forum/view.php?id=45725
Образовательные ресуры
Электронное учебно-методическое пособие Профильный модуль. Разработка безопасного ПО: https://do.academyit.ru/course/view.php?id=785#section-5

Учебно-методические материалы

Методы, формы и технологии

лекции, практические задания, самостоятельная работа

Методические разработки

практические кейсы

Материалы курса

Презентации по темам:
Основные концепции DevSecOps.
Тренды разработки современного ПО (внедрение практик DevOps, снижение общих сроков разработки ПО (time to market), повышение гибкости в разработке ПО, переход от монолитных к микро сервисным приложениям, динамическое выделение ИТ-ресурсов, повышение внимания к вопросам разработки безопасного ПО).
Основные понятия и определения DevOps и DevSecOps
Ключевые компоненты DevSecOps (анализ кода, управление изменениями, мониторинг соответствия, исследование угроз безопасности, оценка уязвимости кода, обучение и повышение осведомленности)
Основные этапы DevSecOps (разработка приложения и работа с репозиторием программ, непрерывная интеграция (CI) и тестирование приложения, непрерывное развертывание (CD) приложения в рабочей среде, контроль новой версии приложения в рабочей среде).
Возможные сценарии интеграции DevSecOps в процессы и инфраструктуру компании.
Адаптации функции кибербезопасности и интеграции DevSecOps
Проведение оценки безопасности процесса разработки, а также идентификация ключевых рисков и риск-факторов, связанных с недостатками процесса.
Ключевые точки процесса разработки, где необходимо включение мер безопасности
Информирование сотрудников о критических рисках и мерах для их снижения.
Основные практики 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).
Трансформация DevOps в DevSecOps. Использование безопасных по умолчанию библиотек, фреймворков и компонент ПО в процессе разработки (Secure-by-Default).
Интеграция технологических практик ИБ в начало конвейера CI/CD (Shift-Left подход).
Автоматизация процессов в концепции Everything-as-a-Code.
Формирование сообщества security-чемпионов в производственных командах для повышения инженерной security-культуры.
Применение модели зрелости DevSecOps для оценки существующего процесса и для постоянного совершенствования.
Обеспечение прозрачности security активностей для участников инженерного производственного процесса.
DevSecOps-оркестрация (Application Security Testing Orchestration, ASTO) для непрерывного улучшения процесса разработки безопасного ПО.
Национальные требования (ГОСТ Р 56939-2016 и ГОСТ Р ИСО/МЭК 12207) в части разработки безопасного ПО.
Требования в части идентификации и аутентификации
Требования по защите от несанкционированного доступа к информации.
Требования в части регистрации событий безопасности.
Требования контроля точности, полноты и правильности входных и выходных данных.
Требования по обработке программных ошибок и исключительных ситуаций.
Требования класса ASE "Оценка задания по безопасности" (ГОСТ Р ИСО/МЭК 15408-3).
Меры по разработке безопасного программного обеспечения, реализуемые при выполнении инсталляции программы и поддержки приемки программного обеспечения.
Меры по разработке безопасного программного обеспечения, реализуемые при решении проблем в программном обеспечении в процессе эксплуатации.
Меры по разработке безопасного программного обеспечения, реализуемые в процессе менеджмента инфраструктурой среды разработки программного обеспечения.
Роли и кадровое обеспечение DevSecOps.
Принятие методологии разработки безопасного ПО, DevSecOps (оценка текущих мер безопасности и распределение ролей в команде разработки ПО, внедрение мер безопасности на стадии проектирования программных систем, внедрение инструментов и авто-тестов безопасности в пайплайн, тестирование безопасности разработанных решений, анализ выявленных уязвимостей и подготовка рекомендаций по их устранению, обучение лучшим практикам разработки безопасного ПО, Best Practices).
Распределение ролей в процессе DevSecOps (продакт менеджер, архитектор, команда разработки, QA, AppSec специалист, DevOps инженер).
Воспитание чемпионов безопасности Security Champions (масштабирование безопасности с помощью нескольких команд разработки, привлечение сотрудников, не связанных с безопасностью, но связанных с DevOps, создание и развитие культуры безопасности).
Повышение осведомленности по вопросам разработки безопасного ПО.
Развитие корпоративной культуры DevSecOps и безопасности в целом.

Учебная литература

1. Jennifer Davis, Ryn Daniels. Effective DevOps: Building a Culture of Collaboration, Affinity, and Tooling at Scale. 2016. 410 p.
есть перевод на русский язык - Философия DevOps. Искусство управления IT | Дэвис Дженнифер, Дэниелс Кэтрин
2. Learning DevSecOps. by Michelle Ribeiro, Released May 2022, Publisher(s): O'Reilly Media, Inc. ISBN: 9781098106928
3. Гэри Грувер: Запуск и масштабирование DevOps на предприятии
4. Вехен Дж. Безопасный DevOps. Эффективная эксплуатация систем. СПб.: Питер, 2020. – 432 с.
5. ГОСТ Р 57628–2017 Информационная технология (ИТ). Методы и средства обеспечения безопасности. Руководство по разработке профилей защиты и заданий по безопасности.

Темы

Тема 2.1. Основные концепции DevSecOps Тема 2.2 Основные практики DevSecOps Тема 2.3. Трансформация DevOps в DevSecOps Тема 2.4. Национальные требования (ГОСТ Р 56939-2016 и ГОСТ Р ИСО/МЭК 12207) в части разработки безопасного ПО Тема 2.5. Роли и кадровое обеспечение DevSecOps
Лекции
10,00ч
Практические занятия
12,00ч
Всего
22,00ч
Лекции
12,00ч
Практические занятия
12,00ч
Всего
24,00ч
Лекции
12,00ч
Практические занятия
12,00ч
Всего
24,00ч
Лекции
12,00ч
Практические занятия
12,00ч
Всего
24,00ч
Лекции
8,00ч
Практические занятия
12,00ч
Всего
20,00ч
Промежуточная аттестация 2,00 часа
Выполнение практических заданий