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

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

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

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


Хуже, если O-пароль не пустой и при открытии файла выскакивает противное диалоговое окно, требующее ввести его. Не остается ничего другого, кроме как перебирать…

Два сапога пара

При сохранении файла в редакторе Acrobat'а (не в Reader'e!) по умолчанию пароль владельца копируется из пользовательского пароля (если тот установлен), то есть оба пароля совпадают. Плохо :(. Потому что pdf-файл в силу специфики используемых алгоритмов шифрования не может иметь один лишь пользовательских пароль, если не располагает паролем пользователя (а обратное вполне допустимо). Тем не менее, любой из паролей можно изменить вручную через свойства документа.

Атака на пользовательский ключ

В общем, мы вляпались. Криптография — серьезная штука, поэтому умирают все надежды, кроме как на то, что пользователь был пьян и назначил простой словарный пароль, который легко подобрать. Для подбора совершенно не обязательно каждый раз запускать Acrobat и вводить все словарные слова одно за другим — долго и непроизводительно. Будем использовать тот же самый метод аутентификации, что и сам Acrobat. Вычисляем хэш-сумму испытуемого пароля и сравниваем ее с /U-полем. На наше несчастье хэш-сумма вычисляется по медленному алгоритму MD5 — рассчитывать на быстрый успех тут не приходится. Также мы не можем заранее рассчитать хэш-суммы всех словарных паролей, чтобы впоследствии использовать их во множестве файлов (именно так ломается NT и некоторые другие криптосистемы). Хитрые разработчики pdf'а использовали привязку к идентификатору документа, и потому все хэш-суммы строго индивидуальны. Придется попотеть.

Для 40-битного шифрования есть крохотная лазейка, которая позволяет гарантированно подобрать ключ шифрования не более чем за 30 дней на P-III. Для вскрытия электронных книг и других документов это вполне приемлемый срок. Атака получила название Key search (поиск ключей), и вот в чем состоит ее суть.

Ранние версии Acrobat'а (вплоть до 4.х) поддерживали лишь 40-битное шифрование (PDF 1.2/1.3), следовательно, независимо от длины введенного пароля мы имеем всего лишь 2^40 (1.099.511.627.776) ключей. Разбиваем все пространство ключей на блоки, обрабатываемые независимо друг от друга на одном или нескольких компьютерах, до тех пор пока не найдем единственный правильный ключ. Легендарный Advanced PDF Password Recovery от Elcomsoft именно так и поступает. Если же ждать совсем невмоготу и хочется открыть файл как можно скорее, используй множество мощных машин или напряги свои мозговые клетки. Как уже говорилось, криптоанализ не стоит на месте, и алгоритм шифрования RC4 скомпрометировал себя не раз и не два. С помощью предвычисленных таблиц ключ подбирается за очень короткое время, можно сказать, практически мгновенно (подробнее об этом в моих статьях, посвященных взлому беспроводных сетей и Голубого Зуба, — там описана схожая технология шифрования). Единственный минус состоит в том, что предвычисленные таблицы требуют очень много памяти, а если ее нет, приходится делать swap на диск, и «мгновенные» секунды растягиваются на часы или даже дни. Получается, что на одной машине с 512 жестким диском (или массивом из нескольких дисков меньшего размера) поиск пароля занимает всего 60 часов, или меньше трех суток, а четыре машины справятся с этой задачей в худшем случае за 15 часов. В среднем же пароль найдется за один рабочий день. Весьма впечатляющий результат, не правда ли? Если пойдешь на работу, там запряжешь намного больше машин. Правда, этим способом уже не удастся взломать 128-битный ключ шифрования.

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