- •Министерство образования и науки российской федерации
- •1. Биометрическая аутентификация пользователя по клавиатурному почерку
- •Теоретическая часть
- •Описание программного комплекса биометрической аутентификации
- •Порядок выполнения работы
- •Контрольные вопросы
- •2. Реализация и исследование политик информационной безопасности. Дискреционная модель политики безопасности
- •Теоретический материал
- •Порядок выполнения работы
- •Контрольные вопросы
- •Пример оформления отчета
- •3. Реализация и исследование политик информационной безопасности. Мандатная модель политики безопасности
- •Теоретический материал
- •Порядок выполнения работы
- •Контрольные вопросы
- •Пример оформления отчета
- •4. Реализация и исследование политик информационной безопасности. Модель Белла-ЛаПадула (блм) и Low-Water-Mark (lwm)
- •Теоретический материал
- •Исходная мандатная политика безопасности
- •Порядок выполнения работы
- •Контрольные вопросы
- •Пример оформления отчета (блм)
- •Пример оформления отчета (lwm)
- •5. Реализация и исследование модели контроля целостности биба
- •Теоретический материал
- •Порядок выполнения работы
- •Контрольные вопросы
- •6. Методы криптографической защиты информации. Традиционные симметричные криптосистемы
- •Теоретический материал
- •Порядок выполнения работы
- •Контрольные вопросы
- •Пример оформления отчета
- •7. Элементы криптоанализа. Оценка частотности символов в тексте
- •Теоретический материал
- •Порядок выполнения работы
- •Контрольные вопросы
- •Пример оформления отчета
- •8. Симметричные и асимметричные криптосистемы. Электронно-цифровая подпись. Программный комплекс pgp
- •Теоретический материал
- •Порядок выполнения работы
- •Часть 1. Изучение симметричных, асимметричных криптосистем и эцп в программном продукте SentinelCrypt.
- •Часть 2. Изучение защищенного документооборота в рамках программного комплекса pgp
- •Контрольные вопросы
- •9. Методы и алгоритмы стеганографического сокрытия данных
- •Теоретический материал
- •Порядок выполнения работы
- •Контрольные вопросы
- •10. Программно-аппаратный комплекс Secret Disk
- •Теоретический материал
- •Порядок выполнения работы
- •Контрольные вопросы
- •11. Методы и средства программно-аппаратной защиты программ и данных. Электронные ключи hasp
- •Теоретический материал
- •Порядок выполнения работы
- •Контрольные вопросы
- •12. Исследование моделей защит программного обеспечения. Средства динамического изучения по. Отладка программ и нейтрализация защит в отладчике SoftIce
- •Теоретический материал
- •Порядок выполнения работы
- •Контрольные вопросы
- •Пример оформления отчета
- •13. Статические методы изучения и нейтрализации защитных механизмов. Знакомство с техникой дизассемблирования программных продуктов
- •Теоретический материал
- •Порядок выполнения работы
- •Контрольные вопросы
- •14. Управление пользователями и их правами доступа в ос windows 2000
- •Теоретический материал
- •Порядок выполнения работы
- •Контрольные вопросы.
- •Пример оформления отчета
- •15. Управление подсистемой аудита в ос windows 2000
- •Теоретический материал
- •Порядок выполнения работы
- •Контрольные вопросы
- •Список литературы Основная литература
- •Дополнительная литература
- •Периодические издания
- •Методические указания к лабораторным занятиям
- •Методические указания к практическим занятиям
- •Методические указания к курсовому проектированию и другим видам самостоятельной работы
Порядок выполнения работы
Загрузить в IDA Pro выданный преподавателем файл ida_0x1.com и произвести его полное и качественные дизассемблирование с анализом исполняемого кода, руководствуясь при этом следующими рекомендациями.
Запустить программу ida_0x1.com и познакомиться внешне с ее работой. Какие функции она выполняет?
Загрузить в IDA Pro (исполняемый файл ldag.exe) файл ida_0x1.com и дизассемблировать его как 16-битный код.
Если по умолчанию IDA принял начальные инструкции как данные, не дизассемблировав их, то указать ему, что данные являются командными инструкциями (выделить соответствующую команду и дать команду «С»).
По какому адресу выполняется переход с адреса seg000:0003? Добавить перекрестную ссылку, указав дизассемблеру, куда делается переход с адреса 0003. (Команда View -> Open Subviews -> Cross references). Произвел ли IDA после этого дальнейший анализ кода?
Произвести анализ кода по адресам seg000:0006 – seg000:0012. Проинтерпретировать общий смысл данного участка кода. В чем его функции?
Что делает цикл, расположенный по адресам seg000:000C – seg000:0010? Сколько раз он повторяется?
Что представляет из себя слово, расположенное по адресу 0014? Дайте ему осмысленное название (команда «N» и определите его размер как двухбайтное слово (щелкните по нему правой клавишей мыши, задайте соответствующий тип данных)). Вычислите и определите, по какому адресу осуществляется переход с адреса seg000:0012.
Добавить перекрестную ссылку, указав дизассемблеру, куда делается переход с адреса 0012.
Исследуете код программы, с того адреса, на который делается переход с адреса 0012. В чем функции данного блока? Подробно прокомментируйте каждую инструкцию и ее целевую функцию в общей структуре блока.
В чем заключаются функции последовательного выполнения инструкций CALL $+3 и pop CX? Что в результате оказывается в содержимом CX?
Какое значение окажется в регистре SI по адресу 11A? Почему?
Что выполняет команда rep movsb, расположенная по адресу 121?
Куда выполняется переход с адреса 123? Почему?
Произвести дешифровку и исследование зашифрованного кода программы. Для дешифровки кода воспользоваться возможностью написания скриптов в IDA Pro. Для написания скрипта, дешифрующего код, воспользоваться командой FILE -> IDC Command.
В чем заключается алгоритм дешифровки? Записать и прокомментировать его словесно. Для ответа на этот вопрос проанализировать алгоритм дешифровки, исследованный Вами ранее.
Написать скрипт, дешифрующий код программы с адреса 16 по 115. Для этого воспользоваться следующими командами языка скриптов IDA, выполняемых в цикле, -
PatchByte([Сегмент, Смещение], Значение); - заменить значение, находящееся по адресу [Сегмент, Смещение] на Значение.
Byte ([Сегмент, Смещение]) – получить значение по адресу [Сегмент, Смещение].
^ - XOR
FOR(Начальное условие, конечное условие, изменение)
Для определения счетчика цикла используйте, например, команду auto a;
Скрипт дешифровки может быть записан, например, следующим образом:
auto a;
for (a=0x16;a<116;a++) PatchByte([0,a],Byte([0,a])^0x66);
Исследовать расшифрованный фрагмент кода. В чем заключаются его функции, какие действия он выполняет?
Подытожить анализ программы. Что представляет собой данная программа, что она реализует, каким образом защищена?