Магистратура
2025/2026





Разработка защищенных программных систем
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Статус:
Курс обязательный (Информационная безопасность и технологии искусственного интеллекта)
Когда читается:
1-й курс, 1-4 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Горбунов Иван Викторович
Язык:
русский
Кредиты:
12
Контактные часы:
100
Программа дисциплины
Аннотация
Курс «Разработка защищенных программных систем» является прикладной дисциплиной, охватывающей полный жизненный цикл безопасной разработки программного обеспечения: от принципов безопасного проектирования и международной нормативно-фреймворковой базы (NIST SSDF, ISO/IEC 27001, OWASP SAMM/ASVS, SLSA и др.) до runtime-защиты, DevSecOps-автоматизации и безопасности AI/ML-систем.
Дисциплина формирует у студентов понимание того, что информационная безопасность является сквозным свойством всех этапов разработки, а не отдельной фазой тестирования. В рамках курса осваивается методология моделирования угроз (STRIDE, PASTA, MITRE ATT&CK/ATLAS), проектирование защищенной архитектуры с управлением поверхностью атаки, практики безопасности веб-приложений и API (OWASP Top 10), инструментальные техники выявления уязвимостей (статический, динамический и интерактивный анализ) фаззинг и OOB-детектирование, а также безопасность цепочки поставок программного обеспечения, контейнеров и облачных систем.
Материал курса строится на разборе реальных инцидентов и CVE различных классов, формируя у студента целостное понимание взаимодействия различных дисциплин Application Security на практике.
Цель освоения дисциплины
- Ознакомление с международными фреймворками и стандартами в области безопасной разработки программного обеспечения (NIST SSDF, ISO/IEC 27001, OWASP SAMM/ASVS, SLSA), а также с методологиями организации AppSec-функции в компании.
- Формирование понимания принципов безопасного проектирования программных систем: моделирования угроз, управления поверхностью атаки и построения защищенной архитектуры.
- Формирование навыков применения инструментальных техник выявления уязвимостей на всех этапах жизненного цикла разработки: статического и динамического анализа, фаззинга и OOB-детектирования.
- Формирование навыков построения непрерывных циклов безопасной разработки с интеграцией security-контролей в CI/CD-конвейеры в рамках DevSecOps-подхода.
- Формирование навыков обеспечения безопасности современных программных систем, включая веб-приложения и API, облачные и контейнеризированные среды, цепочку поставок программного обеспечения и AI/ML-компоненты.
Планируемые результаты обучения
- Знает классические типы разработки программного обеспечения
- Знает терминологию, используемую описании безопасного цикла разработки программного обеспечения
- Знает базовые отличия классического и безопасного типа разработки программного обеспечения
- Ориентируется в международных стандартах: ISO, MITRE ATT&CK, NIST, OWASP
- Ориентируется корпоративных стандартах Microsoft SDL, Cisco SDL
- Ориентируется в национальных стандартах ГОСТ и NIST
- Владеет навыками использования банка данных угроз безопасности информации ФСТЭК России
- Корректно использует терминологию в области безопасной разработки из стандартов ГОСТ и приказов ФСТЭК
- Умеет декомпозировать программные системы на объекты, подлежащие угрозам и требующие зашиты
- Умеет строить деревья угроз
- Корректно распределяет угрозы по классификациям Stride и методике Dread
- Адекватно выбирает методы и технологии для борьбы с угрозами
- Знает про основные перечни классификации дефектов (CWE), уязвимостей (CVE, БДУ ФСТЭК) и их числовые оценки уязвимости (CVSS)
- Умеет использовать основные перечни для проектирования поверхности атаки разрабатываемых программных систем
- Знает об основных угрозах, получаемых от компонентов с открытым исходным кодом
- Умеет использовать технические средства инвентаризации компонентной базы программных продуктов
- Владеет средствами оценки защищенности используемых открытых компонентов программных продуктов
- Владеет средствами оценки защищенности используемых бинарных модулей и утилит обеспечивающих работу программных систем
- Знает о возможностях применения статических средств анализа исходного кода
- Знает главные плюсы и минусы применения статических средств анализа исходного кода с целью снижения дефектов и уязвимостей информационной безопасности разрабатываемых систем
- Умеет применять статические средства анализа исходного кода при построении цикла разработки программного обеспечения
- Знает о возможностях и сложностях применения динамических средств анализа защищенности приложения
- Знает главные плюсы и минусы применения динамических средств анализа защищенности разрабатываемых программных систем
- Умеет применять динамические средства анализа защищенности при разработке и построении цикла тестовых испытаний программного обеспечения
- Знает про интерактивные средства тестирования защищенности приложения их сильные и слабые стороны
- Знает про системы самозащиты приложения во время выполнения их сильные слабы стороны
- Знает о классах уязвимостей, детектируемых средствами внеполосного сетевого взаимодействия
- Владеет практическими навыками использования средств внеполосного сетевого взаимодействия для тестирования разрабатываемого программного обеспечения
- Знает классификацию средств фаззинга программного обеспечения
- Умеет использовать фаззинг средства для автоматизированной поверхности атаки
- Знает типы уязвимостей при неверном хранении секретов
- Знает основные подходы к хранению секретов
- Умеет применять средства хранения секретов на этапе разработки, развёртывания и использования программных средств
- Знает этапы цикла безопасной разработки программного обеспечения подлежащей автоматизации путём применения конвейера
- Умеет адекватно располагать средства тестирования защищенности исходного кода, приложений, компонентов и секретов по этапам жизненного цикла
- Умеет автоматизировать цикл безопасной разработки программных систем используя конвейеры
- Знает основные функции предоставляемые файрволлом веб приложений и системами предотвращения вторжений
- Знает плюсы и минус применения единых аппаратных средств и специализированных индивидуальных средств защиты информации при её передаче по открытым каналам связи
Содержание учебной дисциплины
- 1. Введение в безопасный цикл разработки программного обеспечения
- 2. Нормативная база безопасной разработки программного обеспечения
- 3. Моделирование угроз
- 4. Проектирование поверхности атаки
- 5. Системы композиционного анализа и защита цепочек поставки компонентов
- 6. Статические средства анализа исходного кода на наличие ошибок и уязвимостей
- 7. Динамические средства анализа защищенности приложений
- 8. Гибридные средства оценки защищенности приложений и средства самозащиты приложений
- 9. Выявление скрытых уязвимостей приложения через внеполосное сетевое взаимодействие
- 10. Фаззинг программного обеспечения
- 11. Управление секретами при разработке и развёртывании программного обеспечения
- 12. Конвейеры обеспечения цикла безопасной разработки
- 13. Файрволл веб приложений и системы предотвращения вторжений
Элементы контроля
- Промежуточные тестыПромежуточное тестирование включает выбор одного или нескольких верных утверждений, и расположение утверждений в правильном порядке с целью проверки знаний: терминологии, основных функции и их распределения по техническим средствам, сильных и слабых мест классов тестирования на наличие дефектов, уязвимостей исходного кода и программных систем.
- Практические работы
- ЭкзаменИтоговый экзамен по дисциплине проводится в форме устного экзамена в конце изучения курса в присутствии преподавателя. На экзамене студент выбирает экзаменационный билет, который составляется с учетом пройденного материала, как на лекционных занятиях, так и на семинарах. После ответа студента преподаватель может ему задать уточняющие вопросы по тематике билета.
Промежуточная аттестация
- 2025/2026 2nd module-
- 2025/2026 4th module0.5 * Экзамен + 0.1 * Промежуточные тесты + 0.4 * Практические работы
Список литературы
Рекомендуемая основная литература
- Внуков, А. А. Защита информации в банковских системах : учебник для вузов / А. А. Внуков. — 2-е изд., испр. и доп. — Москва : Издательство Юрайт, 2025. — 246 с. — (Высшее образование). — ISBN 978-5-534-01679-6. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/561314 (дата обращения: 14.01.2026).
- Казарин, О. В. Надежность и безопасность программного обеспечения : учебник для вузов / О. В. Казарин, И. Б. Шубинский. — Москва : Издательство Юрайт, 2025. — 342 с. — (Высшее образование). — ISBN 978-5-534-05142-1. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/563862 (дата обращения: 04.07.2025).
- Казарин, О. В. Программно-аппаратные средства защиты информации. Защита программного обеспечения : учебник и практикум для вузов / О. В. Казарин, А. С. Забабурин. — Москва : Издательство Юрайт, 2025. — 312 с. — (Высшее образование). — ISBN 978-5-9916-9043-0. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/562070 (дата обращения: 14.01.2026).
Рекомендуемая дополнительная литература
- 33876 - Безопасность веб-приложений на Python - Д.Бирн - ДМК Пресс - 9785970608999 - 2023 - https://hse.alpinadigital.ru/document/33876 - Alpina
- Козырь, Н. С. Экономические аспекты информационной безопасности : учебник и практикум для вузов / Н. С. Козырь, Л. Л. Оганесян. — Москва : Издательство Юрайт, 2025. — 131 с. — (Высшее образование). — ISBN 978-5-534-17863-0. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/568708 (дата обращения: 14.01.2026).