Фундаментальные основы хакерства

       

Немного истории


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

Френк Херберт "Дюна"

Раньше всех появился debug.com – пародия, отдаленно напоминающая отладчик, зато входящая в штатную поставку MS-DOS. Сегодня этот инструмент годился разве что для забавы и изучения ассемблера. Впрочем, и тогда от него мало кто был в восторге, и новые отладчики росли как грибы после дождя. Правда, большинство из них недалеко ушло от своего прототипа, отличаясь от оригинала разве что интерфейсом.

Это было золотое время разработчиков защит. Стоило лишь "запереть" клавиатуру, запретить прерывания, сбросить флаг трассировки, и отладка программы становилась невозможной.

Первые мало-мальски пригодные для взлома отладчики появились только после оснащения компьютеров 80286 процессором. В памяти хакеров навсегда останутся AFD PRO, написанный в 1987 году 'AdTec GmbH', знаменитый Turbo Debugger, созданный годом позже двумя братьями Chris'ом и Rich'ем Williams'ом, первый эмулирующий отладчик Сергея Пачковки, написанным, правда, с большим опозданием: в 1991 году. Разработчики защит крякнули, но выдержали – эти отладчики по-прежнему позволяли отлаживаемой программе захватить над собой контроль и очень плохо переносили "извращения" со стеком, экраном, клавиатурой…

Ситуация изменилась с выходом 80386 процессора – резкое усложнение программного обеспечения (и как следствие – огромные сложности с его отладкой) диктовало необходимость наличие развитых отладочных средств в самом процессоре. И в 386 они появились! С этого момента разработчикам защит стали наступать на пятки.

Масла в огонь подлила NuMega, выпустившая в конце восьмидесятых свой замечательный Soft-Ice, пользовавшийся у хакеров огромной популярностью, а ныне портированный на Windows 9x и Window NT/2000 и до сих пор остающийся бесспорным фаворитом (хотя, не без конкуренции).
Впрочем, неверно было бы считать, что NuMega – криминальная фирма, а Soft-Ice – исключительно хакерский продукт. Этот отладчик предназначен в первую очередь для разработчиков драйверов и легальных исследователей операционной системы (не разбираясь во внутренностях ОС, с драйверами особо не разгонишься).

Но, так или иначе, Soft-Ice задал копоти всем защитам и их разработчикам. Пускай он не был (да и сегодня не стал) полностью Stealth-отладчиком, невидимых для отлаживаемых программ, имел и имеет ряд ошибок, позволяющих: обнаружить отладчик, завестись его и/или вырваться защите из под контроля, но… в умелых руках отладчик справлялся со всеми этими ограничениями и обходил заботливо расставленные "капканы". И с каждой версией Айса противостоять ему становилось все труднее и труднее (старые ошибки устранялись быстрее, чем вносились новые).

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

Бороться с хакерами при современном уровне продвинутости средств анализа приложений несколько наивно – те и от Тигра хвост оторвут, но сегодня кроме хакеров серьезную угрозу представляют и вчерашние желторотые пользователи, начитавшиеся различных faq "как ломать программы" (благо сейчас они доступны всем кому не попадя) и теперь только и ищущие на чем испытать свою богатырскую силу.


Содержание раздела