Безопасность компьютерных систем 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) Безопасность приложений. Secure Development Life Cycle - методы поиска недостатков в ПО.
  6. (14.10) Безопасность приложений. Аутентификация и авторизация.

(2-й модуль)

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

Семинары:

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

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

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


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

В рамках курса нужно выполнять домашние задания, выдаваемые на семинарах. Всего запланировано 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

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

Контакты