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



Научно-исследовательский семинар "Безопасная разработка приложений"
Статус:
Курс по выбору (Программная инженерия)
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
3-й курс, 1-3 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
3
Контактные часы:
48
Программа дисциплины
Аннотация
Дисциплина «Безопасная разработка приложений» посвящена изучению методов интеграции информационной безопасности на всех этапах жизненного цикла разработки программного обеспечения (SSDLC). Студенты знакомятся с современными подходами AppSec, включая безопасное проектирование, внедрение практик в гибкие методологии (Scrum, Agile, Kanban), автоматизацию контроля безопасности в CI/CD, защиту контейнерных сред (Docker, Kubernetes), а также стратегическое планирование ресурсов и развитие культуры безопасности в организациях.
Дисциплина разработана и реализуется сотрудниками компании Positive Technologies. Ведущим преподавателем выступает директор по построению процессов DevSecOps PT - Светлана Газизова.
Цель освоения дисциплины
- 1. Сформировать целостное понимание задач и процессов Application Security в контексте жизненного цикла разработки ПО. 2. Освоить методологические подходы к интеграции AppSec в процессы CI/CD и DevSecOps. 3. Изучить современные инструменты анализа безопасности приложений (SAST, SCA, WAF) и научиться применять их на практике. 4. Получить базовые навыки моделирования угроз для различных типов приложений и инфраструктур. 5. Ознакомиться с безопасностью контейнерных и кластерных решений (Kubernetes), включая встроенные и расширенные механизмы защиты. 6. Сформировать понимание специфики безопасности ML-моделей и применения LLM в AppSec. 7. Отработать практические навыки настройки систем защиты приложений и эксплуатации учебных уязвимых приложений.
Планируемые результаты обучения
- Студент должен знать: o понимает основные уязвимости приложений и их влияние на безопасность бизнеса; o знает место AppSec в процессах разработки и сопровождения ПО; o владеет методологиями моделирования угроз (STRIDE, DFD, атака на ML-модели и др.); o знает инструменты автоматизации AppSec (SAST, SCA, WAF, средства Kubernetes); o знаком с рисками и ограничениями использования LLM и ML в DevSecOps.
- Студент должен уметь: o интегрировать практики AppSec в процессы CI/CD; o применять статический анализ и анализ состава ПО для выявления уязвимостей и уязвимых библиотек; o использовать инструменты безопасности Kubernetes для повышения уровня защищённости кластера; o моделировать угрозы и строить карту рисков для приложения; o настраивать и эксплуатировать WAF (на примере PT AF PRO).
- Навыки студента: o работа с GitLab CI/CD, настройка пайплайнов с учётом AppSec-задач; o настройка SAST и SCA-инструментов, интерпретация отчётов; o практическая работа с Kubernetes: применение встроенных политик безопасности, харденинг, использование сторонних инструментов контроля; o защита веб-приложений (VulnBank, JuiceShop) через настройку WAF и профилирование трафика; o проведение анализа угроз ML-систем и применение подходов MLSecOps.
Содержание учебной дисциплины
- Вводная лекция по AppSecПо итогам изучения темы студент будет иметь целостное представление о дисциплине Application Security, понимать её значение в условиях роста кибератак и смещения акцента на защиту приложений, знать принципы «security by design» и «shift-left» как основу построения безопасных систем, а также ориентироваться в методологиях (включая OWASP Top 10) и использовать их в образовательной и профессиональной деятельности.
- Методологический подход к выстраиванию процессов AppSec. Сценарии применения.Целью изучения темы является формирование у студентов системного понимания методик и подходов к организации процессов безопасной разработки программного обеспечения на всех этапах жизненного цикла. В рамках темы предполагается освоение современных моделей и фреймворков, применяемых в мировой практике, а также ключевых принципов интеграции безопасности в процессы разработки (Shift Left, DevSecOps).
- Gitlab CI/CD: организация разработки, исполнители конвейеров, управление артефактамиЦелью изучения темы является формирование у студентов знаний и практических навыков по организации процессов непрерывной интеграции и доставки программного обеспечения с использованием GitLab CI/CD. В рамках темы предполагается освоение методологии git-flow для управления ветвлениями и релизами, принципов работы Runners как исполнителей конвейера, а также роли подсистемы хранения артефактов в обеспечении воспроизводимости и качества программного продукта.
- Инструменты AppSec: от кода до защиты productionsЦелью изучения темы является формирование у студентов целостного представления о современных инструментах Application Security и их роли в построении сквозного контура защиты программного обеспечения. В рамках темы предполагается освоение принципов анализа секретов в кодовой базе, методов SCA и SAST для выявления уязвимостей и рисков, а также подходов к runtime-защите приложений, обеспечивающих безопасность на всех этапах жизненного цикла разработки и эксплуатации.
- SAST, статический анализ безопасности приложений: методы, применение, инструменты.Целью изучения темы является формирование у студентов системного понимания роли и возможностей Static Application Security Testing (SAST) в обеспечении безопасности программного обеспечения. В рамках темы предполагается освоение методов статического анализа исходного кода и артефактов сборки, изучение места SAST в цепочке DevSecOps и CI/CD, а также ознакомление с современными инструментами и решениями для автоматизированного выявления уязвимостей и нарушений практик безопасного программирования.
- Анализ состава программного обеспечения (SCA): назначение, методы, инструментыЦелью изучения темы является формирование у студентов знаний о роли и значении Software Composition Analysis (SCA) в обеспечении безопасности программного обеспечения. В рамках темы предполагается освоение методов анализа сторонних библиотек и зависимостей, включая построение SBOM, сопоставление с базами уязвимостей и контроль обновлений, а также ознакомление с современными инструментами и практиками применения SCA на стадиях разработки и эксплуатации.
- Введение в моделирование угрозЦелью изучения темы является формирование у студентов системного понимания методик моделирования угроз на этапе проектирования информационных систем. В рамках занятия предполагается освоение подходов к построению моделей атакующих, определению их целей и возможностей, выявлению критически важных компонентов системы, а также формированию сценариев атак и выбору превентивных мер защиты.
- Методологии моделирования угрозЦелью изучения темы является формирование у студентов знаний о методологиях моделирования угроз (SDL, STRIDE, PASTA) и их применении в процессах безопасной разработки. В рамках занятия предполагается освоение подходов к систематизации активов и угроз, выявлению сценариев атак и уязвимостей архитектуры, приоритизации рисков и проектированию защитных мер, а также интеграции моделирования угроз в жизненный цикл разработки (SSDLC) для снижения издержек на устранение уязвимостей.
- Введение в Kubernetes: теоретический минимумЦелью изучения темы является формирование у студентов базовых знаний о Kubernetes как системе оркестрации контейнеров и её роли в современной облачно-нативной инфраструктуре. В рамках модуля предполагается освоение ключевых концепций (Pod, Service, Deployment), понимание архитектуры кластера (master-plane и рабочие узлы), а также осознание значимости Kubernetes как платформы для DevOps-процессов и разработки облачных приложений.
- Встроенные инструменты безопасности и харденинг Kubernetes.Целью изучения темы является формирование у студентов системного понимания встроенных механизмов безопасности Kubernetes и практик их применения для защиты контейнерной инфраструктуры. В рамках модуля предполагается освоение базовых средств управления доступом и изоляции (RBAC, Namespaces, сетевые политики), механизмов контроля конфигураций (Pod Security Standards, Admission Controllers), а также стратегий hardening кластера с использованием secrets management, SecurityContext и инструментов экосистемы (kube-bench, kube-hunter, OPA/Gatekeeper).
- Расширенные инструменты контроля безопасности кластера KubernetesЦелью изучения темы является формирование у студентов знаний о расширенных инструментах обеспечения безопасности Kubernetes, дополняющих встроенные механизмы кластера. В рамках модуля предполагается освоение подходов к мониторингу конфигураций и политик (OPA/Gatekeeper, Kyverno), применению средств аудита и реагирования на события безопасности (Falco, Audit Logs), а также изучение практик проактивного обнаружения уязвимостей (kube-bench, kube-hunter), управления секретами и интеграции с внешними системами. Особое внимание уделяется инструментам непрерывного контроля за состоянием инфраструктуры и безопасности в промышленных средах.
- Использование LLM в безопасной разработкеЦелью изучения темы является формирование у студентов понимания возможностей и ограничений использования больших языковых моделей (LLM) в задачах обеспечения безопасности приложений. В рамках модуля предполагается освоение современных практик применения LLM для анализа кода, генерации тестов, поиска уязвимостей и автоматизации рутинных задач, изучение кейсов интеграции LLM в процессы DevSecOps, а также осознание роли LLM как инструмента, усиливающего компетенции разработчиков, инженеров DevOps и специалистов по безопасности.
- MLSecOps Изучаются угрозы, специфичные для систем машинного обучения.Целью изучения темы является формирование у студентов системного понимания угроз, характерных для систем машинного обучения и больших языковых моделей (LLM). В рамках модуля предполагается освоение основных типов атак на данные (data poisoning), моделей (model extraction, model inversion) и инфраструктуру ML, а также изучение adversarial-примеров и их влияния на качество и надёжность работы систем. Отдельное внимание уделяется анализу реальных кейсов атак, рассмотрению рисков из OWASP Top 10 LLM и ознакомлению с практиками защиты ML/LLM-инфраструктуры.
- Вводная лекция по WAF. Часть I: концепции и архитектура (на примере PT AF PRO)
- Практическая лекция по настройке и политике защиты. Часть II: сигнатуры, профилирование и исключенияЦелью изучения темы является формирование у студентов практических знаний о механизмах настройки политик безопасности в PT AF PRO и их роли в защите веб-приложений. В рамках модуля предполагается изучение подходов к конфигурированию уровней защиты, использованию готовых пресетов, профилированию приложений, а также работе с сигнатурами и регулярными выражениями. Отдельное внимание уделяется проблеме ложноположительных срабатываний и методам их минимизации посредством применения исключений и тонкой настройки правил.
- Практическое занятие. Работа с системой, заведение двух веб приложений под защиту, VulnBank, JuiceShop, на двух схемах узла обработки внешний агент.Целью изучения темы является формирование у студентов практических навыков работы с политиками безопасности в PT AF PRO. В рамках занятия предполагается освоение методов настройки уровней защиты и использования готовых пресетов, проведение профилирования приложений, а также работа с сигнатурами и регулярными выражениями. Отдельное внимание уделяется анализу ложноположительных срабатываний и изучению механизмов их устранения с помощью исключений и корректировки правил.
Список литературы
Рекомендуемая основная литература
- Казарин, О. В. Надежность и безопасность программного обеспечения : учебник для вузов / О. В. Казарин, И. Б. Шубинский. — Москва : Издательство Юрайт, 2025. — 342 с. — (Высшее образование). — ISBN 978-5-534-05142-1. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/563862 (дата обращения: 04.07.2025).
Рекомендуемая дополнительная литература
- Мельников, В. П., Информационная безопасность : учебник / В. П. Мельников, А. И. Куприянов, Т. Ю. Васильева. — Москва : КноРус, 2025. — 371 с. — ISBN 978-5-406-14007-9. — URL: https://book.ru/book/955990 (дата обращения: 04.07.2025). — Текст : электронный.