Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #66, МАЙ 2006 г.

копаемся в броне

КРИС КАСПЕРСКИ АКА МЫЩЪХ

Спецвыпуск: Хакер, номер #066, стр. 066-062-1


ТОП 10 ОШИБОК ЗАЩИТНИКОВ ПРОГРАММ

СОЗДАТЬ КАЧЕСТВЕННУЮ ЗАЩИТУ ОТ ВЗЛОМА В ОБЩЕМ НЕСЛОЖНО. ДЛЯ ЭТОГО ДАЖЕ НЕ ОБЯЗАТЕЛЬНО ЗНАТЬ АССЕМБЛЕР И БЫТЬ «НА ТЫ» С ОПЕРАЦИОННОЙ СИСТЕМОЙ. ПОЧЕМУ ЖЕ ТОГДА ПРОГРАММЫ ЛОМАЮТСЯ КОСЯКАМИ? ВО ВСЕМ ВИНОВАТЫ ОШИБКИ РАЗРАБОТЧИКОВ, ИЗБЕЖАТЬ КОТОРЫХ ОЧЕНЬ ЛЕГКО, ЕСЛИ, КОНЕЧНО, ЗАРАНЕЕ ЗНАТЬ, ГДЕ САЛО, А ГДЕ КАПКАН

Несмотря на разнообразие трюков и приемов, используемых создателями защит, большинство программ ломаются по стандартному набору шаблонов. Ошибки разработчиков удручающе однообразны — никакой тебе тяги к творчеству, никакого морального удовлетворения от взлома. И вместо интеллектуальной игры и смертельного поединка с защитой взломщикам приходится ковыряться в чем-то очень неаппетитном, похожем на чей-то наполовину разложившийся труп — останки мертворожденных идей, надерганных программистами из древних мануалов, давно неактуальных.

[начнем с концептуальных ошибок], «благодаря» которым программу может взломать любой начинающий крэкер или даже продвинутый пользователь.

смывайте воду и выключайте свет

Для программ, защищенных trial-сроком, характерна проблема реинсталляции. Когда испытательный период заканчивается и программа говорит «мяу», среднестатистический пользователь, вместо того чтобы зарегистрироваться, просто удаляет ее с компьютера и тут же устанавливает вновь, надеясь, что она заработает как новая. Специально для «таких» инсталлятор оставляет на компьютере секретный скрытый знак, не удаляемый деинсталлятором. Обнаружив, что программа была установлена на этом компьютере ранее, защита блокирует запуск и говорят «мяу» еще раз. На первый взгляд, защита кажется неприступной, но… обнаружить и удалить скрытый знак может даже ламер!

Это делается так. Перед установкой программы с компьютера снимается полный дамп. Антивирусные ревизоры помогают сформировать список файлов, а утилиты «принудительной деинсталляции» типа Advanced Registry Tracer создают «слепок» реестра. После установки программы создается еще один дамп, который сравнивается с первым. Все тайное становится явным! Если же первый дамп по каким-то причинам не был сделан (спохватился только после окончания trial-срока), не беда. Запускай файловый монитор вместе с монитором реестра Марка Руссиновича (www.sysinternals.com) и смотри, что именно «не нравится» защите, то есть к каким именно потайным уголкам она обращается.

Исход сражения с защитой можно предугадать заранее, но можно ли предотвратить его? Первое (и самое глупое), что можно предложить, — гадить в реестре и файловой системе, оставляя целую навозную кучу «следов», разгребать которую пользователь запарится. Только некрасиво это. Какому пользователю понравится такая программа? Мотивация честной регистрации падает ниже абсолютного нуля.

Гораздо элегантнее будет оставить едва различимый и совершенно неочевидный след, к примеру, изменив дату создания папки %windows%, поместив в поле десятых долей секунд свое «магическое» число. Да, конечно, мониторы успешно отследят эту нехитрую махинацию, но, учитывая размер их логов, пользователь с высокой степенью вероятности просто не обратит внимания на эту мелочь (правда, возникает потенциальный конфликт с другими защитами).

Содержание  Вперед на стр. 066-062-2