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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(План курса)
(План курса)
 
(не показано 16 промежуточных версии 5 участников)
Строка 14: Строка 14:
 
# (25.09) [https://drive.google.com/open?id=1EflFiY0-nOgGaBkTcrtA8pthr53vkq5v Безопасность приложений. Injection-атаки и санитизация запросов во внешние подсистемы.]
 
# (25.09) [https://drive.google.com/open?id=1EflFiY0-nOgGaBkTcrtA8pthr53vkq5v Безопасность приложений. Injection-атаки и санитизация запросов во внешние подсистемы.]
 
# (02.10) [https://drive.google.com/open?id=1PqXpu9XMw4mH_Mg1V6NQ2brW24XNKCFq Безопасность приложений. Валидация сложных структур данных. Загрузка файлов. SSRF.]
 
# (02.10) [https://drive.google.com/open?id=1PqXpu9XMw4mH_Mg1V6NQ2brW24XNKCFq Безопасность приложений. Валидация сложных структур данных. Загрузка файлов. SSRF.]
# (09.10) [Безопасность приложений. Аутентификация и авторизация.]
+
# (09.10) [https://drive.google.com/open?id=1OTsNFflqktWq_sGUxF0oeBvE0HuSFSmL Безопасность приложений. Secure Development Life Cycle  - методы поиска недостатков в ПО.]
# (16.10) [Безопасность приложений. Secure Development Life Cycle  - методы поиска недостатков в ПО.]
+
# (16.10) [https://drive.google.com/open?id=1slDOuuFViB8mmvE-rcCP0BQQVP7QM0fi Безопасность приложений. Аутентификация и авторизация.]
  
 
(2-й модуль)
 
(2-й модуль)
# (30.10) [Безопасность приложений. Уязвимости, связанные с переполнением буфера.]
+
# (30.10) [https://drive.google.com/file/d/1xCUxJhb5DIVKuMMMOtfrZ_GyBKZjkVhj Безопасность приложений. Уязвимости, связанные с переполнением буфера.]
# (06.11) [Безопасность приложений. Уязвимости переполнения кучи. Механизмы защиты в современных операционных систем. ASLR, защита стека. Методы обхода.]  
+
# (06.11) [https://drive.google.com/file/d/198A3zf_COhACiMaA_1JC7jPrrY7F8pr8 Безопасность приложений. Уязвимости переполнения кучи. Механизмы защиты в современных операционных систем. ASLR, защита стека. Методы обхода.]  
# (13.11) [Механизмы безопасности приложений в операционных системах.]  
+
# (13.11) [https://drive.google.com/file/d/1hTcX0cWHakNh3y7d6AfoLojmBaNFBrfL Механизмы безопасности приложений в операционных системах.]  
# (20.11) [Криптография. Введение и история]
+
# (20.11) [Безопасность приложений. Продвинутые бинарные уязвимости, WebAssembly.]
# (27.11) [Криптография. Симметричные шифры и атаки на них.]
+
# (27.11) [https://drive.google.com/file/d/1AXe9ZzQEGA2tmKOYUsja_DkGMTFMt2Sc Криптография. Введение и история. Симметричные шифры и атаки на них.]
# (04.12) [Криптография, Асимметричные шифры и атаки на них.]
+
# (04.12) [https://drive.google.com/file/d/1mwQ0a9lpAWfzOa2ZjUxT5yeDP6DaSAc8 Криптография, Асимметричные шифры и атаки на них.]
# (11.12) [Криптография. Приложения - PKI, WoT, Блокчейн.]
+
# (11.12) [https://drive.google.com/file/d/1aWJog7iPfwAzGifK8CV9HDKG2tXaxPwG Криптография. Приложения - PKI, WoT, Блокчейн.]
# (18.12) [Криптография. Пост-квантовая криптография. Заключение.]
+
# (18.12) [https://drive.google.com/file/d/1mFal2MBiiYOMFR1HolwzQq3zxvD0tP40 Криптография. Пост-квантовая криптография. Заключение.]
  
 
Семинары:
 
Семинары:
Строка 31: Строка 31:
 
# (25.09) [[Безопасность_компьютерных_систем_2018/XSS|Веб-уязвимости. Обзор, инструменты. XSS.]]
 
# (25.09) [[Безопасность_компьютерных_систем_2018/XSS|Веб-уязвимости. Обзор, инструменты. XSS.]]
 
# (02.10) [[Безопасность_компьютерных_систем_2018/SQLi|Веб-уязвимости. SQLi.]]
 
# (02.10) [[Безопасность_компьютерных_систем_2018/SQLi|Веб-уязвимости. SQLi.]]
# (09.10) [http://xxe.hse.seclab.cs.msu.su/|Веб-уязвимости. XXE, прочее интересное.]
+
# (09.10) [http://xxe.hse.seclab.cs.msu.su Веб-уязвимости. XXE, прочее интересное.]
# (16.10) [[Безопасность_компьютерных_систем_2018/SDLC|Безопасная разработка.]]
+
# (16.10) [[Безопасность_компьютерных_систем_2018/FU|Уязвимости загрузки файлов.]]
 
