Шифрование файловой системы
Делегирование прав агента восстановления не решает проблему
На первый взгляд может показаться, что проблему легко решить, делегировав права агента восстановления другой учетной записи. На самом деле это не так. Джеймс Дж. Грейс (James J. Grace) и Томас С.В. Бартлетт III (Thomas S. V. Bartlett III) разработали средство для изменения пароля любой учетной записи, определенной как агент восстановления.
Конечно же, хакеров не интересует сам агент восстановления. Просто это самый простой способ доступа к любому файлу на диске, зашифрованному системой EFS. Еще один способ борьбы с делегированием прав агента восстановления – просто "представиться" пользователем, зашифровавшим файл. Утилита chntpw (см. выше) позволяет изменить пароль любой учетной записи в автономном режиме. Затем взломщик может зарегистрироваться в системе как нужный ему пользователь и декодировать значение атрибута DDF с помощью своего закрытого ключа, расшифровав таким образом ключ FEK. и сам файл. При этом закрытый ключ агента восстановления данных не понадобится.
Экспортирование ключей восстановления и их безопасное хранение
В ответ на статью Джеймса Дж. Грейса (James J. Grace) и Томаса С.В. Бартлетта III (Thomas S. V. Bartlett III) компания Microsoft признала, что таким способом действительно можно обойти систему EFS, но в свое оправдание заявила, что для предотвращения этой атаки нужно правильно хранить ключ восстановления EFS (http://www.microsoft.com/technet/security/analefs.asp).
К сожалению, приведенное по этому адресу описание процесса экспортирования устарело, а в файлах справки по EFS другой способ не приводится. Чтобы экспортировать сертификат агента восстановления на отдельный компьютер, откройте аплет задания групповой политики Group Policy (gpedit.msc), найдите элемент Computer Configuration\Windows Settings\Security Settings\Public Key PoliciesVEncrypted Data Recovery Agents и выберите из контекстного меню агента восстановления на правой панели команду All Tasks › Export.
Запустится мастер, после выполнения рекомендаций которого ключ восстановления будет экспортирован. Для резервного копирования ключа агента восстановления вместе с сертификатом необходимо экспортировать и закрытый ключ. При этом авторы рекомендуют использовать защиту паролем.
И наконец, не забудьте удалить закрытый ключ, выбрав опцию Delete The Private Key If export Is Successful. После этого заполучить ключ к агенту восстановления из локальной системы будет крайне сложно (авторы просто избегают употреблять слово "невозможно"):
Напомним, что при простом удалении сертификата агента восстановления из правой панели шифрование файловой системы станет невозможным. На следующем рисунке показано, что происходит при попытке шифрования без агента восстановления – система не работает.
Файлы, зашифрованные до удаления агента восстановления, остаются зашифрованными, но могут быть открыты только соответствующим пользователем или после восстановления агента из резервной копии.
Для узлов, входящих в домен, ситуация отличается. Ключи восстановления всех систем, входящих в домен, хранятся на его контроллере. При добавлении к домену компьютера под управлением WIN 2000 автоматически вступает в силу используемая по умолчанию политика восстановления домена и агентом восстановления становится администратор домена, а не локальный администратор. Таким образом, ключи восстановления физически отделяются от зашифрованных данных, что значительно затрудняет описанную атаку. Не мешает также экспортировать сертификат агента восстановления с контроллера домена, поскольку при их получении уязвимыми станут все компьютеры данного домена.
Компания Microsoft в ответном документе также утверждает, что возможность удаления файла SAM, приводящую к установке пароля администратора в NULL, можно предотвратить с помощью ключа SYSKEY. Но выше было показано, что это не так, если не выбран режим его защиты паролем или хранения на гибком диске (в статье об этом умалчивается).