http://wiki.cs.hse.ru/api.php?action=feedcontributions&user=Enr1g&feedformat=atomWiki - Факультет компьютерных наук - Вклад участника [ru]2024-03-28T23:15:59ZВклад участникаMediaWiki 1.23.2http://wiki.cs.hse.ru/%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC_2018/%D0%97%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_4Безопасность компьютерных систем 2018/Задание 42018-11-27T16:54:35Z<p>Enr1g: </p>
<hr />
<div>== Задание на симметричную криптографию ==<br />
<br />
=== Легенда ===<br />
У вас есть дамп домашней папки пользователя hse_task_sc, где он хранил зашифрованный пароль своей учётной записи от машины 94.130.185.11 (порт 7777).<br />
<br />
* encrypt.py — шифрование данных<br />
* decrypt.py — расшифрование данных<br />
* encrypted_password.txt — файл с зашифрованным паролем<br />
<br />
Скачать дамп можно здесь [https://drive.google.com/file/d/1cQo-biEZUExlktSYXd8Kw19gQcfLQ3vY/view?usp=sharing]. Команда для подключения выглядит так:<br />
<br />
ssh hse_crypto_sc@94.130.185.11 -p7777<br />
<br />
=== Задача ===<br />
<br />
* Понять, как работает эта криптосистема.<br />
* Понять, как будете атаковать: Known-Plaintext, Chosen Plaintext, Ciphertext Only, что-то другое?<br />
* Узнать пароль пользователя без применения бандитского криптоанализа, социальной инженерии и помощи коллег.<br />
<br />
=== Формат решения ===<br />
<br />
Решение должно содержать следующий минимум:<br />
* Программный код на языке Python (последние версии python2 и python3, а также совместимые с ними), взламывающий пароль. Другие языки обсуждаются.<br />
* Текстовое описание того, как был взломан шифр.<br />
* Какой недостаток в этой криптосистеме позволил вам дешифровать шифртекст.<br />
* Флаг, как доказательство получения доступа по ssh.<br />
<br />
Если было обнаружено несколько способов взлома (их минимум 3 разной степени элегантности), то подобное описание стоит сделать для каждой атаки.<br />
<br />
=== Куда и как сдавать ===<br />
Присылайте на почту enr1g[at]seclab.cs.msu.su с темой <code>[crypto@hsecurity] Фамилия И.О.</code>. На случай коллизии ФИО, напишите его полностью =)<br />
<br />
== Оценивание ==<br />
* Выполнение задания даёт 1 балл. Также возможно начисление дополнительных баллов за альтернативные способы решения.<br />
* '''Решения, основанные на полном переборе, не принимаются'''.<br />
* '''Перебирать ssh-пароль бессмысленно'''.<br />
<br />
== Сроки ==<br />
Задание принимается до 20:00, 18 декабря 2018 года.<br />
<br />
== Примечание ==<br />
Вопросы и баги можно писать на почту enr1g[at]seclab.cs.msu.su, в чат курса в Telegram и в личку @Enr1g</div>Enr1ghttp://wiki.cs.hse.ru/%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC_2018/%D0%97%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_4Безопасность компьютерных систем 2018/Задание 42018-11-27T16:48:52Z<p>Enr1g: Новая страница: «== Задание на симметричную криптографию == === Легенда === У вас есть дамп домашней папки пол…»</p>
<hr />
<div>== Задание на симметричную криптографию ==<br />
<br />
=== Легенда ===<br />
У вас есть дамп домашней папки пользователя hse_task_sc, где он хранил зашифрованный пароль своей учётной записи от машины 94.130.185.11.<br />
<br />
* encrypt.py — шифрование данных<br />
* decrypt.py — расшифрование данных<br />
* encrypted_password.txt — файл с зашифрованным паролем<br />
<br />
Скачать дамп можно здесь [https://drive.google.com/file/d/1cQo-biEZUExlktSYXd8Kw19gQcfLQ3vY/view?usp=sharing]<br />
<br />
=== Задача ===<br />
<br />
* Понять, как работает эта криптосистема.<br />
* Понять, как будете атаковать: Known-Plaintext, Chosen Plaintext, Ciphertext Only, что-то другое?<br />
* Узнать пароль пользователя без применения бандитского криптоанализа, социальной инженерии и помощи коллег.<br />
<br />
=== Формат решения ===<br />
<br />
Решение должно содержать следующий минимум:<br />
* Программный код на языке Python (последние версии python2 и python3, а также совместимые с ними), взламывающий пароль. Другие языки обсуждаются.<br />
* Текстовое описание того, как был взломан шифр.<br />
* Какой недостаток в этой криптосистеме позволил вам дешифровать шифртекст.<br />
* Флаг, как доказательство получения доступа по ssh.<br />
<br />
Если было обнаружено несколько способов взлома (их минимум 3 разной степени элегантности), то подобное описание стоит сделать для каждой атаки.<br />
<br />
=== Куда и как сдавать ===<br />
Присылайте на почту enr1g[at]seclab.cs.msu.su с темой <code>[crypto@hsecurity] Фамилия И.О.</code>. На случай коллизии ФИО, напишите его полностью =)<br />
<br />
== Оценивание ==<br />
Выполнение задания даёт 1 балл. Также возможно начисление дополнительных баллов за альтернативные способы решения. '''Решения, основанные на полном переборе, не принимаются'''.<br />
<br />
== Сроки ==<br />
Задание принимается до 20:00, 18 декабря 2018 года.<br />
<br />
== Примечание ==<br />
Вопросы и баги можно писать на почту enr1g[at]seclab.cs.msu.su, в чат курса в Telegram и в личку @Enr1g</div>Enr1ghttp://wiki.cs.hse.ru/%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC_2018Безопасность компьютерных систем 20182018-11-27T16:48:41Z<p>Enr1g: /* План курса */</p>
<hr />
<div>== Безопасность компьютерных систем ==<br />
<br />
Курс по выбору для студентов 3 и 4 курса ФКН ВШЭ, осень 2018 года (1 и 2 модуль).<br />
Курс состоит из лекций и семинаров. Основной акцент сделан на безопасности приложений и разработке безопасного программного обеспечения. <br />
<br />
=== План курса ===<br />
<br />
Лекции:<br />
<br />
(1-й модуль)<br />
<br />
# (11.09) [https://drive.google.com/file/d/1EDgV5yNlBz0JqWbccX9-VX86Jl5gxXJ2 Вводная лекция. Безопасность приложений как фактор технологической конкуренции. Уязвимости программного обеспечения и атаки на них. Основные понятия и определения. Модель нарушителя.]<br />
# (18.09) [https://drive.google.com/open?id=1fDHsf5Re3j6DeuR1_Za1R0ZaiHI2dzpy Безопасность приложений. Мобильные приложения и их уязвимости.]<br />
# (25.09) [https://drive.google.com/open?id=1EflFiY0-nOgGaBkTcrtA8pthr53vkq5v Безопасность приложений. Injection-атаки и санитизация запросов во внешние подсистемы.]<br />
# (02.10) [https://drive.google.com/open?id=1PqXpu9XMw4mH_Mg1V6NQ2brW24XNKCFq Безопасность приложений. Валидация сложных структур данных. Загрузка файлов. SSRF.]<br />
# (09.10) [https://drive.google.com/open?id=1OTsNFflqktWq_sGUxF0oeBvE0HuSFSmL Безопасность приложений. Secure Development Life Cycle - методы поиска недостатков в ПО.]<br />
# (16.10) [https://drive.google.com/open?id=1slDOuuFViB8mmvE-rcCP0BQQVP7QM0fi Безопасность приложений. Аутентификация и авторизация.]<br />
<br />
(2-й модуль)<br />
# (30.10) [https://drive.google.com/file/d/1xCUxJhb5DIVKuMMMOtfrZ_GyBKZjkVhj Безопасность приложений. Уязвимости, связанные с переполнением буфера.]<br />
# (06.11) [https://drive.google.com/file/d/198A3zf_COhACiMaA_1JC7jPrrY7F8pr8 Безопасность приложений. Уязвимости переполнения кучи. Механизмы защиты в современных операционных систем. ASLR, защита стека. Методы обхода.] <br />
# (13.11) [https://drive.google.com/file/d/1hTcX0cWHakNh3y7d6AfoLojmBaNFBrfL Механизмы безопасности приложений в операционных системах.] <br />
# (20.11) [Безопасность приложений. Продвинутые бинарные уязвимости, WebAssembly.]<br />
# (27.11) [Криптография. Введение и история. Симметричные шифры и атаки на них.]<br />
# (04.12) [Криптография, Асимметричные шифры и атаки на них.]<br />
# (11.12) [Криптография. Приложения - PKI, WoT, Блокчейн.]<br />
# (18.12) [Криптография. Пост-квантовая криптография. Заключение.]<br />
<br />
Семинары:<br />
# (18.09) [[Безопасность компьютерных систем 2018/Уязвимости мобильных приложений]]<br />
# (25.09) [[Безопасность_компьютерных_систем_2018/XSS|Веб-уязвимости. Обзор, инструменты. XSS.]]<br />
# (02.10) [[Безопасность_компьютерных_систем_2018/SQLi|Веб-уязвимости. SQLi.]]<br />
# (09.10) [http://xxe.hse.seclab.cs.msu.su Веб-уязвимости. XXE, прочее интересное.]<br />
# (16.10) [[Безопасность_компьютерных_систем_2018/SDLC|Безопасная разработка.]]<br />
# (30.10) [[Безопасность_компьютерных_систем_2018/Бинарные_программы_1|Бинарные программы. Инструменты.]]<br />
# (06.11) [[Безопасность_компьютерных_систем_2018/Бинарные_программы_2|Бинарные программы. Обнаружение уязвимостей и эксплуатация.]]<br />
# (13.11) [[Безопасность_компьютерных_систем_2018/SECCOMP|Механизмы безопасности операционных систем на примере Linux Seccomp]]<br />
# (20.11) [[Бинарные программы. Обратная разработка программ.]]<br />
# (27.11) [https://drive.google.com/file/d/1Aq9shLjGTypbGrGSFksfEdziu_XX41kG/view Атаки на блочные шифры.]<br />
# (04.12) [[Безопасность_компьютерных_систем_2018/RSA|Атаки на RSA.]]<br />
# (11.12) [[Безопасность_компьютерных_систем_2018/ICO|ICO, смартконтракты и Solidity.]]<br />
<br />
=== Материалы лекций ===<br />
<br />
Лекционные материалы публикуются по мере продвижения по курсу.<br />
<br />
<br />
=== Практические задания ===<br />
<br />
В рамках курса нужно выполнять домашние задания, выдаваемые на семинарах. Всего запланировано 4 задания.<br />
<br />
[[Безопасность_компьютерных_систем_2018/Задание_1|Задание по теме "Уязвимости мобильных приложений"]]<br />
<br />
[[Безопасность_компьютерных_систем_2018/Задание_2|Задание по теме "Веб-уязвимости"]]<br />
<br />
[[Безопасность_компьютерных_систем_2018/Задание_3|Задание по теме "Бинарные уязвимости"]]<br />
<br />
[[Безопасность_компьютерных_систем_2018/Задание_4|Задание по теме "Криптографические уязвимости"]]<br />
<br />
==== Общее ====<br />
<br />
=== Итоговый тест ===<br />
<br />
<br />
=== Оценки ===<br />
<br />
<br />
=== Расчет оценки ===<br />
Вклад в оценку:<br />
* Практические задания (4 штуки) - 80%<br />
* Итоговый тест (на экзамене) - 20%<br />
<br />
=== Литература ===<br />
Основная литература:<br />
* Michał Zalewski. The Tangled Web: A Guide to Securing Modern Web Applications.<br />
* Chris Anley, John Heasman, Felix Lindner, Gerardo Richarte. The Shellcoder's Handbook: Discovering and Exploiting Security Holes.<br />
* Dafydd Stuttard, Marcus Pinto. The Web Application Hacker's Handbook: Detecting and Exploiting Security Flaws. <br />
* Christopher Swenson, Modern Cryptanalysis: Techniques for Advanced Code Breaking. <br />
* Æleen Frisch. Essential system administration.<br />
* Dominic Chell, Tyrone Erasmus, Shaun Colley, Ollie Whitehouse. The Mobile Application Hacker's Handbook<br />
<br />
Дополнительная литература:<br />
* [https://docs.google.com/document/d/13zgZ_CRRHADwxf41mSSSuoJQLkMc67TXxpYLoW6lRak/edit#heading=h.l7t8ktb3r2q7 Веб-безопасность 101. Курс молодого бойца.]<br />
<br />
=== Контакты ===<br />
* Почта: gamajun@gmail.com, dgamaunov@hse.ru<br />
* Tg: @jamadharma<br />
* Tg чат: https://t.me/hse_security_course</div>Enr1ghttp://wiki.cs.hse.ru/%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC_2018Безопасность компьютерных систем 20182018-11-27T15:53:32Z<p>Enr1g: /* Практические задания */</p>
<hr />
<div>== Безопасность компьютерных систем ==<br />
<br />
Курс по выбору для студентов 3 и 4 курса ФКН ВШЭ, осень 2018 года (1 и 2 модуль).<br />
Курс состоит из лекций и семинаров. Основной акцент сделан на безопасности приложений и разработке безопасного программного обеспечения. <br />
<br />
=== План курса ===<br />
<br />
Лекции:<br />
<br />
(1-й модуль)<br />
<br />
# (11.09) [https://drive.google.com/file/d/1EDgV5yNlBz0JqWbccX9-VX86Jl5gxXJ2 Вводная лекция. Безопасность приложений как фактор технологической конкуренции. Уязвимости программного обеспечения и атаки на них. Основные понятия и определения. Модель нарушителя.]<br />
# (18.09) [https://drive.google.com/open?id=1fDHsf5Re3j6DeuR1_Za1R0ZaiHI2dzpy Безопасность приложений. Мобильные приложения и их уязвимости.]<br />
# (25.09) [https://drive.google.com/open?id=1EflFiY0-nOgGaBkTcrtA8pthr53vkq5v Безопасность приложений. Injection-атаки и санитизация запросов во внешние подсистемы.]<br />
# (02.10) [https://drive.google.com/open?id=1PqXpu9XMw4mH_Mg1V6NQ2brW24XNKCFq Безопасность приложений. Валидация сложных структур данных. Загрузка файлов. SSRF.]<br />
# (09.10) [https://drive.google.com/open?id=1OTsNFflqktWq_sGUxF0oeBvE0HuSFSmL Безопасность приложений. Secure Development Life Cycle - методы поиска недостатков в ПО.]<br />
# (16.10) [https://drive.google.com/open?id=1slDOuuFViB8mmvE-rcCP0BQQVP7QM0fi Безопасность приложений. Аутентификация и авторизация.]<br />
<br />
(2-й модуль)<br />
# (30.10) [https://drive.google.com/file/d/1xCUxJhb5DIVKuMMMOtfrZ_GyBKZjkVhj Безопасность приложений. Уязвимости, связанные с переполнением буфера.]<br />
# (06.11) [https://drive.google.com/file/d/198A3zf_COhACiMaA_1JC7jPrrY7F8pr8 Безопасность приложений. Уязвимости переполнения кучи. Механизмы защиты в современных операционных систем. ASLR, защита стека. Методы обхода.] <br />
# (13.11) [https://drive.google.com/file/d/1hTcX0cWHakNh3y7d6AfoLojmBaNFBrfL Механизмы безопасности приложений в операционных системах.] <br />
# (20.11) [Безопасность приложений. Продвинутые бинарные уязвимости, WebAssembly.]<br />
# (27.11) [Криптография. Введение и история. Симметричные шифры и атаки на них.]<br />
# (04.12) [Криптография, Асимметричные шифры и атаки на них.]<br />
# (11.12) [Криптография. Приложения - PKI, WoT, Блокчейн.]<br />
# (18.12) [Криптография. Пост-квантовая криптография. Заключение.]<br />
<br />
Семинары:<br />
# (18.09) [[Безопасность компьютерных систем 2018/Уязвимости мобильных приложений]]<br />
# (25.09) [[Безопасность_компьютерных_систем_2018/XSS|Веб-уязвимости. Обзор, инструменты. XSS.]]<br />
# (02.10) [[Безопасность_компьютерных_систем_2018/SQLi|Веб-уязвимости. SQLi.]]<br />
# (09.10) [http://xxe.hse.seclab.cs.msu.su Веб-уязвимости. XXE, прочее интересное.]<br />
# (16.10) [[Безопасность_компьютерных_систем_2018/SDLC|Безопасная разработка.]]<br />
# (30.10) [[Безопасность_компьютерных_систем_2018/Бинарные_программы_1|Бинарные программы. Инструменты.]]<br />
# (06.11) [[Безопасность_компьютерных_систем_2018/Бинарные_программы_2|Бинарные программы. Обнаружение уязвимостей и эксплуатация.]]<br />
# (13.11) [[Безопасность_компьютерных_систем_2018/SECCOMP|Механизмы безопасности операционных систем на примере Linux Seccomp]]<br />
# (20.11) [[Бинарные программы. Обратная разработка программ.]]<br />
# (27.11) [[Безопасность_компьютерных_систем_2018/XOROR|Атаки на блочные шифры.]]<br />
# (04.12) [[Безопасность_компьютерных_систем_2018/RSA|Атаки на RSA.]]<br />
# (11.12) [[Безопасность_компьютерных_систем_2018/ICO|ICO, смартконтракты и Solidity.]]<br />
<br />
=== Материалы лекций ===<br />
<br />
Лекционные материалы публикуются по мере продвижения по курсу.<br />
<br />
<br />
=== Практические задания ===<br />
<br />
В рамках курса нужно выполнять домашние задания, выдаваемые на семинарах. Всего запланировано 4 задания.<br />
<br />
[[Безопасность_компьютерных_систем_2018/Задание_1|Задание по теме "Уязвимости мобильных приложений"]]<br />
<br />
[[Безопасность_компьютерных_систем_2018/Задание_2|Задание по теме "Веб-уязвимости"]]<br />
<br />
[[Безопасность_компьютерных_систем_2018/Задание_3|Задание по теме "Бинарные уязвимости"]]<br />
<br />
[[Безопасность_компьютерных_систем_2018/Задание_4|Задание по теме "Криптографические уязвимости"]]<br />
<br />
==== Общее ====<br />
<br />
=== Итоговый тест ===<br />
<br />
<br />
=== Оценки ===<br />
<br />
<br />
=== Расчет оценки ===<br />
Вклад в оценку:<br />
* Практические задания (4 штуки) - 80%<br />
* Итоговый тест (на экзамене) - 20%<br />
<br />
=== Литература ===<br />
Основная литература:<br />
* Michał Zalewski. The Tangled Web: A Guide to Securing Modern Web Applications.<br />
* Chris Anley, John Heasman, Felix Lindner, Gerardo Richarte. The Shellcoder's Handbook: Discovering and Exploiting Security Holes.<br />
* Dafydd Stuttard, Marcus Pinto. The Web Application Hacker's Handbook: Detecting and Exploiting Security Flaws. <br />
* Christopher Swenson, Modern Cryptanalysis: Techniques for Advanced Code Breaking. <br />
* Æleen Frisch. Essential system administration.<br />
* Dominic Chell, Tyrone Erasmus, Shaun Colley, Ollie Whitehouse. The Mobile Application Hacker's Handbook<br />
<br />
Дополнительная литература:<br />
* [https://docs.google.com/document/d/13zgZ_CRRHADwxf41mSSSuoJQLkMc67TXxpYLoW6lRak/edit#heading=h.l7t8ktb3r2q7 Веб-безопасность 101. Курс молодого бойца.]<br />
<br />
=== Контакты ===<br />
* Почта: gamajun@gmail.com, dgamaunov@hse.ru<br />
* Tg: @jamadharma<br />
* Tg чат: https://t.me/hse_security_course</div>Enr1ghttp://wiki.cs.hse.ru/%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC_2017/%D0%97%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_4Безопасность компьютерных систем 2017/Задание 42017-12-12T10:37:01Z<p>Enr1g: /* Задание на асимметричную криптографию */</p>
<hr />
<div>== Описание задания ==<br />
<br />
Задание состоит из двух независимых этапов: задача на криптоанализ симметричного шифра и асимметричного шифра. В обоих этапах нужно будет получить доступ к ssh-серверу, на котором хранится флаг в формате <code>HSE{...SOME_TEXT...}</code><br />
<br />
== Задание на симметричную криптографию ==<br />
<br />
=== Легенда ===<br />
У вас есть дамп домашней папки пользователя hse_task_sc, где он хранил зашифрованный пароль своей учётной записи от машины 94.130.175.205.<br />
<br />
* encrypt.py — шифрование данных<br />
* decrypt.py — расшифрование данных<br />
* encrypted_password.txt — файл с зашифрованным паролем<br />
<br />
Скачать дамп можно здесь [https://drive.google.com/file/d/1cQo-biEZUExlktSYXd8Kw19gQcfLQ3vY/view?usp=sharing]<br />
<br />
=== Задача ===<br />
<br />
* Понять, как работает эта криптосистема.<br />
* Понять, как будете атаковать: Known-Plaintext, Chosen Plaintext, Ciphertext Only, что-то другое?<br />
* Узнать пароль пользователя без применения бандитского криптоанализа, социальной инженерии и помощи коллег.<br />
<br />
=== Формат решения ===<br />
<br />
Решение должно содержать следующий минимум:<br />
* Программный код на языке Python (последние версии python2 и python3, а также совместимые с ними), взламывающий пароль.<br />
* Текстовое описание того, как был взломан шифр.<br />
* Какой недостаток в этой криптосистеме позволил вам дешифровать шифртекст.<br />
* Флаг, как доказательство получения доступа по ssh.<br />
<br />
Если было обнаружено несколько способов взлома (их минимум 3 разной степени элегантности), то подобное описание стоит сделать для каждой атаки.<br />
<br />
=== Куда и как сдавать ===<br />
Присылайте на почту enr1g[at]seclab.cs.msu.su с темой <code>[crypto@hsecurity] Фамилия И.О.</code>. На случай коллизии ФИО, напишите его полностью =)<br />
<br />
== Задание на асимметричную криптографию ==<br />
=== Легенда ===<br />
В корпорации Pupa & Lupa любят и ценят безопасность, поэтому к устройствам во внутренней сети можно подключиться только по ssh только при помощи ключей. Однако безопасники корпорации всё перепутали и сгенерировали приватные RSA-ключи для всех устройств в сети на старой машине с плохим ГПСЧ (с низкой энтропией).<br />
<br />
Нам удалось собрать 1000 соответствующих [https://drive.google.com/open?id=1jZxlBxTT0VZkcwbtjYJYkR1wUZEInUvc публичных ключей]. Ваша задача суметь проникнуть на одну из машин во внутренней сети Pupa & Lupa:<br />
<br />
<syntaxhighlight lang="bash"><br />
ssh pupalupa@94.130.175.205 -p9022<br />
</syntaxhighlight><br />
<br />
=== Задача ===<br />
* Взломать RSA-ключ, позволяющий получить доступ по ssh.<br />
* Подключиться к машине из условия задачи и получить флаг.<br />
<br />
=== Формат решения ===<br />
'''TBD'''<br />
<br />
== Оценивание ==<br />
Выполненное каждого этапа даёт 1 балл. В сумме можно получить максимум 2 балла. Также возможно начисление дополнительных баллов за альтернативные способы решения.<br />
<br />
== Сроки ==<br />
Задание принимается до 20:00, 25 декабря 2017 года.<br />
<br />
== Примечание ==<br />
Вопросы и баги можно писать на почту enr1g[at]seclab.cs.msu.su, в чат курса в Telegram и в личку @Enr1g</div>Enr1ghttp://wiki.cs.hse.ru/%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC_2017/%D0%97%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_4Безопасность компьютерных систем 2017/Задание 42017-12-12T10:35:38Z<p>Enr1g: /* Задача */</p>
<hr />
<div>== Описание задания ==<br />
<br />
Задание состоит из двух независимых этапов: задача на криптоанализ симметричного шифра и асимметричного шифра. В обоих этапах нужно будет получить доступ к ssh-серверу, на котором хранится флаг в формате <code>HSE{...SOME_TEXT...}</code><br />
<br />
== Задание на симметричную криптографию ==<br />
<br />
=== Легенда ===<br />
У вас есть дамп домашней папки пользователя hse_task_sc, где он хранил зашифрованный пароль своей учётной записи от машины 94.130.175.205.<br />
<br />
* encrypt.py — шифрование данных<br />
* decrypt.py — расшифрование данных<br />
* encrypted_password.txt — файл с зашифрованным паролем<br />
<br />
Скачать дамп можно здесь [https://drive.google.com/file/d/1cQo-biEZUExlktSYXd8Kw19gQcfLQ3vY/view?usp=sharing]<br />
<br />
=== Задача ===<br />
<br />
* Понять, как работает эта криптосистема.<br />
* Понять, как будете атаковать: Known-Plaintext, Chosen Plaintext, Ciphertext Only, что-то другое?<br />
* Узнать пароль пользователя без применения бандитского криптоанализа, социальной инженерии и помощи коллег.<br />
<br />
=== Формат решения ===<br />
<br />
Решение должно содержать следующий минимум:<br />
* Программный код на языке Python (последние версии python2 и python3, а также совместимые с ними), взламывающий пароль.<br />
* Текстовое описание того, как был взломан шифр.<br />
* Какой недостаток в этой криптосистеме позволил вам дешифровать шифртекст.<br />
* Флаг, как доказательство получения доступа по ssh.<br />
<br />
Если было обнаружено несколько способов взлома (их минимум 3 разной степени элегантности), то подобное описание стоит сделать для каждой атаки.<br />
<br />
=== Куда и как сдавать ===<br />
Присылайте на почту enr1g[at]seclab.cs.msu.su с темой <code>[crypto@hsecurity] Фамилия И.О.</code>. На случай коллизии ФИО, напишите его полностью =)<br />
<br />
== Задание на асимметричную криптографию ==<br />
=== Легенда ===<br />
В корпорации Pupa & Lupa любят и ценят безопасность, поэтому к устройствам во внутренней сети можно подключиться только по ssh только при помощи ключей. Однако безопасники корпорации всё перепутали и сгенерировали приватные RSA-ключи для всех устройств в сети на старой машине с плохим ГПСЧ (с низкой энтропией).<br />
<br />
Нам удалось собрать 1000 соответствующих публичных ключей. Ваша задача суметь проникнуть на одну из машин во внутренней сети Pupa & Lupa:<br />
<br />
<syntaxhighlight lang="bash"><br />
ssh pupalupa@94.130.175.205 -p9022<br />
</syntaxhighlight><br />
<br />
=== Задача ===<br />
* Взломать RSA-ключ, позволяющий получить доступ по ssh.<br />
* Подключиться к машине из условия задачи и получить флаг.<br />
<br />
=== Формат решения ===<br />
'''TBD'''<br />
<br />
== Оценивание ==<br />
Выполненное каждого этапа даёт 1 балл. В сумме можно получить максимум 2 балла. Также возможно начисление дополнительных баллов за альтернативные способы решения.<br />
<br />
== Сроки ==<br />
Задание принимается до 20:00, 25 декабря 2017 года.<br />
<br />
== Примечание ==<br />
Вопросы и баги можно писать на почту enr1g[at]seclab.cs.msu.su, в чат курса в Telegram и в личку @Enr1g</div>Enr1ghttp://wiki.cs.hse.ru/%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC_2017/%D0%97%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_4Безопасность компьютерных систем 2017/Задание 42017-12-12T10:31:53Z<p>Enr1g: /* Легенда */</p>
<hr />
<div>== Описание задания ==<br />
<br />
Задание состоит из двух независимых этапов: задача на криптоанализ симметричного шифра и асимметричного шифра. В обоих этапах нужно будет получить доступ к ssh-серверу, на котором хранится флаг в формате <code>HSE{...SOME_TEXT...}</code><br />
<br />
== Задание на симметричную криптографию ==<br />
<br />
=== Легенда ===<br />
У вас есть дамп домашней папки пользователя hse_task_sc, где он хранил зашифрованный пароль своей учётной записи от машины 94.130.175.205.<br />
<br />
* encrypt.py — шифрование данных<br />
* decrypt.py — расшифрование данных<br />
* encrypted_password.txt — файл с зашифрованным паролем<br />
<br />
Скачать дамп можно здесь [https://drive.google.com/file/d/1cQo-biEZUExlktSYXd8Kw19gQcfLQ3vY/view?usp=sharing]<br />
<br />
=== Задача ===<br />
<br />
* Понять, как работает эта криптосистема.<br />
* Понять, как будете атаковать: Known-Plaintext, Chosen Plaintext, Ciphertext Only, что-то другое?<br />
* Узнать пароль пользователя без применения бандитского криптоанализа, социальной инженерии и помощи коллег.<br />
<br />
=== Формат решения ===<br />
<br />
Решение должно содержать следующий минимум:<br />
* Программный код на языке Python (последние версии python2 и python3, а также совместимые с ними), взламывающий пароль.<br />
* Текстовое описание того, как был взломан шифр.<br />
* Какой недостаток в этой криптосистеме позволил вам дешифровать шифртекст.<br />
* Флаг, как доказательство получения доступа по ssh.<br />
<br />
Если было обнаружено несколько способов взлома (их минимум 3 разной степени элегантности), то подобное описание стоит сделать для каждой атаки.<br />
<br />
=== Куда и как сдавать ===<br />
Присылайте на почту enr1g[at]seclab.cs.msu.su с темой <code>[crypto@hsecurity] Фамилия И.О.</code>. На случай коллизии ФИО, напишите его полностью =)<br />
<br />
== Задание на асимметричную криптографию ==<br />
=== Легенда ===<br />
В корпорации Pupa & Lupa любят и ценят безопасность, поэтому к устройствам во внутренней сети можно подключиться только по ssh только при помощи ключей. Однако безопасники корпорации всё перепутали и сгенерировали приватные RSA-ключи для всех устройств в сети на старой машине с плохим ГПСЧ (с низкой энтропией).<br />
<br />
Нам удалось собрать 1000 соответствующих публичных ключей. Ваша задача суметь проникнуть на одну из машин во внутренней сети Pupa & Lupa:<br />
<br />
<syntaxhighlight lang="bash"><br />
ssh pupalupa@94.130.175.205 -p9022<br />
</syntaxhighlight><br />
<br />
=== Задача ===<br />
'''TBD'''<br />
=== Формат решения ===<br />
'''TBD'''<br />
<br />
== Оценивание ==<br />
Выполненное каждого этапа даёт 1 балл. В сумме можно получить максимум 2 балла. Также возможно начисление дополнительных баллов за альтернативные способы решения.<br />
<br />
== Сроки ==<br />
Задание принимается до 20:00, 25 декабря 2017 года.<br />
<br />
== Примечание ==<br />
Вопросы и баги можно писать на почту enr1g[at]seclab.cs.msu.su, в чат курса в Telegram и в личку @Enr1g</div>Enr1ghttp://wiki.cs.hse.ru/%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC_2017Безопасность компьютерных систем 20172017-12-09T10:09:51Z<p>Enr1g: /* План курса */</p>
<hr />
<div>== Безопасность компьютерных систем ==<br />
<br />
Курс по выбору для студентов 3 и 4 курса ФКН ВШЭ, осень 2017 года (1 и 2 модуль).<br />
Курс состоит из лекций и семинаров. Основной акцент сделан на безопасности приложений и разработке безопасного программного обеспечения. <br />
<br />
=== План курса ===<br />
<br />
Лекции:<br />
# (05.09) [https://docs.google.com/a/solidlab.ru/presentation/d/1Ejcm45wZWjG5dFxzMo0P1snL6vpqWxz6kGqWq603pus/edit?usp=sharing Вводная лекция. Безопасность приложений как фактор технологической конкуренции. Уязвимости программного обеспечения и атаки на них.]<br />
# (12.09) [https://docs.google.com/a/solidlab.ru/presentation/d/1obrDy2-_g4x-WgCM89mYPqffemUib6H_qndK_5Wf9Ys/edit?usp=sharing Основные понятия и определения. Модель нарушителя.]<br />
# (19.09) [https://docs.google.com/presentation/d/1Poc89tUKcobK2HAaezZkMHVDxuB7tAV1Uk6h1qKM7Lk/edit?usp=sharing Безопасность приложений. Мобильные приложений и их уязвимости.] <br />
# (26.09) [https://drive.google.com/open?id=0B1nyyeocSxBaRkhCajRhaV9qdHM Безопасность приложений. Уязвимости веб-приложений ч. 1.]<br />
# (03.10) [https://drive.google.com/open?id=0B1nyyeocSxBabnFieWxVbEN2VmM Безопасность приложений. Уязвимости веб-приложений ч. 2.]<br />
# (10.10) [https://docs.google.com/presentation/d/1KQ0YKM_Q5vxTrpv3kKAJyPGoRVvjxh7ATTdgU5aEzCI/edit?usp=sharing Безопасность приложений. Исполнение программ на процессоре, стек, подпрограммы и функции, передача аргументов, возврат значения. Системные вызовы. Размещение объектов в памяти: статическое, динамическое, автоматическое. Загрузчик программных модулей. Формат исполняемых файлов ELF. Зависимости модулей. Символы. Уязвимости, связанные с переполнением буфера.Уязвимости, связанные с подменой программных модулей. Уязвимости, связанные с некорректной проверкой прав доступа, TOCTOU.]<br />
# (17.10) [https://docs.google.com/presentation/d/14aG1_23kURtEY93_ac_OhmUyxTgDr36Gi2nrElraPoU/edit?usp=sharing Безопасность приложений. Уязвимости переполнения кучи. Механизмы защиты в современных операционных систем. ASLR, защита стека. Методы обхода.] <br />
# (31.10) [https://drive.google.com/file/d/1v7tb_YmZSqB0KUmvAST7icS7o1uW6Qrk/view?usp=sharing Безопасность приложений. Secure Development Life Cycle ч. 1]<br />
# (7.11) [https://drive.google.com/file/d/1SU3-hoxeXoGHDVafEpbdGe2WR5NJ2Cz7/view?usp=sharing Безопасность приложений. Secure Development Life Cycle ч. 2]<br />
# (14.11) [https://docs.google.com/presentation/d/1m0KVaIN8VeP7PF8qBsgs4P3NzCee_ZKU5OuqNExhCYI/edit?usp=sharing Механизмы безопасности приложений в операционных системах.] <br />
# (21.11) [https://docs.google.com/presentation/d/15L1xDBvNDffUuVLi73RCgcluVFoZepY48Xq0quJcETs/edit?usp=sharing Криптография. Введение и история]<br />
# (28.11) [https://docs.google.com/presentation/d/1jrhO0ta_3E-wwHxIDffWzelXkj-UrzKb719hY9drsPo/edit?usp=sharing Криптография. Симметричные шифры и атаки на них.]<br />
# (5.12) [https://docs.google.com/presentation/d/1jmKzZb2ezLkVVY_wlQkS4dj1a6V4okIFTgbNucigpIw/edit?usp=sharing Криптография, Асимметричные шифры и атаки на них.]<br />
# (12.12) Криптография. Приложения - PKI, WoT, Блокчейн.<br />
# (19.12) Криптография. Пост-квантовая криптография. Заключение. <br />
<br />
Семинары:<br />
# (12.09) [[Безопасность компьютерных систем 2017/Уязвимости мобильных приложений ч. 1|Уязвимости мобильных приложений ч. 1]]<br />
# (19.09) [[Безопасность_компьютерных_систем_2017/Уязвимости_мобильных_приложений_ч._2|Уязвимости мобильных приложений ч. 2]]<br />
# (26.09) Веб-уязвимости. Обзор, инструменты.<br />
# (03.10) [[Безопасность_компьютерных_систем_2017/XSS|Веб-уязвимости. XSS.]]<br />
# (10.10) Веб-уязвимости. SQLi.<br />
# (17.10) [http://hse.seclab.cs.msu.ru/xxe.html Веб-уязвимости. XXE], прочее интересное.<br />
# (31.10) [[Безопасность_компьютерных_систем_2017/Бинарные_программы_1|Бинарные программы. Инструменты.]]<br />
# (07.11) [[Безопасность_компьютерных_систем_2017/Бинарные_программы_2|Бинарные программы. Обнаружение уязвимостей и эксплуатация.]]<br />
# (14.11) Уязвимости в бинарных программах. Advanced.<br />
# (21.11) Безопасная разработка.<br />
# (28.11) [[Безопасность_компьютерных_систем_2017/SECCOMP|Механизмы безопасности операционных систем на примере Linux Seccomp]]<br />
# (05.12) [https://drive.google.com/open?id=1Aq9shLjGTypbGrGSFksfEdziu_XX41kG Атаки на блочные шифры. CBC.]<br />
# (12.12) Атаки на RSA.<br />
<br />
=== Материалы лекций ===<br />
<br />
Лекционные материалы публикуются по мере продвижения по курсу.<br />
<br />
<br />
=== Практические задания ===<br />
<br />
В рамках курса нужно выполнять домашние задания, выдаваемые на семинарах. Всего запланировано 4 задания.<br />
<br />
[[Безопасность_компьютерных_систем_2017/Задание_1|Задание по теме "Уязвимости мобильных приложений"]]<br />
<br />
[[Безопасность_компьютерных_систем_2017/Задание_2|Задание по теме "Веб-уязвимости"]]<br />
<br />
[[Безопасность_компьютерных_систем_2017/Задание_3|Задание по теме "Бинарные уязвимости"]]<br />
<br />
[[Безопасность_компьютерных_систем_2017/Задание_4|Задание по теме "Криптографические уязвимости"]]<br />
<br />
[https://docs.google.com/spreadsheets/d/1d3wiWZgK1zw_pR7-oeCXeb3IbPH7A8laBEd0Blk0yhc/edit#gid=0 Результаты выполнения заданий]<br />
<br />
==== Общее ====<br />
<br />
=== Итоговый тест ===<br />
<br />
<br />
=== Оценки ===<br />
<br />
<br />
=== Расчет оценки ===<br />
Вклад в оценку:<br />
* Практические задания (4 штуки) - 80%<br />
* Итоговый тест (на экзамене) - 20%<br />
<br />
=== Литература ===<br />
Основная литература:<br />
* Michał Zalewski. The Tangled Web: A Guide to Securing Modern Web Applications.<br />
* Chris Anley, John Heasman, Felix Lindner, Gerardo Richarte. The Shellcoder's Handbook: Discovering and Exploiting Security Holes.<br />
* Dafydd Stuttard, Marcus Pinto. The Web Application Hacker's Handbook: Detecting and Exploiting Security Flaws. <br />
* Christopher Swenson, Modern Cryptanalysis: Techniques for Advanced Code Breaking. <br />
* Æleen Frisch. Essential system administration.<br />
* Dominic Chell, Tyrone Erasmus, Shaun Colley, Ollie Whitehouse. The Mobile Application Hacker's Handbook<br />
<br />
Дополнительная литература:<br />
* [https://docs.google.com/document/d/13zgZ_CRRHADwxf41mSSSuoJQLkMc67TXxpYLoW6lRak/edit#heading=h.l7t8ktb3r2q7 Веб-безопасность 101. Курс молодого бойца.]<br />
<br />
=== Контакты ===<br />
* Почта: gamajun@gmail.com, dgamaunov@hse.ru<br />
* Tg: @jamadharma<br />
* Tg чат: https://t.me/hse_security_course</div>Enr1ghttp://wiki.cs.hse.ru/%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC_2017/%D0%97%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_4Безопасность компьютерных систем 2017/Задание 42017-12-05T22:29:52Z<p>Enr1g: /* Легенда */</p>
<hr />
<div>== Описание задания ==<br />
<br />
Задание состоит из двух независимых этапов: задача на криптоанализ симметричного шифра и асимметричного шифра. В обоих этапах нужно будет получить доступ к ssh-серверу, на котором хранится флаг в формате <code>HSE{...SOME_TEXT...}</code><br />
<br />
== Задание на симметричную криптографию ==<br />
<br />
=== Легенда ===<br />
У вас есть дамп домашней папки пользователя hse_task_sc, где он хранил зашифрованный пароль своей учётной записи от машины 94.130.175.205.<br />
<br />
* encrypt.py — шифрование данных<br />
* decrypt.py — расшифрование данных<br />
* encrypted_password.txt — файл с зашифрованным паролем<br />
<br />
Скачать дамп можно здесь [https://drive.google.com/file/d/1cQo-biEZUExlktSYXd8Kw19gQcfLQ3vY/view?usp=sharing]<br />
<br />
=== Задача ===<br />
<br />
* Понять, как работает эта криптосистема.<br />
* Понять, как будете атаковать: Known-Plaintext, Chosen Plaintext, Ciphertext Only, что-то другое?<br />
* Узнать пароль пользователя без применения бандитского криптоанализа, социальной инженерии и помощи коллег.<br />
<br />
=== Формат решения ===<br />
<br />
Решение должно содержать следующий минимум:<br />
* Программный код на языке Python (последние версии python2 и python3, а также совместимые с ними), взламывающий пароль.<br />
* Текстовое описание того, как был взломан шифр.<br />
* Какой недостаток в этой криптосистеме позволил вам дешифровать шифртекст.<br />
* Флаг, как доказательство получения доступа по ssh.<br />
<br />
Если было обнаружено несколько способов взлома (их минимум 3 разной степени элегантности), то подобное описание стоит сделать для каждой атаки.<br />
<br />
=== Куда и как сдавать ===<br />
Присылайте на почту enr1g[at]seclab.cs.msu.su с темой <code>[crypto@hsecurity] Фамилия И.О.</code>. На случай коллизии ФИО, напишите его полностью =)<br />
<br />
== Задание на асимметричную криптографию ==<br />
=== Легенда ===<br />
'''TBD'''<br />
=== Задача ===<br />
'''TBD'''<br />
=== Формат решения ===<br />
'''TBD'''<br />
<br />
== Оценивание ==<br />
Выполненное каждого этапа даёт 1 балл. В сумме можно получить максимум 2 балла. Также возможно начисление дополнительных баллов за альтернативные способы решения.<br />
<br />
== Сроки ==<br />
Задание принимается до 20:00, 25 декабря 2017 года.<br />
<br />
== Примечание ==<br />
Вопросы и баги можно писать на почту enr1g[at]seclab.cs.msu.su, в чат курса в Telegram и в личку @Enr1g</div>Enr1ghttp://wiki.cs.hse.ru/%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC_2017/%D0%97%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_4Безопасность компьютерных систем 2017/Задание 42017-12-05T22:23:55Z<p>Enr1g: /* Примечание */</p>
<hr />
<div>== Описание задания ==<br />
<br />
Задание состоит из двух независимых этапов: задача на криптоанализ симметричного шифра и асимметричного шифра. В обоих этапах нужно будет получить доступ к ssh-серверу, на котором хранится флаг в формате <code>HSE{...SOME_TEXT...}</code><br />
<br />
== Задание на симметричную криптографию ==<br />
<br />
=== Легенда ===<br />
У вас есть дамп домашней папки пользователя hse_task_sc, где он хранил зашифрованный пароль своей учётной записи от машины 94.130.175.205.<br />
<br />
* encrypt.py — шифрование данных<br />
* decrypt.py — расшифрование данных<br />
* encrypted_password.txt — файл с зашифрованным паролем<br />
<br />
=== Задача ===<br />
<br />
* Понять, как работает эта криптосистема.<br />
* Понять, как будете атаковать: Known-Plaintext, Chosen Plaintext, Ciphertext Only, что-то другое?<br />
* Узнать пароль пользователя без применения бандитского криптоанализа, социальной инженерии и помощи коллег.<br />
<br />
=== Формат решения ===<br />
<br />
Решение должно содержать следующий минимум:<br />
* Программный код на языке Python (последние версии python2 и python3, а также совместимые с ними), взламывающий пароль.<br />
* Текстовое описание того, как был взломан шифр.<br />
* Какой недостаток в этой криптосистеме позволил вам дешифровать шифртекст.<br />
* Флаг, как доказательство получения доступа по ssh.<br />
<br />
Если было обнаружено несколько способов взлома (их минимум 3 разной степени элегантности), то подобное описание стоит сделать для каждой атаки.<br />
<br />
=== Куда и как сдавать ===<br />
Присылайте на почту enr1g[at]seclab.cs.msu.su с темой <code>[crypto@hsecurity] Фамилия И.О.</code>. На случай коллизии ФИО, напишите его полностью =)<br />
<br />
== Задание на асимметричную криптографию ==<br />
=== Легенда ===<br />
'''TBD'''<br />
=== Задача ===<br />
'''TBD'''<br />
=== Формат решения ===<br />
'''TBD'''<br />
<br />
== Оценивание ==<br />
Выполненное каждого этапа даёт 1 балл. В сумме можно получить максимум 2 балла. Также возможно начисление дополнительных баллов за альтернативные способы решения.<br />
<br />
== Сроки ==<br />
Задание принимается до 20:00, 25 декабря 2017 года.<br />
<br />
== Примечание ==<br />
Вопросы и баги можно писать на почту enr1g[at]seclab.cs.msu.su, в чат курса в Telegram и в личку @Enr1g</div>Enr1ghttp://wiki.cs.hse.ru/%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC_2017/%D0%97%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_4Безопасность компьютерных систем 2017/Задание 42017-12-05T22:22:58Z<p>Enr1g: Новая страница: «== Описание задания == Задание состоит из двух независимых этапов: задача на криптоанализ…»</p>
<hr />
<div>== Описание задания ==<br />
<br />
Задание состоит из двух независимых этапов: задача на криптоанализ симметричного шифра и асимметричного шифра. В обоих этапах нужно будет получить доступ к ssh-серверу, на котором хранится флаг в формате <code>HSE{...SOME_TEXT...}</code><br />
<br />
== Задание на симметричную криптографию ==<br />
<br />
=== Легенда ===<br />
У вас есть дамп домашней папки пользователя hse_task_sc, где он хранил зашифрованный пароль своей учётной записи от машины 94.130.175.205.<br />
<br />
* encrypt.py — шифрование данных<br />
* decrypt.py — расшифрование данных<br />
* encrypted_password.txt — файл с зашифрованным паролем<br />
<br />
=== Задача ===<br />
<br />
* Понять, как работает эта криптосистема.<br />
* Понять, как будете атаковать: Known-Plaintext, Chosen Plaintext, Ciphertext Only, что-то другое?<br />
* Узнать пароль пользователя без применения бандитского криптоанализа, социальной инженерии и помощи коллег.<br />
<br />
=== Формат решения ===<br />
<br />
Решение должно содержать следующий минимум:<br />
* Программный код на языке Python (последние версии python2 и python3, а также совместимые с ними), взламывающий пароль.<br />
* Текстовое описание того, как был взломан шифр.<br />
* Какой недостаток в этой криптосистеме позволил вам дешифровать шифртекст.<br />
* Флаг, как доказательство получения доступа по ssh.<br />
<br />
Если было обнаружено несколько способов взлома (их минимум 3 разной степени элегантности), то подобное описание стоит сделать для каждой атаки.<br />
<br />
=== Куда и как сдавать ===<br />
Присылайте на почту enr1g[at]seclab.cs.msu.su с темой <code>[crypto@hsecurity] Фамилия И.О.</code>. На случай коллизии ФИО, напишите его полностью =)<br />
<br />
== Задание на асимметричную криптографию ==<br />
=== Легенда ===<br />
'''TBD'''<br />
=== Задача ===<br />
'''TBD'''<br />
=== Формат решения ===<br />
'''TBD'''<br />
<br />
== Оценивание ==<br />
Выполненное каждого этапа даёт 1 балл. В сумме можно получить максимум 2 балла. Также возможно начисление дополнительных баллов за альтернативные способы решения.<br />
<br />
== Сроки ==<br />
Задание принимается до 20:00, 25 декабря 2017 года.<br />
<br />
== Примечание ==</div>Enr1ghttp://wiki.cs.hse.ru/%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC_2017Безопасность компьютерных систем 20172017-12-05T21:56:08Z<p>Enr1g: /* Практические задания */</p>
<hr />
<div>== Безопасность компьютерных систем ==<br />
<br />
Курс по выбору для студентов 3 и 4 курса ФКН ВШЭ, осень 2017 года (1 и 2 модуль).<br />
Курс состоит из лекций и семинаров. Основной акцент сделан на безопасности приложений и разработке безопасного программного обеспечения. <br />
<br />
=== План курса ===<br />
<br />
Лекции:<br />
# (05.09) [https://docs.google.com/a/solidlab.ru/presentation/d/1Ejcm45wZWjG5dFxzMo0P1snL6vpqWxz6kGqWq603pus/edit?usp=sharing Вводная лекция. Безопасность приложений как фактор технологической конкуренции. Уязвимости программного обеспечения и атаки на них.]<br />
# (12.09) [https://docs.google.com/a/solidlab.ru/presentation/d/1obrDy2-_g4x-WgCM89mYPqffemUib6H_qndK_5Wf9Ys/edit?usp=sharing Основные понятия и определения. Модель нарушителя.]<br />
# (19.09) [https://docs.google.com/presentation/d/1Poc89tUKcobK2HAaezZkMHVDxuB7tAV1Uk6h1qKM7Lk/edit?usp=sharing Безопасность приложений. Мобильные приложений и их уязвимости.] <br />
# (26.09) [https://drive.google.com/open?id=0B1nyyeocSxBaRkhCajRhaV9qdHM Безопасность приложений. Уязвимости веб-приложений ч. 1.]<br />
# (03.10) [https://drive.google.com/open?id=0B1nyyeocSxBabnFieWxVbEN2VmM Безопасность приложений. Уязвимости веб-приложений ч. 2.]<br />
# (10.10) [https://docs.google.com/presentation/d/1KQ0YKM_Q5vxTrpv3kKAJyPGoRVvjxh7ATTdgU5aEzCI/edit?usp=sharing Безопасность приложений. Исполнение программ на процессоре, стек, подпрограммы и функции, передача аргументов, возврат значения. Системные вызовы. Размещение объектов в памяти: статическое, динамическое, автоматическое. Загрузчик программных модулей. Формат исполняемых файлов ELF. Зависимости модулей. Символы. Уязвимости, связанные с переполнением буфера.Уязвимости, связанные с подменой программных модулей. Уязвимости, связанные с некорректной проверкой прав доступа, TOCTOU.]<br />
# (17.10) [https://docs.google.com/presentation/d/14aG1_23kURtEY93_ac_OhmUyxTgDr36Gi2nrElraPoU/edit?usp=sharing Безопасность приложений. Уязвимости переполнения кучи. Механизмы защиты в современных операционных систем. ASLR, защита стека. Методы обхода.] <br />
# (31.10) [https://drive.google.com/file/d/1v7tb_YmZSqB0KUmvAST7icS7o1uW6Qrk/view?usp=sharing Безопасность приложений. Secure Development Life Cycle ч. 1]<br />
# (7.11) [https://drive.google.com/file/d/1SU3-hoxeXoGHDVafEpbdGe2WR5NJ2Cz7/view?usp=sharing Безопасность приложений. Secure Development Life Cycle ч. 2]<br />
# (14.11) [https://docs.google.com/presentation/d/1m0KVaIN8VeP7PF8qBsgs4P3NzCee_ZKU5OuqNExhCYI/edit?usp=sharing Механизмы безопасности приложений в операционных системах.] <br />
# (21.11) [https://docs.google.com/presentation/d/15L1xDBvNDffUuVLi73RCgcluVFoZepY48Xq0quJcETs/edit?usp=sharing Криптография. Введение и история]<br />
# (28.11) [https://docs.google.com/presentation/d/1jrhO0ta_3E-wwHxIDffWzelXkj-UrzKb719hY9drsPo/edit?usp=sharing Криптография. Симметричные шифры и атаки на них.]<br />
# (5.12) [https://docs.google.com/presentation/d/1jmKzZb2ezLkVVY_wlQkS4dj1a6V4okIFTgbNucigpIw/edit?usp=sharing Криптография, Асимметричные шифры и атаки на них.]<br />
# (12.12) Криптография. Приложения - PKI, WoT, Блокчейн.<br />
# (19.12) Криптография. Пост-квантовая криптография. Заключение. <br />
<br />
Семинары:<br />
# (12.09) [[Безопасность компьютерных систем 2017/Уязвимости мобильных приложений ч. 1|Уязвимости мобильных приложений ч. 1]]<br />
# (19.09) [[Безопасность_компьютерных_систем_2017/Уязвимости_мобильных_приложений_ч._2|Уязвимости мобильных приложений ч. 2]]<br />
# (26.09) Веб-уязвимости. Обзор, инструменты.<br />
# (03.10) [[Безопасность_компьютерных_систем_2017/XSS|Веб-уязвимости. XSS.]]<br />
# (10.10) Веб-уязвимости. SQLi.<br />
# (17.10) [http://hse.seclab.cs.msu.ru/xxe.html Веб-уязвимости. XXE], прочее интересное.<br />
# (31.10) [[Безопасность_компьютерных_систем_2017/Бинарные_программы_1|Бинарные программы. Инструменты.]]<br />
# (07.11) [[Безопасность_компьютерных_систем_2017/Бинарные_программы_2|Бинарные программы. Обнаружение уязвимостей и эксплуатация.]]<br />
# (14.11) Уязвимости в бинарных программах. Advanced.<br />
# (21.11) Безопасная разработка.<br />
# (28.11) [[Безопасность_компьютерных_систем_2017/SECCOMP|Механизмы безопасности операционных систем на примере Linux Seccomp]]<br />
# (05.12) Атаки на блочные шифры. CBC.<br />
# (12.12) Атаки на RSA.<br />
<br />
=== Материалы лекций ===<br />
<br />
Лекционные материалы публикуются по мере продвижения по курсу.<br />
<br />
<br />
=== Практические задания ===<br />
<br />
В рамках курса нужно выполнять домашние задания, выдаваемые на семинарах. Всего запланировано 4 задания.<br />
<br />
[[Безопасность_компьютерных_систем_2017/Задание_1|Задание по теме "Уязвимости мобильных приложений"]]<br />
<br />
[[Безопасность_компьютерных_систем_2017/Задание_2|Задание по теме "Веб-уязвимости"]]<br />
<br />
[[Безопасность_компьютерных_систем_2017/Задание_3|Задание по теме "Бинарные уязвимости"]]<br />
<br />
[[Безопасность_компьютерных_систем_2017/Задание_4|Задание по теме "Криптографические уязвимости"]]<br />
<br />
[https://docs.google.com/spreadsheets/d/1d3wiWZgK1zw_pR7-oeCXeb3IbPH7A8laBEd0Blk0yhc/edit#gid=0 Результаты выполнения заданий]<br />
<br />
==== Общее ====<br />
<br />
=== Итоговый тест ===<br />
<br />
<br />
=== Оценки ===<br />
<br />
<br />
=== Расчет оценки ===<br />
Вклад в оценку:<br />
* Практические задания (4 штуки) - 80%<br />
* Итоговый тест (на экзамене) - 20%<br />
<br />
=== Литература ===<br />
Основная литература:<br />
* Michał Zalewski. The Tangled Web: A Guide to Securing Modern Web Applications.<br />
* Chris Anley, John Heasman, Felix Lindner, Gerardo Richarte. The Shellcoder's Handbook: Discovering and Exploiting Security Holes.<br />
* Dafydd Stuttard, Marcus Pinto. The Web Application Hacker's Handbook: Detecting and Exploiting Security Flaws. <br />
* Christopher Swenson, Modern Cryptanalysis: Techniques for Advanced Code Breaking. <br />
* Æleen Frisch. Essential system administration.<br />
* Dominic Chell, Tyrone Erasmus, Shaun Colley, Ollie Whitehouse. The Mobile Application Hacker's Handbook<br />
<br />
Дополнительная литература:<br />
* [https://docs.google.com/document/d/13zgZ_CRRHADwxf41mSSSuoJQLkMc67TXxpYLoW6lRak/edit#heading=h.l7t8ktb3r2q7 Веб-безопасность 101. Курс молодого бойца.]<br />
<br />
=== Контакты ===<br />
* Почта: gamajun@gmail.com, dgamaunov@hse.ru<br />
* Tg: @jamadharma<br />
* Tg чат: https://t.me/hse_security_course</div>Enr1g