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

Ломаем текстовые хранилища

Крис Касперски

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


Как разблокировать запреты? Среди пользователей ходит легенда, согласно которой внутри документа существует специальный бит, который достаточно исправить HIEW'ом — и тогда… Не совсем так. Биты запрета печати/копирования действительно существуют, и это действительно биты, но... Вся проблема в том, что они используются для генерации зашифрованного ключа, которым расшифровываются объекты документа. Измени хотя бы один запрещенный бит, и pdf тут же затребует O-пароль при открытии! Да откуда же нам его знать?! Сам O-пароль в документе нигде не хранится, вместо него там лежит его контрольная сумма. Восстановить оригинальный O-пароль невозможно, подбирать его слишком долго, но... Что мешает снять все запреты с документа, а затем рассчитать новую контрольную сумму для O-пароля? Содержимое документа не зашифровано, поэтому для смены пароля знать его оригинальное содержимое не обязательно.

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

Модификация акробата

Вместо того Чтобы воевать с O-паролем внутри pdf-файла, можно хакнуть сам Acrobat, Чтобы он всегда все выделЯл и пеЧатал, невзираЯ ни на какие запреты. Действительно несложно. До версии 4.0 вклюЧительно компаниЯ Abode не предпринимала никаких противохакерских мер: ни проверки целостности кода, ни антиотладоЧных приемов, ни шифрованного кода. Правда, наЧинаЯ с версии 5.0 антиотладоЧные приемы все-таки поЯвились, а eBook Reader защищен пакетом PACE IntelLock, который шифрует код и противодействует отладЧику, но проверки целостности там по-прежнему нет.

Сердце защиты сконцентрировано вокруг функций MD5_Update и MD5_Init, которые легко обнаружить в дизассемблере по характерным константам 67452301h, EFCDAB89h, 98BADCFEh и 10325476h.

Взлом с помощью PrintScreen

Запрет на выделение/копирование графиЧеских изображений легко обойти при помощи клавиши Print Screen, то есть сделав копию экрана в буфер обмена. Естественно, при этом копируетсЯ не весь документ, а только открытые страницы и только в том разрешении, в котором они отображаютсЯ на экране (вывести на пеЧать векторную диаграмму с разрешением в 1200 DPI не полуЧитсЯ), однако, как правило, этого трюка оказываетсЯ вполне достатоЧно.

ТоЧно так же копируютсЯ и блоки текста, если протащить их Через OCR (если, конеЧно, позволит каЧество документа).

Структура pdf-документа

Вопреки мутным слухам о том, что pdf — недокументированный формат, дизассемблировать неподъемно тяжелый Acrobat Reader для восстановления алгоритма шифрования совершенно не обязательно. «pdf» расшифровывается как portable document format, то есть «формат переносимых документов», и с самого начала он разрабатывался как открытый стандарт, чем и объясняется его популярность. Мы не привязаны к одному поставщику (Abode) и можем свободно писать свои собственные программные пакеты, открывающие pdf хоть на PC, хоть на Mac'е, хоть на рабочей станции типа SUN.

Назад на стр. 062-096-2  Содержание  Вперед на стр. 062-096-4