2025/2026





Разработка защищенных программных систем
Статус:
Маго-лего
Когда читается:
1-4 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Горбунов Иван Викторович
Язык:
русский
Кредиты:
12
Контактные часы:
100
Программа дисциплины
Аннотация
Разработка защищенных программных систем является прикладной дисциплиной, описывающей способы и средства, методологическое и нормативное обеспечение разработки программных систем с целью обеспечения защиты информации, обрабатываемой в разработанных системах. Нормативное обеспечение отвечает на вопросы каким критериям должны отвечать технологии и процессы, применяемые при разработке, каким обязательным этапам контроля защищенности программного обеспечения должен удовлетворять каждый разработанных артефакт ещё до приёмочного контроля, возможной сертификации и применения в качестве элементов критической информационной структуры (КИИ). Методологическое обеспечение представляет набор готовых государственных и открытых стандартов комплексно требующих применения лучших инженерных практик непосредственной разработки программного обеспечения, так и управления процессом разработки от постановки задачи построения модели угроз до приёмочных испытаний заказчиком в области обеспечения информационной безопасности в разрабатываемых системах. Технические средства, используемые при разработке программных систем, позволяют выявлять и контролировать возможные слабости программного обеспечения от архитектурного уровня до уровня непосредственно выполняемого бинарного кода. При обучении предусмотрен контроль знаний студентов в виде учета правильности выполнения практических работ, промежуточного тестирования и устного экзамена.
Цель освоения дисциплины
- Ознакомление с нормативной базой действующей в территории Российской Федерации и открытыми стандартами в области разработки защищенных программных систем
- Формирование представления о правильный организации разработки защищенных программных систем
- Формирование навыков построение циклов непрерывной разработки с применением средств контроля защищенности кода, наличия в нём слабостей и уязвимостей, и непреднамеренно оставленных секретов
- Формирование навыков разработки программного обеспечения с учётом требований защиты информации
Планируемые результаты обучения
- Знает классические типы разработки программного обеспечения
- Знает терминологию, используемую описании безопасного цикла разработки программного обеспечения
- Знает базовые отличия классического и безопасного типа разработки программного обеспечения
- Ориентируется в международных стандартах: 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.4 * Практические работы + 0.1 * Промежуточные тесты + 0.5 * Экзамен
Список литературы
Рекомендуемая основная литература
- Внуков, А. А. Защита информации в банковских системах : учебник для вузов / А. А. Внуков. — 2-е изд., испр. и доп. — Москва : Издательство Юрайт, 2025. — 246 с. — (Высшее образование). — ISBN 978-5-534-01679-6. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/561314 (дата обращения: 04.07.2025).
- Казарин, О. В. Надежность и безопасность программного обеспечения : учебник для вузов / О. В. Казарин, И. Б. Шубинский. — Москва : Издательство Юрайт, 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 (дата обращения: 04.07.2025).
Рекомендуемая дополнительная литература
- 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 (дата обращения: 04.07.2025).