Как и договаривались, предлагаю 15 тем, на одну их которых вам предстоит дать развёрнутый устный ответ на экзамене в следующий четверг, 8 апреля.
При подготовке пользуйтесь свежим конспектом лекции (PDF).
Список вопросов
1. Базовые понятия криптологии: криптография, криптоанализ, криптосистема, открытый и закрытый текст, ключ. Основополагающие принципы работы криптосистем: замена и перестановка. Примеры исторических криптоалгоритмов, использующих эти принципы (объяснить, как работает хотя бы один).
2. Сравнение исторических и современных криптоалгоритмов с точки зрения их надёжности. Что является гарантом надёжности современных компьютерных криптосистем? В чём состоит принцип Керкгоффса? Понятие ключа и свойства ключа. Идеальный ключ, обеспечивающий максимальную надёжность криптограммы. Почему использование идеального ключа не оправдывает себя?
3. Шифрование при помощи ключа и логической операции XOR. В чём слабые стороны этого метода шифрования? Что нужно для обеспечения надёжности этого способа шифрования? Какие средства криптоанализа можно использовать для взлома криптограммы на основе ключа и XOR? Частотный анализ.
4. Методы взлома криптосистем: физические, технические, социальные. Способы криптоанализа: атака по имеющимся криптограммам, атака по словарю из частично расшифрованных криптограмм, атака с “чёрным ящиком” (есть доступ к криптосистеме для тестирования своих криптограмм или открытых текстов). Bruteforce по словарю и без него.
5. Симметричные криптосистемы. Принцип работы. Разница между шифрованием блоками и потоком. Какие их достоинства и недостатки? От чего зависит их криптостойкость? К каким атакам наиболее уязвимы? Перечислить названия распространённых симметричных криптоалгоритмов и сферу их применения.
6. Ассимметричные криптосистемы (криптосистемы с открытм ключом). Принцип работы. От чего зависит их криптостойкость? Какие их достоинства и недостатки? Что такое “цифровая подпись” и как она работает? Перечислить названия распространённых ассимметричных криптоалгоритмов и сферу их применения.
7. Криптографические хеши. Принцип работы. Основные характеристики хеширующих алгоритмов: необратимость, стойкость к коллизиям, лавинный эффект. Примеры хэш-алгоритмов и сфера их применения. Какие из них считаются безопасными (криптостойкими)? Что означает “взломать хэш” и как это можно сделать?
8. Безопасность сетей Ethernet: в чём причина слабой защищённости этого сетевого стандарта? В чём отличие уязвимостей (и способов защиты) нижних уровней OSI (1-3) от верхних уровней (4-7)? Подробно рассказать об уязвимостях и методах защиты на физическом уровне (L1) модели OSI.
9. Уязвимости и методы защиты на канальном уровне (L2) модели OSI. Рассказать, в чём суть таких атак, как MAC flood (aka CAM/MAC table overflow) и ARP spoofing? Какой вред могут нанести эти атаки, какова их цель? Выберите один любой тип атаки (или MAC flood, или ARP spoofing) и подробнее расскажите как она осуществляется и как от неё защититься.
10. Безопасность беспроводных сетей Wi-Fi. Почему Wi-Fi уязвимы? Чем они привлекательны для злоумышленников? Каких атак стоит опасаться администратору Wi-Fi сети и что нужно делать, чтобы минимизировать их риск и недопустить проникновения злоумышленника в сеть?
11. Защита рабочих станций: что угрожает обычным пользователям Windows? Как защитить компьютер пользователя от похищения данных? Антивирусы и их виды. Что нужно учитывать при выборе антивируса? Что такое data forensics?
12. Фаерволлы: назначение и принцип работы. Различия между аппаратным и программным фаерволом. Как работают правила фильтрации траффика (привести пример). Что такое Intrusion Detection System и Intrusion Prevention System, в чём их сходства и различия с “обыкновенным” фаерволом?
13. Общие принципы защиты веб-приложений: что угрожает веб-сайтам? Кто и для чего их ломает, каковы основные методы взлома веб-приложений? Что должен иметь в виду веб-разработчик при проектировании и реализации серверных скриптов, чтобы максимально обезопасить свой сайт от злоумышленников? Что такое Cross-Site Scripting и как он него защититься?
14. SQL-инъекции. Объяснить суть этой уязвимости. Какие СУБД, языки программирования и интернет-протоколы подвержены этому типу аттак? Какой вред могут нанести SQL-инъекции? Привести пару примеров. Как от них защититься? Как определить, вероятно ли выполнение инъекции применительно к конкретному веб-сайту?
15. Всё про пароли и имена пользователей. Сложность паролей. Какие пароли считаются надёжными, а какие – нет? Как хранить пароли в веб-приложении? Принцип работы salt. Как лучше всего осуществить авторизацию пользователя (проверку на соответствие введённого пароля с сохранённым в базе данных веб-приложения)? Как хранить сохранённый пароль в сессии или в cookies? Какие существуют способы, чтобы добиться от простых пользователей высокой культуры управления своими паролями?
Каких тем точно не будет?
Вам не нужно детально вникать в политики безопасности, в защиту сетевого (L3) и более высоких уровней OSI, в режимы шифрования блоками (CBC, ECB, OFB), в математику Диффи-Хелмана, в демилитаризованные зоны фаерволов и во все другие вопросы, которые мы немного затрагивали устно на лекциях, но которых нет среди вышеназванных тем.
Ход экзамена
Каждый выбирает наугад 1 карточку. На карточке будет одна из вышеназванных тем для устного ответа + 2 простых вопроса, на которые нужно ответить прямо на карточке (например: “Алгоритм RC4 – это алгоритм шифрования или хэш-функция? Нужное подчеркнуть.”)
Если вам не нравится тема карточки или сопутствующие ей вопросы, вы можете выбрать другую карточку, но в этом случае вы получаете -1 балл (т.е. ваша максимальная оценка статовится 4 балла).
У вас будет 5-10 минут на подготовку ответа. При подготовке запрещается пользоваться конспектом, компьютером, слайдами лекций или другими электронными или печатными материалами.
Разрешается принести с собой шпаргалку в виде одного листа А4, на который вы можете поместить сколько угодно много информации. При подгтовке к ответу можете пользоваться свой шпаргалкой.
При устном ответе можете использовать маркерную доску или чистый лист бумаги и ручку, если это поможет вам в объяснении своей темы. Времени на устный ответ – 5-7 минут (пока один отвечает, другой готовится, остальные ждут своей очереди).
Оценивание
Каждый из простых вопросов на карточке даёт вам по 1 баллу. Таким образом, желающие получить 2 балла могут обойтись только письменными ответами на два простых вопроса и не заморачиваться с устным ответом по теме билета.
Наличие выполненных и предоставленных на емейл ко дню экзамена домашних заданий (всего их было 2: расшифровка текста методом частотного анализа и аудит Вифи-сетей) склоняет чашу весов в сторону более высокой оценки в неоднозначных случаях.