Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Основные приемы защиты от исследования

Читайте также:
  1. I. Основные сведения
  2. I. Основные сведения
  3. I. ПРИЕМЫ СТАНДАРТНОГО ПОИСКА ИНФОРМАЦИИ В СЕТИ ИНТЕРНЕТ
  4. I.Основные законы химии.
  5. II. Геоботанические исследования
  6. II. Основные задачи и функции
  7. II. ОСНОВНЫЕ ИСХОДНЫЕ ДАННЫЕ И РАСЧЕТНЫЕ ПОЛОЖЕНИЯ

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ИМ. А.Н. ТУПОЛЕВА

ФАКУЛЬТЕТ ТЕХНИЧЕСКОЙ КИБЕРНЕТИКИ И ИНФОРМАТИКИ

КАФЕДРА СИСТЕМ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ

 

 

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

К ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ № 2

ПО ДИСЦИПЛИНЕ

«Программно-аппаратные средства обеспечения информационной безопасности»

 

на тему

«Применение дизассемблера IDA Pro»

 

 

Составители:

 

доцент кафедры СИБ

Аникин И.В.

 

ассистент кафедры СИБ

Гильмуллин Т.М.

 

Казань, 2007


ЛАБОРАТОРНАЯ РАБОТА № 2

Название работы

Применение дизассемблера IDA Pro.

Цель

Познакомиться на практике с методами реализации обратного проектирования программ. Изучить возможности дизассемблеров. Исследовать защиту предложенной программы при помощи дизассемблера IDA Pro.

Программно-аппаратные средства

 

Компьютерная лаборатория, дизассемблер IDA Pro 5.1, редактор кода Hiew 7.1., программа для исследования: Ida__0x1.com.

Теоретический материал

ОБЩИЕ СВЕДЕНИЯ

Основными угрозами для программного продукта, защищенным от несанкционированного использования вводом ключевой информации пользователем, являются угроза нарушения функциональности модуля защиты и угроза раскрытия ключевой информации.

Реализация первой угрозы может заключаться в обходе либо полном отключении модуля защиты путем модификации кода программы.

Реализация второй – выяснении путем исследования программы ключевой информации, требуемой при регистрации (см. Табл. 1).

Угроза для модуля защиты ПО от несанкционированного использования Возможная реализация угрозы
Угроза нарушения функциональности модуля защиты Отключение модуля защиты
Обход модуля защиты
Угроза раскрытия ключевой информации Выяснение ключевой информации злоумышленником путем исследования программы

Таблица 1. Угрозы и их реализация.

Наиболее распространенные способы, используемые злоумышленником при реализации первой либо второй угрозы – использование специализированных средств исследования работы программ, а также их кода.

Существует несколько задач, которые злоумышленник должен решить при реализации данных угроз.

Задача обнаружения в коде программы модуля защиты. Следует отметить, что без использования специализированных программных средств эта задача в принципе не решаема за приемлемое время. Это обусловлено следующими обстоятельствами.

Модуль защиты занимает достаточно малый объем в общей совокупности кода программы. Задача ручного поиска блока модуля защиты размером 100-200 байт в общем коде программы, занимающем сотни мегабайт, без использования специализированных средств в принципе не решаема за приемлемое время.

Анализ кода программы в значительной степени затрудняется тем, что производится анализ не исходного текста программы на языке высокого уровня, а анализ машинного кода, сформированного компилятором. На разборку и понимание такого кода уходит значительное время даже у специалистов высокого класса в данной области. Зачастую даже анализ исходных текстов программы, написанных другим человеком, является нетривиальной задачей. Анализ же машинного кода усложняет уже задачу в тысячи раз. Недостаточно провести анализ каждой машинной команды. Как правило, при анализе машинного кода приходится увязывать в единую последовательность действий как минимум 80-100 байт, чтобы понять, что действительно сокрыто за данной последовательностью кодов. Это очень усложняет анализ программы.

