• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
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 module
    0.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).

Авторы

  • Евсютин Олег Олегович
  • Аксенова Ольга Вениаминовна