WFP (Windows File Protection)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 00:43, 24 октября 2017.

WFP (англ. Windows File Protection - Защита файлов Windows) - вложенная система, включенная в Microsoft Windows, целью которой является предотвращение загрузки программ замены важных для Windows системных файлов. WFP - технология, позволяющая запретить программам изменять или удалять наиболее важные системные файлы операционных систем семейства Windows. Защита критически важных системных файлов позволяет избежать ряда серьёзных проблем и сбоев в работе операционной системы и прикладного программного обеспечения, например, DLL hell.

Windows File Protection

Названия в различных версиях Windows

Защита файлов Windows — Windows 2000, Windows XP, Windows Server 2003. System File Protection — Windows ME. Защита ресурсов Windows — Windows Vista. Строго говоря, является другой технологией, но принцип работы схожий: на основе ACL проверяется, может ли тот или иной пользователь осуществлять операции с файлами (не только системными). Ещё одна цель — защита ключевых значений реестра. Когда Windows File Protection активна, перезапись или удаление незаблокированного системного файла приводит к немедленному восстановлению его оригинальной версии, которая хранится в специальной системной папке. В операционных системах семейства Windows NT это %WINDIR%\system32\Dllcache, в Windows ME — %SYSTEMROOT%\Options\Install.

Все файлы, устанавливаемые операционной системой, защищены от изменения или удаления. Цифровая подпись этих файлов хранится в каталоге %SYSTEMROOT%\system32\catRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}. Изменение вышеназванных системных файлов разрешено только немногочисленным специальным компонентам, например, Установщик Windows или Установщик пакетов (англ. Package Installer). В противном случае файл возвращается в исходное состояние без каких-либо запросов или сообщений. Лишь тогда, когда Windows File Protection не удаётся найти требуемый файл самостоятельно, производится поиск в локальной сети, Интернете или выдаётся запрос пользователю с просьбой вставить установочный диск в дисковод. [Источник 1]

Обзор

Механизм WFP отвечает за защиту важных системных файлов, устанавливаемых вместе с Windows (например, файлы с расширениями dll, exe, ocx и sys, а также некоторые шрифты True Type). Проверка правильности версии защищенных системных файлов производится с помощью подписей файлов и файлов каталога, созданных в процессе подписывания. Замена защищенных файлов операционной системы возможна только посредством следующих механизмов.

  1. При установке пакетов обновления для Windows с помощью программы Update.exe.
  2. При установке исправлений с помощью программ Hotfix.exe и Update.exe.
  3. При обновлении операционной системы с помощью программы Winnt32.exe.
  4. При использовании веб-узла Windows Update.

Если для замены защищенного файла используется другой способ, функция WFP восстанавливает исходные файлы. При установке важных системных файлов установщик Windows не устанавливает и не заменяет их самостоятельно, а всегда использует механизм WFP, обращаясь к нему с запросом установки или замены защищенных файлов.

Принцип работы механизма защиты файлов Windows

Для защиты файлов операционной системы в WFP предусмотрены два механизма. Первый механизм работает в фоновом режиме и активируется после того, как WFP получает уведомление об изменении папки для файла из защищенной папки. После получения этого уведомления WFP определяет, какой файл был изменен. Если был изменен защищенный файл, WFP находит в файле каталога подпись защищенного файла для проверки правильности версии нового файла. Если версия является неправильной, новый файл заменяется исходным из папки кэша (если он там имеется) или источника установки. Поиск файла допустимой версии производится в следующем порядке.

  1. Папка кэша (по умолчанию %systemroot%\system32\dllcache).
  2. Путь к сетевому источнику установки, если он был использован для установки операционной системы.
  3. Компакт-диск Windows, если он был использован для установки операционной системы.

Если файл удается найти в папке кэша или выполняется автоматическое обнаружение источника установки, файл заменяется без уведомления пользователя. Если WFP не удается автоматически найти файл ни в одном из этих местоположений, пользователь получает одно из следующих сообщений, в которых имя_файла — это имя замененного файла, а продукт — это используемый продукт Windows.

Примечание. Если вход в систему был выполнен с учетной записью, которая не дает прав администратора, описанные выше диалоговые окна не отображаются. В таком случае эти диалоговые окна отображаются только после входа в систему с правами администратора. WFP ждет входа в систему администратора в следующих ситуациях. Запись реестра SFCShowProgress отсутствует или содержит значение 1, а сервер настроен на проверку при каждом запуске компьютера; в таком случае WFP ждет входа с консоли, поэтому сервер RPC не запускается, пока не будет выполнена проверка. В течение этого времени компьютер не защищен.

