- •Министерство образования и науки российской федерации
- •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
- •Теоретический материал
- •Порядок выполнения работы
- •Контрольные вопросы
- •Список литературы Основная литература
- •Дополнительная литература
- •Периодические издания
- •Методические указания к лабораторным занятиям
- •Методические указания к практическим занятиям
- •Методические указания к курсовому проектированию и другим видам самостоятельной работы
Контрольные вопросы
Что понимают под «обратным проектированием»?
Какие средства помогают решить задачу обратного проектирования? Проклассифицируйте их.
В чем преимущество отладчика SoftIce перед другими отладчиками подобного рода?
Пример оформления отчета
ЗАНЯТИЕ №
НАЗВАНИЕ ЗАНЯТИЯ
ВЫПОЛНИЛ: ст. гр. ….. ФИО
ЦЕЛЬ ЗАНЯТИЯ
При первом запуске программы WinZip были установлены точки прерывания на следующие функции_______________
При первой регистрации было задано имя пользователя ______ и пароль _______
Процедура регистрации прервалась в модуле _______ на вызове API функции _____
Вызов API функции ______ (CALL ______) осуществляется по адресу памяти _________
Содержимое регистра ESI при выходе из API функции _________ равно _____
Перед командой RET, находящейся по адресу 0167:00426940, содержимое регистра ESI = _____ , EBX = _______
Содержимое памяти по адресу, указанному в регистре ESI, равно ________ , содержимое памяти по адресу, указанному в регистре EBX = ______
Можно сделать вывод, что по адресу _______ находится ______, по адресу ______ находится _____.
Вызов функции GetDlgItemTextA осуществляется по адресу ______
В функцию GetDlgItemTextA передаются следующие аргументы ___=____, _____= _____………
Адрес, по которому хранится идентификатор пользователя записывается в регистр ____
После выхода из процедуры GetDlgItemTextA значение регистра ___ = _____
Адрес вызова функции, читающей регистрационный номер = _____
Адрес хранения регистрационного номера, введенного пользователем, хранится в регистре ______
Значение регистра ____ при выходе из процедуры GetDlgItemTextA = _____
Команда по адресу 0167:00408049 выполняет следующее действие _____________, команда по адресу 0167:00408053 выполняет следующее действие ______.
Процедура, находящаяся по адресу 00407B4B, выполняет _______. При ответе руководствовались тем, что _________
Команда по адресу 0167:00407B58 выполняет _________.
В процедуру CALL 00407E31, вызываемую по адресу 0167:00407B83, передаются следующие аргументы _____ со следующими значениями _______. Был сделан вывод, что среди аргументов передается ______
В процедуру (CALL 00407CC6), вызываемую по адресу 0167:00407C16, передаются следующие аргументы ________ со следующими значениями ________.
На вход процедуры (CALL 00457900), вызываемой по адресу 0167:00407C2A, передаются следующие аргументы ________ со следующими значениями ___________, по соответствующим адресам располагается _____.
Регистрационный код программы = _______
13. Статические методы изучения и нейтрализации защитных механизмов. Знакомство с техникой дизассемблирования программных продуктов
Цель занятия – познакомиться на практике со статическими методами изучения и нейтрализации защитных механизмов, с техникой дизассемблирования программных продуктов на примере дизассемблера IDA PRO.
Теоретический материал
Одним из способов исследования программного обеспечения в условиях отсутствия исходных текстов является дизассемблирование — перевод двоичных кодов процессора в удобочитаемые мнемонические инструкции.
Качественное дизассемблирование объемного программного продукта является достаточно трудной задачей, так как ассемблирование - однонаправленный процесс с потерями, и полное автоматическое восстановление исходного текста, как правило, невозможно (например, практически невозможно автоматически отличить константы от адресов памяти – сегментов и смещений).
По типу реализации интерфейса взаимодействия с пользователем, существующие дизассемблеры можно разделить на две категории — автономные и интерактивные.
Автономные дизассемблеры требуют от пользователя задания всех указаний до начала дизассемблирования и не позволяют вмешиваться непосредственно в сам процесс. Если же конечный результат окажется неудовлетворительным, пользователь либо вручную правит полученный листинг, либо указывает дизассемблеру на его ошибки и повторяет всю процедуру вновь и вновь, порой десятки раз. Такой способ общения человека с дизассемблером непроизводителен и неудобен, но его легче запрограммировать.
Интерактивные дизассемблеры обладают развитым пользовательским интерфейсом, благодаря которому они приобретают значительную гибкость, позволяя человеку "вручную" управлять разбором программы, помогая автоматическому анализатору там, где ему самому не справиться — отличать адреса от констант, определять границы инструкций и т.д.
Примером автономного дизассемблера является SOURCER, а интерактивного — IDA Pro.
Интерактивный дизассемблер IDA Pro предназначен для дизассемблирования кода программы в мнемонические инструкции на языке ассемблера. Дизассемблер IDA Pro изначально проектировался как интерактивная среда, предназначенная для совместной работы с человеком. Преимуществом для злоумышленника интерактивных дизассемблеров является то, что их трудно обмануть каким-либо хитрым приемом, что возможно для дизассемблеров, работающих в автоматическом режиме.
В IDA Pro реализован удобный С-подобный внутренний язык написания скриптов, позволяющий реализовать многие полезные действия (например, осуществлять дешифровку зашифрованного участка кода).
IDA Pro поддерживает инструкции различных процессоров. Среди них – все версии процессоров INTEL, Motorola, Z80.
Автономные дизассемблеры типа SOURCER плохо справляются с анализом большого, порядка нескольких мегабайт, заковыристого файла, а с шифрованным кодом не справляется вообще. Интерактивные дизассемблеры позволяют решить эту проблему.
В IDA Pro возможно непосредственным образом в процессе интерактивного диалога указать, является ли код программы по заданному адресу действительно кодом, либо данными. Для этого необходимо поставить курсор на соответствующий адрес и дать команду “C” либо «D».