<< Предыдущая

стр. 27
(из 39 стр.)

ОГЛАВЛЕНИЕ

Следующая >>

15.2.4. Encrypted File System
Начиная с Windows 2000 операционные системы, основанные на ядре NT,
поддерживают Encrypted File System (EFS) — расширение файловой системы
NTFS (New Technology File System), позволяющее хранить файлы пользова-
телей в зашифрованном виде. При этом шифрование выполняется совер-
шенно прозрачно и не требует от пользователя никаких дополнительных
усилий, кроме однократного указания, что файл должен быть зашифрован.
Даже если противник сможет получить физический доступ к файловой сис-
теме и прочитать защищенный файл, ему потребуется получить ключ шиф-
рования для извлечения содержимого.
Симметричный ключ, которым зашифровывается файл (File Encryption Key,
FEK), сам зашифрован на открытом ключе, принадлежащем пользователю,
имеющему права на доступ к файлу. FEK хранится вместе с зашифрован-
ным файлом, и для его расшифровки используется секретный ключ пользо-
вателя.
С каждым файлом может быть ассоциировано несколько копий FEK, за-
шифрованных на открытых ключах так называемых агентов восстановления
Данных (Recovery Agents).
184 Часть IV. Основные аспекты защиты данных


Процедура получения всей необходимой для расшифровки информации
включает в себя много этапов. Однако в Windows 2000 реализация EFS тако-
ва, что в большинстве случаев все зашифрованные файлы могут быть извле-
чены без знания пароля владельца или агента восстановления.


15.3. Шифрование дисков
Еще во времена DOS появились программы, позволяющие создавать защи-
щенные диски, содержимое которых становилось доступным только после
того, как пользователь вводил правильный пароль.
На первый взгляд, защитить информацию в подобных условиях не очень
сложно, но разработчики часто не справлялись с поставленной задачей.

15.3.1. Stacker
Одной из первых программ, позволявших защищать диски, была программа
Stacker, разработанная компанией Stac Electronics, Inc. Точнее, Stacker пред-
назначался для создания сжатых дисков, поддерживающих упаковку и рас-
паковку информации "на лету". Но одна из опций позволяла защитить хра-
нимую на диске информацию паролем.
Однако в программе использовалась плохая хэш-функция, вследствие чего
сложность подбора пароля, пригодного для расшифровки диска, была всего
2 s , т. е. пароль подбирался моментально.

15.3.2. Diskreet
Одна из программ, входивших в состав пакета Norton Utilities, называлась
Diskreet и была предназначена для создания зашифрованных файлов и дисков.
Diskreet поддерживал два метода шифрования, один из который основывал-
ся на DES и работал очень медленно, а другой, самодельный и более быст-
рый, так и описывался в документации: "fast, proprietary method" (быстрый,
патентованный метод).
Этот "патентованный" метод оказался очень примитивным и неустойчивым
к атаке на основе открытого текста. А разработчики, похоже, приложили
максимум усилий для того, чтобы открытый текст было легко найти — за-
шифрованные файлы изобиловали фрагментами с предопределенными зна-
чениями.
А согласно информации, приведенной на страничке "Russian Password
Crackers" (www.password-crackers.com/crack.html), созданной Павлом Семья-
новым, пароль от диска, созданного при помощи Diskreet из Norton
Глава 15. Обеспечение секретности 185

Utilities 8.0, просто хранится в файле DISKREET.INI в слегка модифициро-
ванном виде и может быть извлечен при помощи программы, приведенной
в следующем алгоритме (листинг 15.1).

| Листинг 15.1. reetpsw.c •• вычисление пароля Diskieol

