• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Разработка защищенных программных систем

2024/2025
Учебный год
RUS
Обучение ведется на русском языке
12
Кредиты
Статус:
Курс обязательный
Когда читается:
1-й курс, 1-4 модуль

Преподаватель


Матвеев Николай Валентинович

Программа дисциплины

Аннотация

Разработка защищенных программных систем является прикладной дисциплиной, описывающей способы и средства, методологическое и нормативное обеспечение разработки программных систем с целью обеспечения защиты информации, обрабатываемой в разработанных системах. Нормативное обеспечение отвечает на вопросы каким критериям должны отвечать технологии и процессы, применяемые при разработке, каким обязательным этапам контроля защищенности программного обеспечения должен удовлетворять каждый разработанных артефакт ещё до приёмочного контроля, возможной сертификации и применения в качестве элементов критической информационной структуры (КИИ). Методологическое обеспечение представляет набор готовых государственных и открытых стандартов комплексно требующих применения лучших инженерных практик непосредственной разработки программного обеспечения, так и управления процессом разработки от постановки задачи построения модели угроз до приёмочных испытаний заказчиком в области обеспечения информационной безопасности в разрабатываемых системах. Технические средства, используемые при разработке программных систем, позволяют выявлять и контролировать возможные слабости программного обеспечения от архитектурного уровня до уровня непосредственно выполняемого бинарного кода. При обучении предусмотрен контроль знаний студентов в виде учета правильности выполнения практических работ, промежуточного тестирования и устного экзамена.
Цель освоения дисциплины

Цель освоения дисциплины

  • Ознакомление с нормативной базой действующей в территории Российской Федерации и открытыми стандартами в области разработки защищенных программных систем
  • Формирование представления о правильный организации разработки защищенных программных систем
  • Формирование навыков построение циклов непрерывной разработки с применением средств контроля защищенности кода, наличия в нём слабостей и уязвимостей, и непреднамеренно оставленных секретов
  • Формирование навыков разработки программного обеспечения с учётом требований защиты информации
Планируемые результаты обучения

Планируемые результаты обучения

  • Владеет основными понятиями объектно-ориентированного программирования.
  • Умеет создавать и использовать паттерны проектирования.
  • Знает историю развития программирования.
  • Называет основные понятия из области разработки программного обеспечения.
  • Знает назначение разработки защищённых приложений.
  • Знает отличительные особенности языка С++.
  • Умеет использовать базовые конструкции языка С++.
  • Умеет использовать базовые конструкции языка С++
  • Называет основные угрозы безопасности программного обеспечения для разных систем: переполнение буфера, SQL-инъекции, межсайтовый скриптинг и д.р.
  • Знает методы обеспечения безопасности приложений: аутентификация, авторизация, криптография, контроль переполнения буфера.
  • Формулирует требования к безопасности ПО и оценивает риски несоблюдения таких требований.
  • Владеет инструментами для автоматического анализа программного кода.
  • Реализует защищённые приложения.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • 1. Введение в дисциплину
  • 2. Синтаксис С++. Примитивы и объекты
  • 3. Объектно-ориентированное программирование
  • 4. Библиотека STL и основные структуры данных
  • 5. Файловый ввод\вывод
  • 6. Потоки и синхронизация
  • 7. Паттерны проектирования
  • 8. Безопасность приложений
  • 9. Разработка защищённых приложений
Элементы контроля

Элементы контроля

  • неблокирующий Лабораторные работы 1
  • неблокирующий Экзамен 1
    Промежуточный контроль по дисциплине проводится в форме устного экзамена в конце изучения курса в присутствии преподавателя. На экзамене студент выбирает экзаменационный билет, который составляется с учетом пройденного материала. После ответа студента преподаватель может ему задать уточняющие вопросы по тематике билета.
  • неблокирующий Лабораторные работы 2
  • неблокирующий Экзамен 2
    Итоговый контроль по дисциплине проводится в форме устного экзамена в конце изучения курса в присутствии преподавателя. На экзамене студент выбирает экзаменационный билет, который составляется с учетом пройденного материала. После ответа студента преподаватель может ему задать уточняющие вопросы по тематике билета.
Промежуточная аттестация

Промежуточная аттестация

  • 2024/2025 2nd module
    0.5 * Лабораторные работы 1 + 0.5 * Экзамен 1
  • 2024/2025 4th module
    0.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). — Режим доступа: для авториз. пользователей.

Авторы

  • Матвеев Николай Валентинович
  • Аксенова Ольга Вениаминовна