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





Разработка защищенных программных систем
Статус:
Курс обязательный (Информационная безопасность и технологии искусственного интеллекта)
Направление:
10.04.01. Информационная безопасность
Когда читается:
1-й курс, 1-4 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Матвеев Николай Валентинович
Прогр. обучения:
Информационная безопасность и технологии искусственного интеллекта
Язык:
русский
Кредиты:
12
Программа дисциплины
Аннотация
Разработка защищенных программных систем является прикладной дисциплиной, описывающей способы и средства, методологическое и нормативное обеспечение разработки программных систем с целью обеспечения защиты информации, обрабатываемой в разработанных системах. Нормативное обеспечение отвечает на вопросы каким критериям должны отвечать технологии и процессы, применяемые при разработке, каким обязательным этапам контроля защищенности программного обеспечения должен удовлетворять каждый разработанных артефакт ещё до приёмочного контроля, возможной сертификации и применения в качестве элементов критической информационной структуры (КИИ). Методологическое обеспечение представляет набор готовых государственных и открытых стандартов комплексно требующих применения лучших инженерных практик непосредственной разработки программного обеспечения, так и управления процессом разработки от постановки задачи построения модели угроз до приёмочных испытаний заказчиком в области обеспечения информационной безопасности в разрабатываемых системах. Технические средства, используемые при разработке программных систем, позволяют выявлять и контролировать возможные слабости программного обеспечения от архитектурного уровня до уровня непосредственно выполняемого бинарного кода. При обучении предусмотрен контроль знаний студентов в виде учета правильности выполнения практических работ, промежуточного тестирования и устного экзамена.
Цель освоения дисциплины
- Ознакомление с нормативной базой действующей в территории Российской Федерации и открытыми стандартами в области разработки защищенных программных систем
- Формирование представления о правильный организации разработки защищенных программных систем
- Формирование навыков построение циклов непрерывной разработки с применением средств контроля защищенности кода, наличия в нём слабостей и уязвимостей, и непреднамеренно оставленных секретов
- Формирование навыков разработки программного обеспечения с учётом требований защиты информации
Планируемые результаты обучения
- Владеет основными понятиями объектно-ориентированного программирования.
- Умеет создавать и использовать паттерны проектирования.
- Знает историю развития программирования.
- Называет основные понятия из области разработки программного обеспечения.
- Знает назначение разработки защищённых приложений.
- Знает отличительные особенности языка С++.
- Умеет использовать базовые конструкции языка С++.
- Умеет использовать базовые конструкции языка С++
- Называет основные угрозы безопасности программного обеспечения для разных систем: переполнение буфера, SQL-инъекции, межсайтовый скриптинг и д.р.
- Знает методы обеспечения безопасности приложений: аутентификация, авторизация, криптография, контроль переполнения буфера.
- Формулирует требования к безопасности ПО и оценивает риски несоблюдения таких требований.
- Владеет инструментами для автоматического анализа программного кода.
- Реализует защищённые приложения.
Содержание учебной дисциплины
- 1. Введение в дисциплину
- 2. Синтаксис С++. Примитивы и объекты
- 3. Объектно-ориентированное программирование
- 4. Библиотека STL и основные структуры данных
- 5. Файловый ввод\вывод
- 6. Потоки и синхронизация
- 7. Паттерны проектирования
- 8. Безопасность приложений
- 9. Разработка защищённых приложений
Элементы контроля
- Лабораторные работы 1
- Экзамен 1Промежуточный контроль по дисциплине проводится в форме устного экзамена в конце изучения курса в присутствии преподавателя. На экзамене студент выбирает экзаменационный билет, который составляется с учетом пройденного материала. После ответа студента преподаватель может ему задать уточняющие вопросы по тематике билета.
- Лабораторные работы 2
- Экзамен 2Итоговый контроль по дисциплине проводится в форме устного экзамена в конце изучения курса в присутствии преподавателя. На экзамене студент выбирает экзаменационный билет, который составляется с учетом пройденного материала. После ответа студента преподаватель может ему задать уточняющие вопросы по тематике билета.
Промежуточная аттестация
- 2024/2025 2nd module0.5 * Лабораторные работы 1 + 0.5 * Экзамен 1
- 2024/2025 4th module0.5 * 2024/2025 2nd module + 0.25 * Лабораторные работы 2 + 0.25 * Экзамен 2
Список литературы
Рекомендуемая дополнительная литература
- Энтони, У. Параллельное программирование на C++ в действии. Практика разработки многопоточных программ : учебное пособие / У. Энтони , перевод с английского А. А. Слинкин. — Москва : ДМК Пресс, 2012. — 672 с. — ISBN 978-5-94074-448-1. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/4813 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.