• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
2024/2025

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

Статус: Маго-лего
Когда читается: 1-4 модуль
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 12

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

Аннотация

В современном мире остро стоит вопрос безопасности приложений, и специалисты в области разработки защищённых программных систем являются крайне востребованными. Данный курс нацелен на студентов, не обладающих глубокими знаниями программирования, и этот курс позволит им освоить основные парадигмы в разработке. Вместе с тем студенты познакомятся с основными методами разработки защищённых программ, узнают, какие ошибки, совершаемые при создании программ, приводят к возникновению уязвимостей и как избежать таких ошибок, узнают методы и автоматизированные средства для анализа разработанного программного кода с точки зрения безопасности. В данном курсе будет сделан акцент на программировании на языке С++, однако рассматриваются аспекты безопасной разработки программных средств на разных языках программирования.
Цель освоения дисциплины

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

  • Изучение основ объектно-ориентированного программирования.
  • Изучение основ программирования на С++.
  • Изучение безопасной разработки приложения.
Планируемые результаты обучения

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

  • Владеет основными понятиями объектно-ориентированного программирования.
  • Умеет создавать и использовать паттерны проектирования.
  • Знает историю развития программирования.
  • Называет основные понятия из области разработки программного обеспечения.
  • Знает назначение разработки защищённых приложений.
  • Знает отличительные особенности языка С++.
  • Умеет использовать базовые конструкции языка С++.
  • Умеет использовать базовые конструкции языка С++
  • Называет основные угрозы безопасности программного обеспечения для разных систем: переполнение буфера, 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++: базовый курс, Шилдт, Г., 2015
  • Язык программирования C++, Страуструп, Б., 2012
  • Язык программирования С++ : специальное издание, Страуструп, Б., 2015

Рекомендуемая дополнительная литература

  • Программирование : принципы и практика с использованием С++, Страуструп, Б., 2018
  • Энтони, У. Параллельное программирование на C++ в действии. Практика разработки многопоточных программ : учебное пособие / У. Энтони , перевод с английского А. А. Слинкин. — Москва : ДМК Пресс, 2012. — 672 с. — ISBN 978-5-94074-448-1. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/4813 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

Авторы

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