На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Извлечение данных временного файла системы EFS


Популярность 8

Простота
10

Опасность
10

Степень риска
9

9 января 2001 года Рикард Берглинд (Rickard Berglind) опубликовал в популярной рассылке Bugtraq, посвященной вопросам безопасности, интересную статью. Оказалось, что когда выбирают файл для шифрования в системе EFS, этот файл не шифруется напрямую. Вместо этого создается резервная копия файла, которая сохраняется во временный каталог под именем ef sO. tmp. Затем данные из этого файла шифруются и используются для замены исходного файла. После завершения шифрования скопированный файл удаляется.
Однако после того, как исходный файл заменяется зашифрованной копией, а временный файл удален, физические блоки файловой системы, в которых был расположен временный файл, не очищаются. В этих блоках остаются исходные, незашифрованные данные. Другими словами, временный файл удаляется так же, как и любой другой файл — элемент таблицы размещения файлов помечается как пустой, а кластеры диска, в которых расположен файл, помечаются как доступные для записи, но физически файл и информация, которая в нем хранилась, остаются на диске. При записи в тот же раздел диска новых файлов оставшиеся данные постепенно будут перезаписываться, но если зашифрованный файл был большим, он может сохраняться месяцами, в зависимости от степени использования диска.
В ответ на статью Рикарда компания Microsoft подтвердила, что это особенность работы с отдельными файлами, которые шифруются системой EFS, и указала на статью под названием "Encrypting File System foe Windows 2000" (см. раздел "Дополнительная литература и ссыл­ки" в конце главы), где ясно описан этот вопрос. Также компания Microsoft представила некоторые рекомендации ддя борьбы с такой проблемой, которые будут рассмотрены ниже.
Каким же образом можно использовать особенности работы системы EFS для чтения зашифрованных данных? Эти данные легко читаются с помощью низкоуровневого редактора диска, такого как программа dskprobe,ехе из раздела Support Tools установочного ком­пакт-диска Windows 2000, который дает возможность любому пользователю с доступом к консоли локального узла читать данные зашифрованного файла. Использование программы dskprobe для чтения файла ef s0 . tmp описано ниже.
Сначала запустите программу dskprobe и откройте нужный для чтения диск через пункт MeHtoDrives^Physica! Drive двойным щелчком на диске в левом верхнем окне. Затем нажмите кнопку Set Active рядом с названием диска, после этого появится область диалога Handle О. Если все сделано правильно, то вы увидите окно, показанное на 2.
Н«*0 . --'Й*даир|«0.
братний -рр«_РЕ«ю|а.У ■
. OoHHmfc|:.;
'■' Nmfti:.^:: ■ HO.SEIFCtlON .' ■ DcenMo* iJWAlJO_H«KIUv
И§Нд*Й|
SetAc&vfi
Puc. 14.2. Открытие диска PhysicalDriveO для доступа с правами чтения е программе dskprobe. Открыт и сделав активным дескриптор Handled
После завершения предыдущих действий необходимо найти сектор диска, который содержит искомые данные. Поиск файлов на физическом диске можно сравнить с поиском иголки в стоге сена, но в этом деле поможет команда меню Tools ^Search Sectors программы dskprobe. Пример показан на 3. Мы ишем строку "ef s0 . tinp" в секторах диска с нулевого и до последнего. Обратите внимание, что в диалоге отмечены опции Exhaustive Search (Полный поиск), Ignore Case (Не учитывать регистр символов), Unicode Characters (Символы Unicode). Кажется, что по некоторым причинам функция использования таблицы ACS1I не работает.
Если для шифрования файла на анализируемом диске была использована файловая система EFS, и файл ef s0 . tmp не был перезаписан во время другой операции с диском, го после завершения поиска содержимое файла появится В окне программы dskprobe в незашифрованном виде. При поиске строки "ef s0 . tmp" могут быть обнаружены и Другие секторы диска, выделенные другим файлам (например, полный путь к файлу efsO.tmp записывается в файл efs0.log). Единственный способ убедиться в том, что был обнаружен именно файл efsO.tmp, а не какой-нибудь другой файл, содержащий эту строку, — посмотреть, есть ли в верхней части окна просмотра программы dskprobe обозначение FILE*. Если такая строка есть, значит, найденный сектор содержит нужный файл. Оба файла, ef s0. Log и ef s0. tmp, создаются в том же каталоге, в котором находится шифруемый файл, но для стандартных Средств они не видны, поможет лишь программа типа dskprobe. На 4 показан пример
Бюллетень
Нет
BID 2243
Исправлено в SP
Нет
Фиксируется
Нет
В ответе компании Microsoft на упомянутую выше статью из рассылки Bugtraq сказано, что незашифрованная копия файла создается, только если шифруется один существующий файл. Если файл создается в зашифрованном каталоге, то он будет зашифрован с самого на­чала, и незашифрованная копия создаваться не будет. Компания Microsoft рекомендует такой метод как предпочтительную процедуру при использовании системы EFS для защиты ценной информации, как сказано в статье "Encrypting File System for Windows 2000," стр. 22:
"...Рекомендуется всегда начинать с создания пустого зашифрованного каталога, а файлы создавать уже в этом каталоге. Тогда незашифрованные части файла никогда не окажутся сохраненными где-либо на диске. Также при такой работе повысится производительность, поскольку системе EFS не нужно будет создавать копию шифруемого файла, а затем удалять ее".
Основной момент: вместо отдельньгх файлов, шифруйте каталог, в котором будут храниться все данные, защищенные системой EFS, а важные файлы создавайте прямо в этом каталоге.
Чтобы исправить ситуацию, компания Microsoft также выпустила обновленную версию утилиты EFS с интерфейсом командной строки под названием cipher. ехе. Обновленную версию программы можно использовать для стирания данных с диска, чтобы сделать невозможным их восстановление любыми средствами. Обновленную версию программы cipher.exe можно загрузить с узла, ссылка на который дана в разделе "Дополнительная литература и ссылки" в конце этой главы (программа требует установленный пакет обновления Service Pack I).
Обновленная версия программы cipher. ехе стирает содержимое освобожденных кластеров с диска. Освобожденные кластеры являются блоками файловой системы NTFS, которые были использованы для хранения данных, но уже не используются, так как использовавший их файл был сокращен или удален. Тогда система NTFS помечает такие кластеры как доступные для выделения при необходимости другому файлу.
Чтобы перезаписать данные из освобожденных кластеров программой cipher. ехе, сделайте следующее.
1. Закройте все приложения. ,
2. Откройте командную строку, для этого нужно выбрать пункт меню Starts Run (Пуск^Выпопнить), и введите команду cmd.
3. Введите команду cipher /Wt < ' каталог' >, где строка <'каталог'> указывает каталог диска, который нужно очистить. Например, команда Cipher /W:c:\test приведет к перезаписи всего освобожденного пространства KaTanoraC:\test.
освобожденное пространство всего диска, то диск NTFS необходимо смонтировать как каталог (например, диск можно смонтировать в каталоге: \f olderl\D_Drive). Этот способ позволяет очишать диски NTFS полностью.
Обновленную версию программы cipher. ехе необходимо устанавливать с использованием программы-инсталлятора, иначе могут быть потеряны данные.
Для интересующихся парзноиков расскажем, что программа cipher выполняет очистку удаленных данных за три прохода: в первый раз в секторы записываются 0, ео второй — значениями OxF, а за третий проход секторы заполняются случайными данными.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика