Кунниев Х. М.
Посвящена исследованию методологических и практических аспектов обеспечения информационной безопасности на всех этапах жизненного цикла программного обеспечения в условиях ускоренной цифровой трансформации. Рассматриваются современные подходы к интеграции принципов Secure SDLC в процессы разработки, тестирования и эксплуатации программных систем, включая анализ угроз, моделирование нарушителя, применение автоматизированных средств верификации и контроля защищенности кода. Особое внимание уделено адаптации международных стандартов и практик к требованиям российского законодательства и нормативной базы ФСТЭК России. Для научных работников, преподавателей, аспирантов и студентов, специалистов в области информационной безопасности, а также разработчиков программного обеспечения.
Введение 7
ГЛАВА 1. КОНЦЕПТУАЛЬНЫЕ ОСНОВЫ БЕЗОПАСНОГО ЖИЗНЕННОГО ЦИКЛА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 12
1.1. Эволюция моделей разработки ПО: от Waterfall до DevSecOps 12
1.2. Определение и компоненты Secure SDLC 13
1.3. Классификация угроз по этапам жизненного цикла 16
1.4. Международные стандарты и фреймворки 19
1.4.1. NIST SP 800-218 «Secure Software Development Framework (SSDF)» (2021) 19
1.4.2. ISO/IEC 27034 «Application Security» 20
1.4.3. OWASP SAMM 2.0 (Software Assurance Maturity Model) 20
1.4.4. BSIMM (Building Security In Maturity Model) 21
1.5. Нормативно-методическая база в Российской Федерации 23
1.5.1. Методические рекомендации ФСТЭК России «Об обеспечении ИБ при разработке ПО» (2021) 23
1.5.2. ГОСТ Р 57580.2-2019 «Защита информации. Обеспечение ИБ в жизненном цикле ПО» 23
1.5.3. Указ Президента РФ № 418 (09.07.2021) и Постановление Правительства № 253 (31.03.2022) 24
1.5.4. Проект приказа ФСТЭК «О требованиях к обеспечению ИБ при разработке ПО для КИИ» (2024) 24
1.6. Критический анализ существующих подходов: пробелы и вызовы цифровой трансформации 25
ГЛАВА 2. БЕЗОПАСНОЕ ПРОЕКТИРОВАНИЕ И АНАЛИЗ УГРОЗ 29
2.1. Принципы безопасного проектирования архитектур 29
2.1.1. Принцип наименьших привилегий (Principle of Least Privilege, PoLP) 30
2.2. Методологии угроз-моделирования: STRIDE, PASTA, LINDDUN 47
2.3. Построение диаграмм потоков данных (DFD) и деревьев атак 48
2.3.1. DFD – основа любого угроз-моделирования 48
2.3.2. Инструменты для построения DFD и деревьев атак 51
2.4. Применение онтологий (MITRE ATT&CK, CAPEC, OWL) для автоматизации анализа 58
2.4.1. MITRE ATT&CK для Enterprise 58
2.4.2. CAPEC и CWE – связка «атака–уязвимость» 59
2.4.3. OWL-онтология угроз (разработка ДГТУ) 59
ГЛАВА 3. БЕЗОПАСНАЯ РЕАЛИЗАЦИЯ И ВЕРИФИКАЦИЯ КОДА 69
3.1. Принципы безопасного программирования (secure coding) 69
3.1.1. Общие принципы, применимые ко всем языкам 69
3.1.2. Безопасная разработка на Python 70
3.1.3. Безопасная разработка на Java 73
3.1.4. Безопасная разработка на JavaScript (Node.js) 74
3.2. Статический анализ исходного кода (SAST) 76
3.3. Динамическое и интерактивное тестирование (DAST/IAST) 77
3.3.1. DAST: принципы, инструменты, ограничения 77
3.3.2. IAST: «золотая середина» между SAST и DAST 79
3.3.3. Fuzz-тестирование: выявление неочевидных сбоев 81
3.4. Кейсы выявления и устранения уязвимостей в Python-, Java- и JavaScript-проектах 81
3.5. Интеграция SAST/DAST в CI/CD-конвейер: от ручной проверки – к непрерывной безопасности 90
3.5.1. Архитектура безопасного CI/CD-конвейера 91
3.5.2. Реализация в GitLab CI (кейс: ИТ-компания «Кавказ-Софт») 91
3.5.3. Реализация в GitHub Actions (кейс: open-source проекты ДГТУ) 94
3.5.4. Политики безопасности как код (Policy-as-Code) 95
3.5.5. Метрики эффективности DevSecOps 96
3.6. Педагогический эксперимент: системное внедрение принципов Secure SDLC в учебный процесс Дагестанского государственного технического университета 97
3.6.1. Актуальность и нормативное обоснование 97
3.6.2. Цель, задачи и гипотеза эксперимента 98
3.6.3. Методология и выборка 99
3.6.4. Учебно-методический комплекс (УМК) 100
3.6.5. Результаты эксперимента 102
3.6.6. Выводы и рекомендации 103
3.7. Итоги и выводы по главе 3 104
3.8. Практические рекомендации для различных групп 106
ГЛАВА 4. УПРАВЛЕНИЕ КОМПОНЕНТАМИ, ЦЕПОЧКАМИ ПОСТАВОК И ПОСТРЕЛИЗНАЯ БЕЗОПАСНОСТЬ 108
4.1. Проблема уязвимостей в сторонних компонентах: уроки Log4Shell, SpringShell и XZ Utils 108
4.1.1. Кейсы, изменившие парадигму безопасности 108
4.1.2. Нормативная база РФ: от рекомендаций – к обязательным требованиям 109
4.1.3. Почему legacy-подходы не работают? 110
4.2. Программная ведомость (SBOM): концепция, форматы, стандарты 110
4.2.1. Что такое SBOM и зачем она нужна? 110
4.2.2. Форматы SBOM: SPDX, CycloneDX, SWID 111
4.2.3. Генерация SBOM: open-source инструменты для российских условий 112
4.2.4. Валидация SBOM: как убедиться, что она полная и корректная? 113
4.3. Сканирование зависимостей и контейнерных образов 114
4.3.1. Open-source сканеры: Trivy, Grype, ORT 114
4.3.2. Сканирование Docker-образов: от базового слоя до приложения 115
4.3.3. Интеграция в CI/CD: автоматическая блокировка при критических уязвимостях 116
4.4. Управление репозиториями и артефакториями 117
4.4.1. Nexus Repository OSS – open-source решение для РФ 117
4.4.2. Подписывание артефактов: контроль целостности от разработчика до эксплуатации 118
4.5. Метрики зрелости безопасности цепочек поставок 119
4.6. Кейсы выявления и устранения уязвимостей в транзитивных зависимостях: уроки реальных инцидентов Республики Дагестан 120
4.6.1. Технический анализ уязвимости 127
4.6.2. Обнаружение в инфраструктуре ДГТУ (март 2024 г.) 127
4.6.3. Устранение уязвимости 129
4.7. Практические рекомендации по управлению цепочками поставок 130
4.8. Образовательные аспекты управления цепочками поставок: формирование компетенций будущих специалистов в условиях технологического суверенитета 134
4.8.1. Нормативное обоснование: ФГОС ВО-3++, приказы Минобрнауки и стратегические документы 134
4.8.2. Концептуальная модель формирования компетенций 135
4.8.3. Рабочая программа модуля «Прикладной искусственный интеллект» 135
4.8.4. Лабораторный практикум (10 работ) 136
4.8.5. Фонд оценочных средств (ФОС) 138
4.8.6. Результаты педагогического эксперимента (2023–2025 гг.) 139
4.8.7. Рекомендации для вузов и Минобрнауки 140
4.8.8. Шаблоны для тиражирования 141
ГЛАВА 5. ОБРАЗОВАТЕЛЬНЫЕ И МЕТОДИЧЕСКИЕ АСПЕКТЫ ВНЕДРЕНИЯ SECURE SDLC В ВЫСШЕЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАНИЕ РОССИЙСКОЙ ФЕДЕРАЦИИ 143
5.1. Нормативно-правовая база подготовки кадров в области информационной безопасности и программной инженерии: от ФЗ-273 до национальных проектов 143
5.2. Анализ содержания образовательных программ вузов РФ: выявление пробелов и барьеров 145
5.2.1. Структурные пробелы в рабочих программах 145
5.2.2. Барьеры внедрения Secure SDLC в вузах 146
5.3. Концептуальная модель формирования компетенций в области Secure SDLC у студентов технического вуза 146
5.3.1. Матрица компетенций и этапов формирования 147
5.4. Рабочая программа дисциплины «Безопасность систем базы данных» (подробнейшее описание) 147
5.4.1. Цели и задачи дисциплины 147
5.4.2. Структура дисциплины 148
5.4.3. Перечень лабораторных работ (12 работ) 148
5.5. Фонд оценочных средств (ФОС): структура, содержание, примеры 150
5.5.1. Карта компетенций и оценочных процедур 150
5.5.2. Примеры оценочных средств 150
5.6. Педагогический эксперимент в ДГТУ (2023–2025 гг.): методология, выборка, инструментарий, результаты 151
5.6.1. Цель и задачи эксперимента 151
5.6.2. Методология 151
5.6.3. Динамика формирования компетенций (подробнейшие таблицы) 152
5.6.4. Качественный анализ: отзывы студентов и работодателей 152
5.7. Рекомендации для вузов, Минобрнауки и ФСТЭК 153
5.7.1. Для вузов 153
5.7.2. Для Минобрнауки РФ 153
5.7.3. Для ФСТЭК и Минцифры 153
5.8. Шаблоны для внедрения (полные, готовые к использованию) 154
5.8.1. Шаблон рабочей программы (фрагмент) 154
5.8.2. Шаблон ФОС (фрагмент) 154
5.8.3. Шаблон SBOM-отчета для ВКР 155
5.9. Заключение по главе 5 155
Заключение 156
Список использованных источников 159
Приложение А. Матрица «Угрозы × Этапы ЖЦ ПО» (полная) 163
Приложение Б. Чек-лист «Безопасность по этапам ЖЦ ПО» 166
Приложение В. Чек-лист «Архитектурная изоляция по ФСТЭК» 167
Приложение Г. Чек-лист «Secure Coding для студентов» 168
Приложение Д. SBOM в формате SPDX (полный JSON) 169
Приложение Е. Полный .gitlab-ci.yml для госпроектов 171
Приложение Ж. Анкета студентов (до/после обучения) 173
Приложение З. Фонд оценочных средств (ФОС) 174
Приложение И. Пример DFD и дерева атак 175
Приложение К. Указатель терминов 176