• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2019/2020

Безопасность компьютерных систем

Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Направление: 01.03.02. Прикладная математика и информатика
Когда читается: 4-й курс, 1, 2 модуль
Формат изучения: Full time
Преподаватели: Гамаюнов Денис Юрьевич
Язык: русский
Кредиты: 5

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

Аннотация

Курс предназначен освоения студентами старших курсов специализации "Прикладная математика и информатика" основ безопасности сетевых приложений и информационных систем в современном интернете. В курсе рассматриваются проблемы безопасной разработки программ, понятия программных уязвимостей и компьютерных атак. Освоение безопасной разработки проходит через практическое изучение модельных примеров уязвимых приложений: мобильных приложений, веб-приложений, сетевых приложений в формате машинного кода (бинарных приложений), в том числе использующих криптографические методы защиты данных.
Цель освоения дисциплины

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

  • сформировать теоретические знания о проблемах и задачах обеспечения информационной безопасности при разработке приложений и программных систем, функционирующих в современных сетях, в том числе в сети интернет, а также об актуальных методах решения этих задач;
  • научить слушателей разрабатывать безопасные (защищенные) сетевые приложения с учетом типичных классов угроз безопасности, характерных для современного интернета, уметь определять модель нарушителя при проектировании нового приложения, выбирать адекватные механизмы обеспечения защищенности приложения при его реализации, опираясь на модель нарушителя;
  • сформировать навыки обнаружения уязвимостей мобильных и сетевых приложений и проведения тестирования приложений на наличие этих уязвимостей методами «черного» и «белого» ящика.
Планируемые результаты обучения

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

  • Обладать теоретическими знаниями о проблемах и задачах обеспечения информационной безопасности
  • Иметь навыки обнаружения уязвимостей мобильных и сетевых приложений
  • Уметь разрабатывать безопасные (защищенные) сетевые приложения
Содержание учебной дисциплины

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

  • Введение
    Вводная лекция. Безопасность приложений как фактор технологической конкуренции. Уязвимости программного обеспечения и атаки на них.
  • Основные понятия
    Основные понятия и определения. Модель нарушителя. Угрозы, уязвимости, атаки на уязвимости. Примеры
  • Безопасность приложений 1
    Безопасность приложений. Мобильные приложения и их уязвимости. Модельный пример – платформа Android
  • Безопасность приложений 2
    Безопасность приложений. Вебприложения: история и основы технологического стека веб-приложений, архитектура и механизмы безопасности на клиенте.
  • Безопасность приложений 3
    Веб-приложения: механизмы обеспечения безопасности на сервере.
  • Безопасность приложений 4
    Исполнение программ на процессоре, стек, подпрограммы и функции, передача аргументов, возврат значения. Системные вызовы. Размещение объектов в памяти: статическое, динамическое, автоматическое. Загрузчик программных модулей. Формат исполняемых файлов ELF. Зависимости модулей. Символы. Уязвимости, связанные с переполнением буфера. Уязвимости, связанные с подменой программных модулей. Уязвимости, связанные с некорректной проверкой прав доступа, TOCTOU.
  • Безопасность приложений 5
    Уязвимости переполнения кучи. Механизмы защиты в современных операционных систем. ASLR, защита стека. Методы обхода.
  • Криптография 1
    Криптографические приложения. PKI, WoT, анонимизирующие сети, блокчейн.
  • Криптография 2
    Перспективные криптографические методы, пост-квантовая криптография. Заключение.
Элементы контроля

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

  • неблокирующий Задание 1
  • неблокирующий Задание 2
  • неблокирующий Задание 3
  • неблокирующий Задание 4
  • неблокирующий Экзамен
Промежуточная аттестация

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

  • Промежуточная аттестация (2 модуль)
    0.2 * Задание 1 + 0.2 * Задание 2 + 0.2 * Задание 3 + 0.2 * Задание 4 + 0.2 * Экзамен
Список литературы

Список литературы

Рекомендуемая основная литература

  • Swenson, C. (2008). Modern Cryptanalysis : Techniques for Advanced Code Breaking. Chichester: Wiley. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=492732
  • Zalewski, M. (2012). The Tangled Web : A Guide to Securing Modern Web Applications. San Francisco: No Starch Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=440083

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

  • Frisch, Ae. (1995). Essential System Administration (Vol. 2nd ed). Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=24420
  • Koziol, J., & Anley, C. (2007). The Shellcoder’s Handbook : Discovering and Exploiting Security Holes (Vol. 2nd ed). Indianapolis, IN: Wiley. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=204776