Безопасность компьютерных систем 2018
Материал из Wiki - Факультет компьютерных наук
Версия от 13:45, 4 декабря 2018; Gamajun (обсуждение | вклад)
Содержание
Безопасность компьютерных систем
Курс по выбору для студентов 3 и 4 курса ФКН ВШЭ, осень 2018 года (1 и 2 модуль). Курс состоит из лекций и семинаров. Основной акцент сделан на безопасности приложений и разработке безопасного программного обеспечения.
План курса
Лекции:
(1-й модуль)
- (11.09) Вводная лекция. Безопасность приложений как фактор технологической конкуренции. Уязвимости программного обеспечения и атаки на них. Основные понятия и определения. Модель нарушителя.
- (18.09) Безопасность приложений. Мобильные приложения и их уязвимости.
- (25.09) Безопасность приложений. Injection-атаки и санитизация запросов во внешние подсистемы.
- (02.10) Безопасность приложений. Валидация сложных структур данных. Загрузка файлов. SSRF.
- (09.10) Безопасность приложений. Secure Development Life Cycle - методы поиска недостатков в ПО.
- (16.10) Безопасность приложений. Аутентификация и авторизация.
(2-й модуль)
- (30.10) Безопасность приложений. Уязвимости, связанные с переполнением буфера.
- (06.11) Безопасность приложений. Уязвимости переполнения кучи. Механизмы защиты в современных операционных систем. ASLR, защита стека. Методы обхода.
- (13.11) Механизмы безопасности приложений в операционных системах.
- (20.11) [Безопасность приложений. Продвинутые бинарные уязвимости, WebAssembly.]
- (27.11) Криптография. Введение и история. Симметричные шифры и атаки на них.
- (04.12) Криптография, Асимметричные шифры и атаки на них.
- (11.12) [Криптография. Приложения - PKI, WoT, Блокчейн.]
- (18.12) [Криптография. Пост-квантовая криптография. Заключение.]
Семинары:
- (18.09) Безопасность компьютерных систем 2018/Уязвимости мобильных приложений
- (25.09) Веб-уязвимости. Обзор, инструменты. XSS.
- (02.10) Веб-уязвимости. SQLi.
- (09.10) Веб-уязвимости. XXE, прочее интересное.
- (16.10) Безопасная разработка.
- (30.10) Бинарные программы. Инструменты.
- (06.11) Бинарные программы. Обнаружение уязвимостей и эксплуатация.
- (13.11) Механизмы безопасности операционных систем на примере Linux Seccomp
- (20.11) Бинарные программы. Обратная разработка программ.
- (27.11) Атаки на блочные шифры.
- (04.12) Атаки на RSA.
- (11.12) ICO, смартконтракты и Solidity.
Материалы лекций
Лекционные материалы публикуются по мере продвижения по курсу.
Практические задания
В рамках курса нужно выполнять домашние задания, выдаваемые на семинарах. Всего запланировано 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