Безопасность компьютерных систем 2019
Материал из Wiki - Факультет компьютерных наук
Версия от 23:51, 16 декабря 2019; Gamajun (обсуждение | вклад)
Содержание
Безопасность компьютерных систем
Курс по выбору для студентов 3 и 4 курса ФКН ВШЭ, осень 2019 года (1 и 2 модуль). Курс состоит из лекций и семинаров. Основной акцент сделан на безопасности приложений и разработке безопасного программного обеспечения.
План курса
Лекции:
(1-й модуль)
- (09.09) Вводная лекция. Безопасность приложений как фактор технологической конкуренции. Уязвимости программного обеспечения и атаки на них. Основные понятия и определения. Модель нарушителя.
- (16.09) Безопасность приложений. Мобильные приложения и их уязвимости.
- (23.09) Безопасность приложений. Injection-атаки и санитизация запросов во внешние подсистемы.
- (30.09) Безопасность приложений. Валидация сложных структур данных. Загрузка файлов. SSRF.
- (07.10) Безопасность приложений. Аутентификация и авторизация.
- (14.10) Безопасность приложений. Secure Development Life Cycle - методы поиска недостатков в ПО.
(2-й модуль)
- (28.10) Безопасность приложений. Уязвимости, связанные с переполнением буфера.
- (11.11) Безопасность приложений. Уязвимости переполнения кучи. Механизмы защиты в современных операционных систем. ASLR, защита стека. Методы обхода.
- (18.11) Безопасность приложений. Продвинутые бинарные уязвимости (UAF, Type confusion) с примерами в реальных приложениях.
- (25.11) Механизмы безопасности приложений в операционных системах.
- (02.12) Криптография. Введение и история. Хэши. Криптография с открытым ключом.
- (09.12) Криптография. Симметричные шифры. MAC.
- (16.12) Криптография. Приложения - PKI, WoT, Блокчейн. Заключение.
Семинары:
- (16.09) Безопасность компьютерных систем 2019/Уязвимости мобильных приложений
- (23.09) Веб-уязвимости. Обзор, инструменты. SQLi.
- (30.09) Веб-уязвимости. XSS.
- (07.10) Веб-уязвимости. File Upload, прочее интересное.
- (14.10) Семинара нет.
- (28.10) Бинарные программы. Инструменты.
- (11.11) Бинарные программы. Обнаружение уязвимостей и эксплуатация.
- (18.11) Бинарные программы. Уязвимости переполнения кучи.
- (25.11) Механизмы безопасности операционных систем на примере Linux Seccomp
- (02.11) Атаки на RSA.
- (09.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
Дополнительная литература:
Контакты
- Почта: gamajun@gmail.com, dgamaunov@hse.ru
- Tg: @jamadharma
- Tg чат: https://t.me/hse_security_course