#include <stdio.h>
void main (void) {
unsigned char b, bXor;
FILE *t = fopen ( c Wnu\\DISKREET.INI", "rb");
":
fseek (f, 0x64L, SEEK_SET);
for (bXor = 0x35; b = fgetc (f); bXor += 0x36) {
if ((b A = bXor) == 0) b = 0x33;
putchar (b); // здесь выводятся символы пароля ;-)))
}

fclose (f);




15.3.3. BootLock
Еще один программный продукт, предназначенный для защиты данных и
выпускавшийся, как и Norton Utilities, компанией Symantec, назывался
Norton You Eyes Only (NYEO). Одной из составляющих NYEO являлась
программа BootLock, позволявшая зашифровать даже загрузочный диск,
сделав, таким образом, всю вычислительную систему недоступной для про-
тивника.
Однако разработчики BootLock по неизвестным причинам приняли решение
шифровать не все данные диска, а только системные области: загрузочную
запись (Boot) и корневую директорию (Root). А таблица размещения файлов
(File Allocation Tables, FAT) и область данных, в которой хранится содержи-
мое файлов, оказывались незашифрованными.
Шифрование выполнялось путем наложения 512-байтовой гаммы на каж-
дый шифруемый сектор. Причем для всех секторов одного диска использо-
валась одна и та же гамма. Следовательно, наличие одного открытого секто-
ра давало возможность расшифровать все остальные сектора.
Одной из особенностей файловой системы FAT является то, что количество
записей в корневой директории определяется при форматировании диска и
не может быть ни увеличено, ни уменьшено. Пока на диске не создано ни
186 Часть IV. Основные аспекты защиты данных


одного файла, все сектора, относящиеся к корневой директории, заполнены
нулями. Информация, описывающая каждый добавленный файл или дирек-
торию, занимает 16 байт.
Обычно в корневой директории резервируется место под несколько сотен
файлов, но редко кто хранит много файлов в корне диска. Следовательно,
с очень большой вероятностью в последнем секторе корневой директории за
все время не будет ни одной записи, т. е. сектор будет содержать они нули.
А сектор, зашифрованный при помощи BootLock, — гамму, использованную
для шифрования.
Причем складывается ощущение, что компания Symantec знала о нестойко-
сти защиты, обеспечиваемой ее программным продуктом. Во всяком случае,
на сайте компании можно было найти информацию о платной услуге по
восстановлению данных диска, защищенного BootLock, в случае утери па-
роля. Стоимость этой услуги составляла всего $ 300 при восстановлении
в недельный срок или $ 600 при восстановлении за 24 часа.


15.4. Документы PDF
Формат переносимых файлов PDF (Portable Documents Format), разработан-
ный компанией Adobe Systems, Inc., предназначен для хранения документов,
представленных в электронной форме. PDF является основным форматом
продуктов семейства Acrobat.
Во второй версии спецификации (PDF l.l) была добавлена поддержка
шифрования, но начальная редакция алгоритма защиты оказалась не очень
удачной — похоже, один и тот же ключ использовался многократно при
шифровании потоковым алгоритмом RC4. Точного описания особенностей
реализации этого алгоритма найти не удалось, но официальная документа-
ция от Adobe гласит, что этот алгоритм не поддерживается и не рекоменду-
ется к использованию.
Для более гибкого управления процедурой вычисления ключа шифрования
продукты семейства Acrobat поддерживают так называемые модули защиты
(Security Handlers), которые могут быть подключены через средства расши-
рения (plug-ins). Изначально Security Handler отвечал только за вычисление
ключа шифрования документа, а все операции по шифрованию выполнял
сам Acrobat.
Вплоть до версии Acrobat 5.0 ключ шифрования документов по официаль-
ной информации всегда имел длину в 40 бит из-за экспортных ограничений.
Однако уже в Acrobat Reader 4.0.5 появилась поддержка ключей большей
длины, использовавшихся для защиты электронных книг.
Глава 15. Обеспечение секретности 187

Начиная с Acrobat 5.0 (и соответствующей ему спецификации PDF 1.4) бы-
ли добавлены сразу две новых версии алгоритма защиты, позволяющие
работать с ключами длиной до 128 бит. Одна из новых версий была доку-
ментирована, а вторая формально держится в секрете по требованию депар-
тамента коммерции США (хотя ее поддержка давно реализована в продуктах
сторонних компаний).
Наконец, в Acrobat 6.0 (спецификация PDF 1.5) модуль защиты получил
возможность не только вычислять ключ шифрования, но и выполнять само
шифрование.
Возможность создания собственных модулей защиты с нужной функцио-
нальностью привела к тому, что на рынке появилось несколько таких моду-
лей, разработанных разными компаниями. Рассмотрим основные характери-
стики некоторых из них.


15.4.1. Password Security
(Standard Security Handler)
Этот модуль защиты был разработан компанией Adobe и является основным
средством защиты, встроенным в Acrobat и бесплатный Acrobat Reader.
При защите документов стандартным методом автор имеет возможность ус-
тановить два пароля: для владельца и пользователя соответственно. Для того
чтобы открыть документ и отобразить его на экране, достаточно знать лю-
бой из паролей, но некоторые операции, такие как редактирование доку-
мента, его печать или копирование фрагментов в буфер обмена, могут быть
недоступны, если введен пароль пользователя. И, разумеется, настройки за-
щиты могут быть изменены только в том случае, если документ открыт по
паролю владельца.
Часто на документ устанавливается только пароль владельца, а пароль поль-
зователя остается пустым. При этом документ открывается без запроса па-
роля, но операции, запрещенные автором, оказываются недоступными.
Очевидно, что если известен хотя бы один пароль или пароль пользователя
просто отсутствует, то документ может быть расшифрован и сохранен со
снятыми ограничениями. Это нельзя считать ошибкой реализации — это
просто свойство, о котором стоит помнить.
Грубых ошибок в реализации стандартной защиты допущено не было, но
несколько недочетов, относящихся к самой популярной версии алгоритма,
использовавшей только 40-битовый ключ, найти можно.
Так процедура проверки пароля выполняется очень быстро. Для проверки
правильности пароля пользователя необходимо вычислить один раз значе-
188 Часть IV. Основные аспекты защиты данных '


ние хэш-функции MD5 и расшифровать 32 байта алгоритмом RC4. Провер-
ка пароля атадельца требует повторить те же действия дважды. Все это по-
зволяет подбирать пароли с очень высокой скоростью.
Если же проводится поиск 40-битового ключа шифрования, то для проверки
правильности ключа требуется лишь одно шифрование алгоритмом RCA
Это позволяет на современном компьютере гарантированно найти клю|
примерно за одну неделю.
То, как проверяется правильность ключа шифрования, позволяет значи-
тельно сократить среднее время, затрачиваемое на расшифрование одного
документа за счет предварительных вычислений и сохранения вспомога-
тельных данных на диске.
Также один раз перебрав 2 40 ключей, можно расшифровать любое количест-
во документов, защищенных стандартным методом.
Все эти недочеты были исправлены с появлением новой версии алгоритма
в Acrobat 5. Так для проверки каждого пользовательского пароля теперь тре-
буется выполнить 51 вычисление MD5 и 20 шифрований RC4. Это снижает
скорость проверки паролей в несколько десятков раз. А перебрать 2 1 2 8 клю-
чей шифрования современный уровень развития технологий не позволяет.

15.4.2. Другие модули защиты от Adobe
В Acrobat Reader 4.0.5 появилась поддержка модуля Adobe PDF Merchan
(Adobe. Web Buy), предназначенного для защиты электронных книг. До
кументы защищались ключами длиной от 64 до 128 бит.
Примерно в то же время получил распространение модуль защить
EBXHANDLER, изначально реализованный в программе GlassBook Reader,
разработанной компанией GlassBook, Inc. и предназначенной для покупки и
просмотра защищенных электронных книг в формате PDF. Позже Adobe
приобрела компанию GlassBook, их Reader оказался переименован в Adobe
eBook Reader, a EBXHANDLER стал основным модулем защиты для тех-
нологии распространения электронных книг, продвигаемой Adobe (более
подробная информация о защите электронных книг в формате PDF приведена
в гл. 16).
Еще один модуль защиты, разработанный Adobe, назывался Acrobat Self-Sign
Security (Adobe.PPKLite) и представлял собой первую попытку использова-
ния схем с открытым ключом в защите PDF-документов, предпринятую
в Acrobat 5. Однако эта попытка не имела большого успеха, т. к. не опира-
лась на существующую инфраструктуру открытых ключей.
На смену Self-Sign Security пришел модуль Certificate Security
(Adobe.PubSec), представленный в Acrobat 6, который уже умел работать
Глава 15. Обеспечение секретности 189

с сертификатами, выдаваемыми основными мировыми центрами сертифи-
кации.
Но оба эти решения относятся скорее к организации защищенного корпо-
ративного документооборота, чем к обеспечению секретности, и подробно
рассматриваться не будут. Хотя для обеспечения секретности они вполне
пригодны.

15.4.3. SoftLock (SLCK_SoftLock)
Модуль защиты SoftLock, разработанный одноименной компанией, получает
40-битовый ключ шифрования документа следующим образом. При первом
открытии документа вычисляется значение, являющееся функцией от иден-
тификатора документа и некоторых параметров конкретного компьютера
(например метки тома диска С), и это значение сообщается пользователю.
В ответ пользователь должен ввести 8-символьный ключ, полученный от
продавца документа. На основании полученного от пользователя ключа
и параметров компьютера вычисляется и проверяется ключ шифрования
документа. Следовательно, при переносе на другой компьютер документ
невозможно будет открыть с тем же 8-символьным ключом, т. к. параметры
компьютера, а значит, и вычисленный ключ шифрования документа, будут
иными.
Если бы каждый из восьми символов ключа, вводимого пользователем, мог
принимать одно из 95 значений ASCII-символов, доступных на стандартной
английской клавиатуре, то общее число комбинаций превысило бы 2 52 .
Однако каждый символ преобразуется в одно из 16 возможных значений,
а 2 символа из 8 являются контрольными и не участвуют в вычисле-
32
нии ключа шифрования. Таким образом, существует всего 2 различных
8-символьных ключей, и один из них является правильным. Полный пере-
бор 2 32 ключей, очевидно, не отнимает много времени и позволяет быстро
расшифровать любой документ с защитой SoftLock.
На настоящий момент компания SoftLock уже не существует и модуль за-
щиты больше не поддерживается.


15.4.4. Newsstand Crypto (NWST_Crypto)
Модуль NewsStand, разработанный в NewsStand, Inc., используется для за-
щиты периодических изданий, распространяемых через Интернет в элек-
тронной форме. Например, всего за $ 0.65 можно приобрести свежий вы-
пуск New York Times, находясь при этом в любой точке Земли, откуда есть
доступ к Интернету.
190 Часть IV. Основные аспекты защиты данных

<< Предыдущая

стр. 27
(из 39 стр.)

ОГЛАВЛЕНИЕ

Следующая >>