# (30.10) [[Безопасность_компьютерных_систем_2018/Бинарные_программы_1|Бинарные программы. Инструменты.]]
 
# (30.10) [[Безопасность_компьютерных_систем_2018/Бинарные_программы_1|Бинарные программы. Инструменты.]]
 
# (06.11) [[Безопасность_компьютерных_систем_2018/Бинарные_программы_2|Бинарные программы. Обнаружение уязвимостей и эксплуатация.]]
 
# (06.11) [[Безопасность_компьютерных_систем_2018/Бинарные_программы_2|Бинарные программы. Обнаружение уязвимостей и эксплуатация.]]
 
# (13.11) [[Безопасность_компьютерных_систем_2018/SECCOMP|Механизмы безопасности операционных систем на примере Linux Seccomp]]
 
# (13.11) [[Безопасность_компьютерных_систем_2018/SECCOMP|Механизмы безопасности операционных систем на примере Linux Seccomp]]
# (20.11)  
+
# (20.11) [[Бинарные программы. Обратная разработка программ.]]
# (27.11) [[Безопасность_компьютерных_систем_2018/XOROR|Атаки на блочные шифры.]]
+
# (27.11) [https://drive.google.com/file/d/1Aq9shLjGTypbGrGSFksfEdziu_XX41kG/view Атаки на блочные шифры.]
 
# (04.12) [[Безопасность_компьютерных_систем_2018/RSA|Атаки на RSA.]]
 
# (04.12) [[Безопасность_компьютерных_систем_2018/RSA|Атаки на RSA.]]
 
# (11.12) [[Безопасность_компьютерных_систем_2018/ICO|ICO, смартконтракты и Solidity.]]
 
# (11.12) [[Безопасность_компьютерных_систем_2018/ICO|ICO, смартконтракты и Solidity.]]
Строка 53: Строка 53:
  
 
[[Безопасность_компьютерных_систем_2018/Задание_2|Задание по теме "Веб-уязвимости"]]
 
[[Безопасность_компьютерных_систем_2018/Задание_2|Задание по теме "Веб-уязвимости"]]
 +
 +
[[Безопасность_компьютерных_систем_2018/Задание_3|Задание по теме "Бинарные уязвимости"]]
 +
 +
[[Безопасность_компьютерных_систем_2018/Задание_4|Задание по теме "Криптографические уязвимости"]]
  
 
==== Общее ====
 
==== Общее ====

Текущая версия на 15:20, 24 декабря 2018

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

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

План курса

Лекции:

(1-й модуль)

  1. (11.09) Вводная лекция. Безопасность приложений как фактор технологической конкуренции. Уязвимости программного обеспечения и атаки на них. Основные понятия и определения. Модель нарушителя.
  2. (18.09) Безопасность приложений. Мобильные приложения и их уязвимости.
  3. (25.09) Безопасность приложений. Injection-атаки и санитизация запросов во внешние подсистемы.
  4. (02.10) Безопасность приложений. Валидация сложных структур данных. Загрузка файлов. SSRF.
  5. (09.10) Безопасность приложений. Secure Development Life Cycle - методы поиска недостатков в ПО.
  6. (16.10) Безопасность приложений. Аутентификация и авторизация.

(2-й модуль)

  1. (30.10) Безопасность приложений. Уязвимости, связанные с переполнением буфера.
  2. (06.11) Безопасность приложений. Уязвимости переполнения кучи. Механизмы защиты в современных операционных систем. ASLR, защита стека. Методы обхода.
  3. (13.11) Механизмы безопасности приложений в операционных системах.
  4. (20.11) [Безопасность приложений. Продвинутые бинарные уязвимости, WebAssembly.]
  5. (27.11) Криптография. Введение и история. Симметричные шифры и атаки на них.
  6. (04.12) Криптография, Асимметричные шифры и атаки на них.
  7. (11.12) Криптография. Приложения - PKI, WoT, Блокчейн.
  8. (18.12) Криптография. Пост-квантовая криптография. Заключение.

Семинары:

  1. (18.09) Безопасность компьютерных систем 2018/Уязвимости мобильных приложений
  2. (25.09) Веб-уязвимости. Обзор, инструменты. XSS.
  3. (02.10) Веб-уязвимости. SQLi.
  4. (09.10) Веб-уязвимости. XXE, прочее интересное.
  5. (16.10) Уязвимости загрузки файлов.
  6. (30.10) Бинарные программы. Инструменты.
  7. (06.11) Бинарные программы. Обнаружение уязвимостей и эксплуатация.
  8. (13.11) Механизмы безопасности операционных систем на примере Linux Seccomp
  9. (20.11) Бинарные программы. Обратная разработка программ.
  10. (27.11) Атаки на блочные шифры.
  11. (04.12) Атаки на RSA.
  12. (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

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

Контакты