• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 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
    Экзамен (письменно + устная защита)
Промежуточная аттестация

Промежуточная аттестация

  • 2025/2026 2nd module
    0.2 * EX + 0.2 * PL + 0.15 * DS + 0.1 * Q + 0.15 * TM + 0.2 * DV

Авторы

  • Силаев Юрий Владимирович
  • Буцкая Евгения Александровна