варианты заданий к контрольной работе

advertisement
Задания к контрольной работе по курсу «Защита информации».
1.
2.
3.
4.
5.
Порядок выполнения контрольной работы:
Получить вариант задания у преподавателя.
Исследовать методы решения поставленной задачи
Программно реализовать изученные методы.
Оформить отчет, содержащий реферативное описание изученного теоретического
материала, листинга разработанной программы и результаты ее работы
Отчитать контрольную работу у преподавателя.
Варианты заданий к контрольным работам
1. Разработать программу-архиватор по методу LZ с возможностью шифрации данных.
Исследовать процедуры архивации данных с использованием алгоритмов семейства LZ
(LZ77, LZ78, LZW…). Программно реализовать процедуры архивации и разархивации файла
по выбранному алгоритму, предусмотрев дополнительную защиту архива шифрованием
любым симметричным шифром. Исследовать эффективность сжатия данных в зависимости от
принятых параметров алгоритма сжатия.
2. Разработать программу-архиватор по методу Хаффмана с возможностью шифрации
данных. Исследовать разновидности реализации алгоритма архивации по Хаффману и
программно реализовать процедуры архивации-разархивации данных с использованием этого
алгоритма. Предусмотреть дополнительную защиту архива шифрованием любым
симметричным шифром. Проанализировать эффективность сжатия информации различного
типа (текст, графика в различных форматах, двоичные данные)
3. Исследование методов защиты программ от несанкционированного запуска.
Исследовать методики, разрешающие запускать программу только на конкретной
программно-аппаратной платформе и запрещающие ее запуск на других компьютерах.
Рассмотреть несколько вариантов реализации подобной защиты, способы обхода такой
защиты. Программно реализовать один из рассмотренных методов.
4. Исследование методов защиты программ от отладчиков. Рассмотреть методы
защищающие исследование кода отладчиками, проанализировать их стойкость к обходу
защиты. Программно реализовать один их методов защиты, предотвращающий запуск
программы из-под отладчика или затрудняющий анализ ее выполнения под отладчиком.
5. Исследование методов стеганографии (контейнер – графический файл). Рассмотреть
методы стеганографического встраивания информации в графические контейнеры различных
типов, проанализировать возможные атаки на стегоконтейнеры. Программно реализовать
сеганографическое встраивание текстовой строки в графический контейнер и выделение ранее
встроенной строки из стегоконтейнера. Проанализировать максимальное допустимое
соотношение длины встраиваемой строки и размера графического контейнера,
обеспечивающее секретность встраивания.
6. Исследование методов стеганографии (контейнер – аудио-файл). Рассмотреть методы
стеганографического встраивания информации в аудио-контейнеры различных типов,
проанализировать возможные атаки на стегоконтейнеры. Программно реализовать
сеганографическое встраивание текстовой строки в аудиоконтейнер и извлечение ранее
встроенной строки из стегоконтейнера. Проанализировать максимальное допустимое
соотношение длины встраиваемой строки и размера контейнера, обеспечивающее секретность
встраивания.
7. Разработка системы сертификации открытых ключей. Программная система должна
генерировать ключевую пару открытый-закрытый ключ и генерировать сертификат для
открытого ключа, подписанный корневым ключом системы. Реализовать возможность
проверки подлинности открытого ключа по его сертификату.
8. Исследование программных интерфейсов управления доступом к ресурсам
операционной системы. Рассмотреть различные программные интерфейсы для управления
правами доступа пользователей и групп пользователей к ресурсам операционной системы
(файлам, папкам, процессам и пр.). Программно реализовать возможность изменения прав
доступа произвольной учетной записи или группы к ресурсам операционной системы.
9. Исследование атаки типа «переполнение буфера» и методов борьбы с ними.
Рассмотреть различные варианты реализации атаки типа «переполнение буфера»,
проиллюстрировать рассмотренные варианты программным кодом. Модифицировать
атакуемый код таким образом, чтобы атаки стали неэффективными.
10.
Исследование принципов работы клавиатурных шпионов и методов борьбы с
ними. Рассмотреть методики реализации клавиатурных шпионов, программно реализовать
один из них. Описать основные способы предотвращения атак подобного типа.
11.
Реализация системы аутентификации на основе клавиатурного почерка.
Исследовать методы аутентификации пользователя на основе его клавиатурного почерка –
особенностей ввода информации с клавиатуры. Реализовать подсистему аутентификации
пользователя, основанную на анализе его клавиатурного почерка. При регистрации
пользователя ему предлагается несколько раз ввести строку текста. Усредненные параметры
ввода принимается за эталон пользовательского почерка. При входе пользователя в систему
ему предлагается ввести ту же строку, что и при регистрации. При совпадении параметров
ввода с сохраненными для данного пользователя ему предоставляется доступ к программе,
иначе фиксируется неудачная аутентификация.
12.
Реализация системы распределенной аутентификации типа «запрос-ответ».
Реализовать систему удаленной парольной аутентификации пользователя по схеме ”запросответ”. Клиент и сервер должны обмениваться по сети аутентификационными пакетами для
предотвращения атак типа перехват пароля, повторное воспроизведение, компрометация
проверяющего.
13.
Исследование методов генерации криптостойких случайных чисел с проверкой
по тестам FIPS-140. Исследовать методы генерации случайных чисел, удовлетворяющих
тестам криптостойкости FIPS-140. Программно реализовать генератор случайных чисел по
одному их рассмотренных алгоритмов, осуществить проверку генерируемых чисел по
стандарту FIPS-140.
14.
Атаки типа «SQL-инъекция» и методы борьбы с ними. Исследовать уязвимости
SQL-запросов, практически проиллюстрировать их на тестовой базе данных. Рассмотреть
основные методы защиты от SQL-инъекции и продемонстрировать неэффективность ранее
рассмотренных атак для модифицированных (защищенных) запросов к базам данных.
15.
Исследование методов стеганографии (контейнер – текст). Рассмотреть методы
стеганографического встраивания информации в текстовый контейнер, проанализировать
возможные атаки на стегоконтейнер.
Программно реализовать сеганографическое
встраивание текстовой строки в контейнер-текстовый файл и извлечение ранее встроенной
строки из стегоконтейнера. Проанализировать максимальное допустимое соотношение длины
встраиваемой строки и размера контейнера, обеспечивающее секретность встраивания.
16.
Исследование методов генерации сверхбольших простых чисел с проверкой на
простоту. Рассмотреть методы генерации сверхбольших (до 1024 бит) простых чисел, а также
алгоритмы вероятностной проверки чисел на простоту (Рабин-Миллер, Соловей-Штрассер,
Леман…). Реализовать один из рассмотренных методов в виде программной системы,
генерирующих простые числа заданной длины с заданной вероятностью их простоты.
17.
Реализация асимметричной криптографии средствами прикладных API
операционных систем. Исследовать прикладные API, предоставляемые современными
операционными системами или системами программирования для асимметричного
шифрования данных. Программно реализовать систему асимметричного шифрования,
позволяющую генерировать пару асимметричных ключей, шифровать и дешифровать
содержимое выбранного файла с помощью изученных средств.
18. Исследовать методы формирования/верификации ЭЦП на основе эллиптических
кривых. Исследовать основы эллиптической криптографии, реализовать программную
систему, которая будет осуществлять формирование и верификацию ЭЦП для выбранного
файла по методу ГОСТ 34.10-2012, основанному на использовании эллиптических кривых,
19. Атаки типа межсайтовый скриптинг (XSS) и методы борьбы с ними. Исследовать
механизмы реализации атак типа межсайтовый скриптинг, проиллюстрировать их примерами
уязвимостей на реальных скриптах. Рассмотреть методы предотвращения атак подобного
типа.
20. Разработка антивируса-ревизора. Программная система должна запоминать исходное
(эталонное) стояние назначенных к наблюдению объектов файловой системы и при каждой
проверке сравнивать их текущее состояние с сохраненным. Несоответствие размеров или
атрибутов наблюдаемого объекта следует трактовать как возможное воздействие вируса.
Реализовать возможности проверки в автоматическом режиме (по расписанию) и по команде
пользователя.
21. Разработка системы аутентификации пользователей информационных систем с
использованием графических паролей. Система должна предоставлять возможность
формировать пароль при регистрации и вводить его при аутентификации на основе
графической информации как последовательности щелчков мышью по определенным
областям изображения или пути перемещения мыши по нему. Для предотвращения
пассивного перехвата пароля реализовать для системы динамическую модификацию
аутентифицирующего изображения для каждого сеанса аутентификации.
22. Исследование методов обфускации исходного кода программ. Исследовать методы
защиты алгоритмов работы программ от несанкционированного изучения и модификации за
счет обфускации (запутывания) кода. Программно реализовать обфускатор кода для
выбранного языка программирования.
23. Разработка системы моделирование мандатного доступа к ресурсам операционной
системы для систем с дискреционным доступом. Система должна ввести для некоторого
подмножества пользователей и ресурсов системы ввести уровни доступа (секретности) и
предоставлять доступ (присваивать права в дискреционной таблице) таким образом, чтобы
уровень доступа пользователя был не меньше заданного уровня секретности ресурса (файла,
папки).
24. Исследование атак типа PHP-инъекции и методов их предотвращения. Изучить методы
внедрения кода в PHP-скрипты, проиллюстрировать возможности атаки на демонстрационных
PHP-скриптах. Описать методы противодействия инъекциям, модифицировать скрипты таким
образом, чтобы инъекции в них были невозможны.
25. Реализация ЭЦП средствами прикладных API операционных систем. Исследовать
прикладные API, предоставляемые современными операционными системами или системами
программирования для формирования электронной цифровой подписи документов.
Программно реализовать систему формирования и верификации ЭЦП для выбранного
документа с помощью изученных средств.
26. Разработка системы распознавания реальных пользователей при аутентификации
(CAPTCHA). Система должна предлагать пользователю при аутентификации решать
некоторую задачу (распознавание текста из графического образа, вычисление значения
несложного математического выражения и др.) для доказательства того, что не происходит
автоматический подбор пароля. Разрабатываемая CAPTCHA должна быть стойкой к
распознаванию текста на изображении за счет использования динамических графических
преобразований (наклоны, искажения, модификация цвета и т.п.)
Допустимо предложить свою тему контрольной работы, связанную с вопросами
обеспечения информационной безопасности. Тема должна быть согласована с
преподавателем, должна содержать как исследовательскую часть, в которой рассматриваются
математические, алгоритмические, инструментальные аспекты изучаемой технологии, так и
практическую часть, в которой рассматриваемая технология защиты информации реализуется
в программном коде.
Download