Безопасность компьютерных систем 2019 — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(План курса)
Строка 33: Строка 33:
 
# (07.10) [[Безопасность_компьютерных_систем_2019/File_Upload_and_stuff|Веб-уязвимости. File Upload, прочее интересное.]]
 
# (07.10) [[Безопасность_компьютерных_систем_2019/File_Upload_and_stuff|Веб-уязвимости. File Upload, прочее интересное.]]
 
# (14.10) Семинар переносится на 30.10
 
# (14.10) Семинар переносится на 30.10
# (30.10) [[Безопасность_компьютерных_систем_2019/FU|Уязвимости загрузки файлов.]]
+
# (28.10) [[Безопасность_компьютерных_систем_2019/FU|Уязвимости загрузки файлов.]]
 
# (04.11) [[Безопасность_компьютерных_систем_2019/Бинарные_программы_1|Бинарные программы. Инструменты.]]
 
# (04.11) [[Безопасность_компьютерных_систем_2019/Бинарные_программы_1|Бинарные программы. Инструменты.]]
 
# (11.11) [[Безопасность_компьютерных_систем_2019/Бинарные_программы_2|Бинарные программы. Обнаружение уязвимостей и эксплуатация.]]
 
# (11.11) [[Безопасность_компьютерных_систем_2019/Бинарные_программы_2|Бинарные программы. Обнаружение уязвимостей и эксплуатация.]]

Версия 13:05, 23 сентября 2019

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

Курс по выбору для студентов 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.10) Веб-уязвимости. XSS.
  4. (07.10) Веб-уязвимости. File Upload, прочее интересное.
  5. (14.10) Семинар переносится на 30.10
  6. (28.10) Уязвимости загрузки файлов.
  7. (04.11) Бинарные программы. Инструменты.
  8. (11.11) Бинарные программы. Обнаружение уязвимостей и эксплуатация.
  9. (18.11) Механизмы безопасности операционных систем на примере Linux Seccomp
  10. (25.11) Бинарные программы. Обратная разработка программ.
  11. (02.12) Атаки на блочные шифры.
  12. (09.12) Атаки на RSA.
  13. (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

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

Контакты