Задача исследования модуля защиты и понимания принципов его действия. Злоумышленник должен понять, каким образом построена защита, где она хранит (если хранит) ключевую информацию, где сохраняет (если сохраняет) свои метки и ключи, на каком этапе принимается решение о регистрации программы, либо об отклонении регистрации. При этом, злоумышленник сталкивается с проблемой анализа машинного кода, что приводит к трудностям перечисленным в первой задаче.

Однако, исходя их вышеперечисленных трудностей нельзя делать вывод об отсутствии необходимости защиты ПО от угрозы нарушения функциональности модуля защиты и от угрозы раскрытия ключевой информации. Большой объем взломанных программ на рынке ПО говорит об обратном – что эти угрозы вполне реальны и осуществимы. Продукты фирм, пренебрегающих защитой от реализации данных угроз оказываются в числе первых из взломанных.

На самом деле, сложности, перечисленные выше, для подготовленного злоумышленника в большинстве случаев таковыми не являются. Существует множество программных продуктов, облегчающих злоумышленнику решения задач 1 и 2 в отдельных случаях.

Анализ задач 1 и 2 показывает, что основная цель, решаемая злоумышленником при взломе ПО – анализ работы программы, поиск в ней участка кода, отвечающего за реализацию модуля защиты, детальное исследование принципов и механизмов работы данного модуля. При этом, ставится задача представления машинного кода на как можно более высоком уровне с целью более упрощенного его понимания. Для злоумышленника наиболее оптимальный вариант – формирование по машинному коду модуля защиты, его текста на исходном языке высокого уровня, однако данный вариант практически не достижим.

Под обратным проектированием (reverse engineering) понимают процесс исследования и анализа машинного кода, нацеленный на понимание общих механизмов функционирования программы, а также на его перевод на более высокий уровень абстракции (более высокий уровень языка программирования) вплоть до восстановления текста программы на исходном языке программирования.

Основными методами обратного проектирования являются отладка и дизассемблирование программ. При этом используются следующие средства.

Отладчики – это программные средства, позволяющие выполнять программу в пошаговом режиме, контролировать ее выполнение, а также вносить изменения в ход выполнения. Данные средства позволяют проследить весь механизм работы программы на практике и являются средствами динамического исследования работы программ.

Мониторы событий – программные средства, позволяющие отслеживать определенные типы событий, происходящие в системе. Наиболее опасными для программного обеспечения с точки зрения их защиты являются мониторы операций с реестром и мониторы файловых операций, позволяющие проследить – какая программа куда и что записывала, считывала и т.д.

Дизассемблеры – это программные средства, позволяющие получить листинг программы на языке ассемблера, с целью его дальнейшего статического изучения. Дизассемблеры являются средствами статического исследования.

Редакторы кода занимают отдельное место среди средств обратного проектирования. Данные средства, как правило, включают функции дизассемблирования, но позволяют также вносить изменения в код программы. Данные средства предназначены, в основном для исследования программ, занимающих сравнительно небольшой объем.

Таким образом, классификацию средств обратного проектирования ПО можно представить в виде следующей схемы (см. Рис. 1).

Рис. 1. Классификация средств обратного проектирования.

Иначе говоря, средства динамического исследования ПО, позволяют исследовать работу программ в процессе их работы в реальном времени, а также вносить изменения в их работу. С другой стороны, средства статического исследования ПО предназначены для исследования кода ПО.

Основные приемы защиты от исследования


Дата добавления: 2015-07-08; просмотров: 279 | Нарушение авторских прав


Читайте в этой же книге: Базовые методы противодействия дизассемблированию программного обеспечения | Шифрование кода программы как универсальный метод противодействия отладке и дизассемблированию | ИНТЕРАКТИВНЫЙ ДИЗАССЕМБЛЕР IDA PRO |
<== предыдущая страница | следующая страница ==>
Потери эффективности, связанные с существованием монополии. Общее равновесие и налоги| Базовые методы противодействия отладчикам

mybiblioteka.su - 2015-2024 год. (0.009 сек.)