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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск

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

Курс по выбору для студентов 3 и 4 курса ФКН ВШЭ, осень 2019 года (1 и 2 модуль). Курс состоит из лекций и семинаров. Основной акцент сделан на безопасности приложений и разработке безопасного программного обеспечения.

План курса

Лекции:

(1-й модуль)

  1. (09.09) Вводная лекция. Безопасность приложений как фактор технологической конкуренции. Уязвимости программного обеспечения и атаки на них. Основные понятия и определения. Модель нарушителя.
  2. (16.09) Безопасность приложений. Мобильные приложения и их уязвимости.
  3. (23.09) Безопасность приложений. Injection-атаки и санитизация запросов во внешние подсистемы.
  4. (30.09) Безопасность приложений. Валидация сложных структур данных. Загрузка файлов. SSRF.
  5. (07.10) Безопасность приложений. Аутентификация и авторизация.
  6. (14.10) Безопасность приложений. Secure Development Life Cycle - методы поиска недостатков в ПО.

(2-й модуль)

  1. (28.10) Безопасность приложений. Уязвимости, связанные с переполнением буфера.
  2. (11.11) Безопасность приложений. Уязвимости переполнения кучи. Механизмы защиты в современных операционных систем. ASLR, защита стека. Методы обхода.
  3. (18.11) Безопасность приложений. Продвинутые бинарные уязвимости (UAF, Type confusion) с примерами в реальных приложениях.
  4. (25.11) Механизмы безопасности приложений в операционных системах.
  5. (02.12) Криптография. Введение и история. Хэши. Криптография с открытым ключом.
  6. (09.12) Криптография. Симметричные шифры. MAC.
  7. (16.12) Криптография. Приложения - PKI, WoT, Блокчейн. Заключение.

Семинары:

  1. (16.09) Безопасность компьютерных систем 2019/Уязвимости мобильных приложений
  2. (23.09) Веб-уязвимости. Обзор, инструменты. SQLi.
  3. (30.09) Веб-уязвимости. XSS.
  4. (07.10) Веб-уязвимости. File Upload, прочее интересное.
  5. (14.10) Семинара нет.
  6. (28.10) Бинарные программы. Инструменты.
  7. (11.11) Бинарные программы. Обнаружение уязвимостей и эксплуатация.
  8. (18.11) Бинарные программы. Уязвимости переполнения кучи.
  9. (25.11) Механизмы безопасности операционных систем на примере Linux Seccomp
  10. (02.11) Атаки на RSA.
  11. (09.12) Атаки на блочные шифры.
  12. (16.12) Padding Oracle атаки.

Материалы лекций

Лекционные материалы публикуются по мере продвижения по курсу.


Практические задания

В рамках курса нужно выполнять домашние задания, выдаваемые на семинарах. Всего запланировано 4 задания.

Задание по теме "Уязвимости мобильных приложений"

Задание по теме "Веб-уязвимости"

Задание по теме "Бинарные уязвимости"

Задание по теме "Криптографические уязвимости"

Общее

Итоговый тест

Оценки

Расчет оценки

Вклад в оценку:

  • Практические задания (4 штуки) - 80%
  • Итоговый тест (на экзамене) - 20%

Литература

Основная литература:

  • Michał Zalewski. The Tangled Web: A Guide to Securing Modern Web Applications.
  • Chris Anley, John Heasman, Felix Lindner, Gerardo Richarte. The Shellcoder's Handbook: Discovering and Exploiting Security Holes.
  • Dafydd Stuttard, Marcus Pinto. The Web Application Hacker's Handbook: Detecting and Exploiting Security Flaws.
  • Christopher Swenson, Modern Cryptanalysis: Techniques for Advanced Code Breaking.
  • Æleen Frisch. Essential system administration.
  • Dominic Chell, Tyrone Erasmus, Shaun Colley, Ollie Whitehouse. The Mobile Application Hacker's Handbook

Дополнительная литература:

Контакты