|
|
|
Защита от копирования и методы ее взлома
XML и веб-сервисы
Безопасный офис
Защита от копирования и методы ее взлома
История PHP
Корпоративная информационная система
Новое в PHP5
Основные типы данных PHP
Основы языка программирования РНР 5
Программистские байки
Торговая информационная система
|
Автоматические распаковщики
Взлом с использованием отладчиков
Возражения против защиты
Защита методом ключевой дискеты или диска
Защита на основе параметров ПК
Защита от копирования, доводы за
Защита с использованием пристыковочного механизма
Защита с использованием функций API
Ключи на базе ASIC-микросхем
Ключи на базе EEPROM-микросхем
Ключи на базе микропроцессора
Программная защита при использовании электронных ключей
Простая защита паролем
Снятие дампа памяти
Так нужна ли защита
Электронные ключи в стандарте PCMCIA
Электронные ключи
Эмуляция ключа
Данный подход является наиболее общим и распространенным. Суть его состоит в том, что взломщик, используя отладчик, анализирует логику защищенной программы и в первую очередь защитных механизмов. Найдя места, где осуществляется проверка значений, полученных из ключа, и принятие решения о дальнейшем выполнении приложения, он изменяет код таким образом, что приложение выполняется вне зависимости от наличия ключа. В настоящее время для изучения логики работы защит и защищенных приложений используются инструменты, которые можно разбить на следующие группы: 1. Отладчики реального режима. В данную группу входят «классические» отладчики реального режима DOS, такие как DOS Debug, AFD, Turbo Debugger. В настоящее время отладчики из этой группы практически не используются для реинжиниринга, поскольку они традиционно используют для своей работы отладочные и трассировочные прерывания (INT1/INT3), стек отлаживаемой программы, оставляют следы в теле программы и в стеке. Даже примитивные антитрассировочные меры, например использование в защитных процедурах векторов прерываний INT1/INT3, ставят взломщика, пользующегося отладчиком из данной группы, в затруднительное положение. 2. Отладчики защищенного режима. Эта группа отладчиков получила наибольшее распространение в последнее время. Отладчики защищенного режима работают в качестве супервизоров режима V86 и предоставляют гораздо больше возможностей, чем отладчики предыдущей группы. В качестве примеров можно привести широко известные в хакерских кругах SoftICE, WinICE и менее популярный Turbo Debugger/386. С одной стороны, отладчики из данной группы оставляют гораздо меньше следов, по которым их можно идентифицировать. Например, для установки контрольной точки в теле исполняемой программы используется не стандартное прерывание контрольной точки INT3, которое можно легко обнаружить, а аппаратное прерывание по выполнению инструкции. С другой стороны, дополнительные возможности в виде прерываний по доступу к памяти или портам ввода/вывода делают такие отладчики очень мощным инструментом реинжиниринга. 3. Эмуляторы процессора. Сюда входят средства, эмулирующие аппаратную среду процессоров 80x86 и периферийного оборудования. Очевидно, кроме собственно эмулятора в состав таких средств входят подсистемы отладки, реализующие все функции отладчиков. Эмуляторы процессора могут быть как программными, так и аппаратными. Таким образом, программа получает полную иллюзию работы на обычном процессоре и не может определить, что кроме процессора действует еще подсистема отладки. Данные средства потенциально представляют наибольшую опасность для защитных механизмов, поскольку их наличие определить невозможно. Тем не менее в связи с тем, что такие средства достаточно сложны и громоздки и целесообразность их создания для каких-то других целей неочевидна, широкого распространения они не получили.
|
|
|
|