Примечание. При этом сохраняется возможность подключения сетевых дисков и использования системных файлов, и для входа на сервер можно использовать службы терминалов. WFP не считает эти операции консольным входом и находится в состоянии ожидания неограниченно долго. WFP должен восстановить файл из общего сетевого ресурса. Такая ситуация может возникнуть в случае, если в папке Dllcache нет требуемого файла или он поврежден. В этом случае у WFP может не быть требуемых учетных данных для доступа к общему ресурсу на носителе для установки по сети. В качестве второго механизма защиты, обеспечиваемого WFP, используется средство проверки системных файлов (файл Sfc.exe). В конце работы режима графического интерфейса программы установки это средство проверяет, не были ли защищенные файлы изменены программами, установленными автоматически. Кроме того, программа Sfc.exe проверяет все файлы каталога, используемые для отслеживания правильных версий файлов. В случае отсутствия или повреждения любого из файлов каталога он переименовывается и восстанавливается из папки кэша. Если в папке кэша файл найти не удается, WFP запрашивает установку соответствующего носителя с новой копией файла каталога.

Средство проверки системных файлов предоставляет администратору возможность проверить версии всех защищенных файлов. Кроме того, это средство проверяет и повторно заполняет папку кэша (по умолчанию — %SystemRoot%\System32\Dllcache) Если папка кэша повреждена или стала непригодной для использования, для восстановления ее содержимого используется команда sfc /scanonce или sfc /scanboot. [Источник 2]

Описание работы службы WFP

Проверка работы службы защиты файлов Windows (WFP) рассматривается в следующей процедуре.

Проверка работы службы WFP

  1. Откройте Explorer (Проводник) и перейдите в каталог \windows\System32. Если Explorer поддерживает просмотр каталогов в виде Web-папок, будет выдан запрос на подтверждение доступа к папкам \Windows и \Windows\System32. Это подсказывает, что каталоги защищены службой защиты файлов Windows.
  2. Прокрутите список файлов и найдите один из файлов, установленных вместе с операционной системой.
  3. Щелкните правой кнопкой мыши на пиктограмме файла и выберите из контекстного меню команду Delete (Удалить). Щелкните на кнопке Yes (Да) для подтверждения удаления.
  4. Некоторое время ничего не делайте. Ждите и наблюдайте. Через несколько секунд пиктограмма файла появится на старом месте. Это значит, что служба защиты файлов Windows работает.

Элементы службы WFP

Служба защиты файлов Windows не работает в виде отдельного процесса. Это одна из функций ядра операционной системы. Для управления службой можно воспользоваться записями системного реестра в разделе HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon. Для управления службой защиты файлов Windows доступны следующие записи.

  • SFCQuota. Объем дискового пространства, выделенного для хранения каталога DllCache. По умолчанию используется значение FFFFFFFF, которое выделяет для хранения каталога практически неограниченный объем величиной 4 Гбайт. Тот же эффект дает значение -1.
  • SFCDisable. Если установить для этой записи значение 1, защита системных файлов будет отключена при следующей перезагрузке. После еще одной перезагрузки служба за щиты файлов включится автоматически. Этот параметр можно использовать для замены файлов версиями, одобренными производителем системы, или для установки специальных версий файлов, предназначенных для отладки.
  • SFCBugCheck. В обычных условиях при попытке замены или удаления защищенного файла система выдает предупреждение на локальную консоль. Если установить для этой записи значение 1, система останавливает работу и выдает синий экран с сообщением об ошибке. Этот параметр можно установить на рабочей станции, пользователь которой время от времени старается заменить системные файлы.
  • SFCScan. Заставляет службу WFP просматривать папку DllCache во время загрузки и находить отсутствующие файлы. Значение 1 заставляет службу сканировать файлы при каждой загрузке. Значение 2 заставляет службу провести однократное сканирование.

Особенности службы WFP

  • Служба WFP защищает системные файлы, установленные вместе с операционной системой.
  • Служба защиты файлов Windows разрешает модификацию системных файлов только не большому количеству доверенных выполняемых файлов.
  • Удаленные или поврежденные системные файлы заменяются правильными версиями из специального кэша на диске.
  • Утилита sfc позволяет вручную запустить сканирование и исправление системных файлов. [Источник 3]

Источники

  1. Защита файлов Windows // Википедия. [2016—2016]. Дата обновления: 18.05.2016. URL: http://ru.wikipedia.org/?oldid=78434584 (дата обращения: 18.05.2016).
  2. Описание механизма защиты файлов Windows. [2016—2016]. Дата обновления: 19.08.2016. URL:https://support.microsoft.com/ru-ru/help/222193/description-of-the-windows-file-protection-feature (дата обращения: 19.08.2016)
  3. Защита Файлов Windows. [2016—2016]. Дата обновления: 21.12.2016. URL:http://win-server.ru/p/46 (дата обращения: 21.12.2016)

Ссылки

  1. Windows File Protection
  2. Описание механизма защиты файлов Windows