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

ОБФУСКАЦИЯ И ЕЕ ПРЕОДОЛЕНИЕ

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

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


Анализ типа «черного ящика» сулит намного большие перспективы, как и создание виртуальной машины, отрезающей защиту от внешнего мира. Дизассемблеры уже остановились в своем развитии и скоро вымрут, как мамонты. В последних версиях IDA Pro не появилось ничего радикально нового. Хуже того, наметились признаки явной деградации, превратившие основное окно дизассемблера в «это» (вырезано цензурой).

Зачем вообще нужна такая красивая трехмерная «репрезентация»? Что она реально отображает? С другой стороны, от «низкоуровневого» дизассемблирования на уровне ассемблерных команд тоже не много пользы. Современные программы стали слишком большими, количество уровней абстракций измеряется многими десятками, и «плотность» значимого кода неумолимо стремится нулю. Программа размером в 100 Мб реализует простейший алгоритм, в былые времена с легкостью умещавшийся в несколько килобайт. Какие там обфускаторы…

Отсюда многочисленные попытки визуализировать поток выполнения программы, которые поднимают нас на уровень анализа структуры кода. Спускаясь к машинным командам только там, где действительно необходимо. К сожалению, эта методика работает намного хуже, чем выглядит, и только усложняет анализ. Стандартный режим дизассемблирования, к которому мы привыкли, все еще присутствует в IDA PRO (во всяком случае пока), но уже не является режимом по умолчанию

ОБФУСКАЦИЮ ПРИДУМАЛИ ХАКЕРЫ, НО ОНА НАПРАВЛЕНА ПРОТИВ НИХ ЖЕ

ОБФУСКАЦИЯ (OBFUSCATION) — МЕТОДИКИ И СРЕДСТВА, ЗАТРУДНЯЮЩИЕ АНАЛИЗ ПРОГРАММНОГО КОДА

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

ОБФУСКАТОРЫ ЛЮБЯТ ВНЕДРЯТЬ ПОДЛОЖНЫЕ РАСШИФРОВЩИКИ, КОТОРЫЕ РАСШИФРОВЫВАЮТ И ТУТ ЖЕ ЗАШИФРОВЫВАЮТ ПРОИЗВОЛЬНЫЕ ФРАГМЕНТЫ ПАМЯТИ

РАЗРАБОТКА КАЧЕСТВЕННОГО «ЗАПУТЫВАТЕЛЯ» — СЛОЖНАЯ ИНЖЕНЕРНАЯ ЗАДАЧА

ОСНОВНУЮ ПРОБЛЕМУ СОЗДАЮТ ЦИКЛЫ — ТРАССЕР РАЗВОРАЧИВАЕТ ИХ В МНОГОКИЛОМЕТРОВЫЙ КОД

ДИЗАССЕМБЛЕРЫ УЖЕ ОСТАНОВИЛИСЬ В СВОЕМ РАЗВИТИИ И СКОРО ВЫМРУТ, КАК МАМОНТЫ

Назад на стр. 066-008-9  Содержание