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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(презентация)
Строка 9: Строка 9:
 
# (05.09) [https://docs.google.com/a/solidlab.ru/presentation/d/1Ejcm45wZWjG5dFxzMo0P1snL6vpqWxz6kGqWq603pus/edit?usp=sharing Вводная лекция. Безопасность приложений как фактор технологической конкуренции. Уязвимости программного обеспечения и атаки на них.]
 
# (05.09) [https://docs.google.com/a/solidlab.ru/presentation/d/1Ejcm45wZWjG5dFxzMo0P1snL6vpqWxz6kGqWq603pus/edit?usp=sharing Вводная лекция. Безопасность приложений как фактор технологической конкуренции. Уязвимости программного обеспечения и атаки на них.]
 
# (12.09) [https://docs.google.com/a/solidlab.ru/presentation/d/1obrDy2-_g4x-WgCM89mYPqffemUib6H_qndK_5Wf9Ys/edit?usp=sharing Основные понятия и определения. Модель нарушителя.]
 
# (12.09) [https://docs.google.com/a/solidlab.ru/presentation/d/1obrDy2-_g4x-WgCM89mYPqffemUib6H_qndK_5Wf9Ys/edit?usp=sharing Основные понятия и определения. Модель нарушителя.]
# (19.09) [https://drive.google.com/file/d/0B7Ud4xPbhmAKRUJYVTJIZ1RnWkE/view?usp=sharing Безопасность приложений. Мобильные приложений и их уязвимости.]  
+
# (19.09) [https://docs.google.com/presentation/d/1Poc89tUKcobK2HAaezZkMHVDxuB7tAV1Uk6h1qKM7Lk/edit?usp=sharing Безопасность приложений. Мобильные приложений и их уязвимости.]  
 
# (26.09) Безопасность приложений. Уязвимости веб-приложений ч. 1.
 
# (26.09) Безопасность приложений. Уязвимости веб-приложений ч. 1.
 
# (03.10) Безопасность приложений. Уязвимости веб-приложений ч. 2.
 
# (03.10) Безопасность приложений. Уязвимости веб-приложений ч. 2.

Версия 13:04, 19 сентября 2017

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

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

План курса

Лекции:

  1. (05.09) Вводная лекция. Безопасность приложений как фактор технологической конкуренции. Уязвимости программного обеспечения и атаки на них.
  2. (12.09) Основные понятия и определения. Модель нарушителя.
  3. (19.09) Безопасность приложений. Мобильные приложений и их уязвимости.
  4. (26.09) Безопасность приложений. Уязвимости веб-приложений ч. 1.
  5. (03.10) Безопасность приложений. Уязвимости веб-приложений ч. 2.
  6. (10.10) Безопасность приложений. Исполнение программ на процессоре, стек, подпрограммы и функции, передача аргументов, возврат значения. Системные вызовы. Размещение объектов в памяти: статическое, динамическое, автоматическое. Загрузчик программных модулей. Формат исполняемых файлов ELF. Зависимости модулей. Символы. Уязвимости, связанные с переполнением буфера.Уязвимости, связанные с подменой программных модулей. Уязвимости, связанные с некорректной проверкой прав доступа, TOCTOU.
  7. (17.10) Безопасность приложений. Уязвимости переполнения кучи. Механизмы защиты в современных операционных систем. ASLR, защита стека. Методы обхода.
  8. (24.10) Безопасность приложений. Secure Development Life Cycle ч. 1
  9. (31.10) Безопасность приложений. Secure Development Life Cycle ч. 2
  10. (7.11) Безопасность операционных систем.
  11. (14.11) Криптография. Введение и история
  12. (21.11) Криптография. Симметричные шифры и атаки на них.
  13. (28.11) Криптография, Асимметричные шифры и атаки на них.
  14. (5.12) Криптография. Приложения - PKI, WoT, Блокчейн.
  15. (12.12) Криптография. Пост-квантовая криптография.
  16. (19.12) Заключительная лекция.

Семинары:

  1. (12.09) Уязвимости мобильных приложений ч. 1
  2. (19.09) Уязвимости мобильных приложений ч. 2
  3. (26.09) Веб-уязвимости. Обзор, инструменты.
  4. (03.10) Веб-уязвимости. XSS.
  5. (10.10) Веб-уязвимости. SQLi.
  6. (17.10) Веб-уязвимости. XXE, прочее интересное.
  7. (24.10) Бинарные программы. Инструменты.
  8. (7.11) Бинарные программы. Обнаружение уязвимостей и эксплуатация.
  9. (14.11) Уязвимости в бинарных программах. Advanced.
  10. (21.11) Безопасная разработка.
  11. (28.11) Механизмы безопасности операционных систем.
  12. (5.12) Атаки на блочные шифры. CBC.
  13. (12.12) Атаки на RSA.

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

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


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

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

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

Контакты

  • Почта: gamajun@gmail.com, dgamaunov@hse.ru
  • Tg: @jamadharma