Бакалавриат
2025/2026



Разработка безопасного ПО
Статус:
Курс по выбору (Программная инженерия)
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
3-й курс, 1, 2 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
5
Контактные часы:
56
Программа дисциплины
Аннотация
Дисциплина «Разработка безопасного ПО» формирует у студентов практические умения разрабатывать и выпускать программный продукт с учётом требований безопасности. Курс продолжает ранее освоенные основы кибербезопасности, конструирования программного обеспечения, тестирования и работы с требованиями. Основой курса является сквозной командный проект: студенты формулируют требования безопасности, строят модель угроз, реализуют и проверяют защитные меры, интегрируют SAST, поиск секретов, SCA, SBOM, DAST и сканирование контейнерного образа в CI/CD, разбирают результаты и обосновывают решение о выпуске.
Цель освоения дисциплины
- Сформировать у студентов способность применять практики безопасной разработки при создании и выпуске программного продукта: формулировать проверяемые требования безопасности, анализировать угрозы и дефекты, реализовывать и проверять защитные меры, интегрировать стандартные средства контроля безопасности приложений в CI/CD и обосновывать решение о готовности версии к выпуску.
Планируемые результаты обучения
- Формулировать требования безопасности (NFR) и выполнять моделирование угроз: строить контекст/DFD, применять STRIDE, составлять регистр угроз и мер с критериями приёмки.
- Настраивать базовый DevOps-процесс: организовывать ветвление в Git, собирать приложение в Docker (multi-stage), поднимать reproducible окружение и настраивать CI/CD с автотестами и артефактами.
- Реализовывать безопасное кодирование: вводная валидация/канонизация, защита от XSS/SQLi/десериализации; AuthN/AuthZ (OIDC/JWT, роли), покрытие модулей тестами не ниже оговорённого порога.
- Автоматизировать DevSecOps-контроли: подключать SAST, secret-scan, dependency-скан с SBOM; запускать DAST для API; интерпретировать отчёты и вносить фикс-коммиты/MR с обоснованием по рискам.
- Укреплять контейнеры и инфраструктуру как код: non-root, минимальные образы, ограничение capabilities, скан образов (Trivy), проверка IaC-политик (Checkov); добиваться отсутствия High/Critical-находок.
- Организовывать наблюдаемость и реагирование: включать структурные логи, задавать правила оповещений, проводить краткий пост-мортем и документировать решения по рискам.
Содержание учебной дисциплины
- Безопасность в программной инженерии
- Требования безопасности и NFR
- Моделирование угроз: контекст, DFD, STRIDЕ
- Безопасное проектирование
- Безопасное кодирование и валидация
- Культура DevOps и DORA-метрики
- Контейнеризация и сборка
- CI/CD: конвейеры и секреты
- Цепочка поставок и зависимости (SBOM)
- SAST, secret-scan, policy-as-code
- DAST и тестирование API безопасности
- Безопасность контейнеров и IaC
- Наблюдаемость, аудит и реагирование
- Приватность и интеграция DevSecOps
Элементы контроля
- QКвиз «Основы ИБ»
- TMПакет «Требования безопасности + Модель угроз»
- DVМини-проект «DevOps-конвейер»
- DSОтчёт «DevSecOps-сканы и харднинг»
- PLСредний балл за практики и лабораторные
- EXЭкзамен (письменно + устная защита)