Стояла на моем компьютере Windows XP. Стояла давно и работала весьма стабильно. Для части данных были задействованы возможности шифрования: файлы числом около 10 тысяч штук были собраны в единственную шифрованную папку на втором (не системном) диске. Но в один прекрасный момент системный диск производства известной фирмы (с названием из трех букв — не подумайте плохого) сказал «дзинь», и не ожидавшая такого подвоха Windows XP показала мне фигу в виде синего экрана. Хорошо зная, что означает этот самый «дзинь», я загрузил новую копию XP с другого диска, после чего попытался сделать полный Backup старого системного раздела с помощью Partition Magic. Увы, бесполезно — ошибка чтения с тем же звуком. Пришлось применять менее радикальные средства, а именно пофайловое копирование раздела на другой диск, — эта операция прошла успешно. Попытки восстановить систему на старом диске ни к чему хорошему не привели — он продолжал «сыпаться» чем дальше, тем больше, и, в конце концов, не осталось ничего иного, как признать его физически негодным. Сохранилась только пофайловая копия, содержавшая недавно сделанный штатными средствами системы Backup.
Две недели я безуспешно пытался вернуть данные. Создал чистый NTFS-раздел на новом диске, переписал туда все файлы старой системы. Вручную добавил загрузочный сектор. Увы, в результате лишь синий экран. Пробовал восстановить систему штатной процедурой установки с дистрибутива. Здесь еще веселее: в синий экран падал сам инсталлятор при попытке обнаружить на диске систему. Распаковывал Backup на чистый раздел, дописывал загрузчик — не грузится. Проходил инсталлятором поверх Backup’а — старая система обнаружена, инсталлятор ее «исправляет», XP грузится, но все попытки открыть из нее хоть один шифрованный файл заканчивались сообщением об отсутствии необходимых прав. Приехали.
Путем несложных логических размышлений приходим к выводу, что шифрованные данные достать можно. Ключ шифрования находится в файле на диске (все файлы у меня есть), собственно ключ закодирован с использованием пароля (его я помню), вопрос только в том, каким образом импортировать меня как пользователя вместе с соответствующим ключом в новую копию системы. Или какие другие средства применить, чтобы три слагаемых в виде пароля, ключа и шифрованного файла дали нужный результат.
Поиск по сетевым конференциям не дал ничего конкретного, но укрепил во мнении, что торопиться стирать шифрованные файлы не надо — путь к восстановлению должен быть, вопрос только в том, кто и когда его обнаружит. Интернет-сообщество сходилось на том, что Microsoft, как обычно, запирает на замок ворота при отсутствии забора, и возлагало надежды на монстров типа Symantec, PowerQuest, Roxio, но монстры отмалчивались — может быть, не желали ссориться с Microsoft?
С тех пор минуло три месяца, я давно обжил новую копию системы, а к папке с шифрованными файлами стал относиться равнодушно: лежит, есть не просит — ну и пусть лежит. И вдруг на прошлой неделе получаю письмо от Владимира Каталова из компании «Элкомсофт» (дело Дмитрия Склярова помните?). Цитирую: «…Прочитал Вашу статью в #19. На самом деле, Microsoft Encrypting File System не настолько хороша. В Windows 2000, я бы даже сказал, — вообще дырява, ибо если не предпринимать специальных действий, то любой злоумышленник может расшифровать все файлы, имея лишь физический доступ к диску, не зная даже паролей на вход в систему. Мы делали доклад на эту тему на последней конференции BlackHat: http://www.blackhat.com/presentations/bh-europe-03/bh-europe-03-malyshev.pdf. И разработали программу для восстановления зашифрованных данных (Advanced EFS Data Recovery, AEFSDR): http://www.elcomsoft.com/aefsdr.html. В Windows XP и Windows 2003 Server защита была несколько улучшена — в частности, для расшифровки теперь необходимо знать пароль пользователя, шифровавшего файл (или Recovery Administrator’а). Который, в свою очередь, можно вытащить из SAM. AEFSDR пока не поддерживает XP/2003, но очень скоро будет».
Вот оно! Рассказав Владимиру о своей проблеме, я получил ссылку на последнюю «бету» AEFSDR, рассчитанную уже и на XP. Но «бета» она и есть «бета» — ключи старой системы нашла, а расшифровать не сумела. В течение следующей недели ваш покорный слуга выступал в качестве бета-тестера, отправляя в «Элкомсофт» логи программы и описания замеченных глюков. Результатом стала очередная версия AEFSDR, без проблем нашедшая в груде файлов и расшифровавшая ключи старой системы, а также почти все мои зашифрованные данные (не справившись только с теми, которые были добавлены после установки SP1 — при этом меняется алгоритм шифрования). Впрочем, насколько я понимаю, это уже дело техники и времени — релиз должен справляться и такой задачей.
В результате все навороты Microsoft с сертификатами, ключами, расшифровкой без сохранения на диске и т. п. свелись к тому же самому паролю пользователя, лишь добавив массу проблем в случае краха системы. Во всяком случае, с шифрованием от Microsoft я больше не связываюсь — защита от самого себя мне не требуется, а от чужих глаз разумнее использовать, к примеру, RAR с паролем.