Windows bind filter driver что это

Обновлено: 04.07.2024

В этой статье описывается, как отключить драйвер фильтра режима ядра без удаления соответствующего программного обеспечения.

Применяется к: Windows Server 2012 R2, Windows 10 — все выпуски
Исходный номер КБ: 816071

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

Сводка

При устранении неполадок может потребоваться отключить драйвер фильтра:

Проблемы копирования или резервного копирования файлов.

Ошибки программы, которые возникают при открытии файлов с сетевых дисков или при сохранении файлов на сетевых дисках. Дополнительные сведения об ошибках этой программы см. в раздел Медленная производительность сети при открывлении файла, расположенного в общей папке на удаленном сетевом компьютере.

Отключение драйверов фильтрации

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

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

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

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

Дополнительные сведения о компьютерных вирусах см. в дополнительных сведениях о предотвращении и устранении вирусов и других вредоносных программ.

Остановите все службы, принадлежащие пакету программного обеспечения.

Выберите тип запуска Отключено. Для этого выполните следующие действия:

Установите клавишу реестра запуска соответствующих драйверов фильтра для 0x4. Значение 0x4 отключит драйвер фильтра. Для этого выполните указанные ниже действия.

В этот раздел, описание метода или задачи включены действия, содержащие указания по изменению параметров реестра. Однако неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому следует в точности выполнять приведенные инструкции. Для дополнительной защиты создайте резервную копию реестра, прежде чем редактировать его. Так вы сможете восстановить реестр, если возникнет проблема. Дополнительные сведения о том, как создать и восстановить реестр, см. в этой информации, как создать и восстановить реестр в Windows.

  1. Откройте редактор реестра.
  2. Создание резервного копирования HKEY_LOCAL_MACHINE\System реестра.
  3. Найдите и нажмите кнопку подкайка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services реестра.
  4. Щелкните запись для драйвера фильтра, который необходимо отключить.
  5. Дважды щелкните параметр Начните реестр, а затем установите его на значение 0x4.

Эта запись реестра обычно имеет значение 0x3.

Большинство антивирусных программ использует драйверы фильтрации, которые работают вместе со службой для проверки вирусов. Эти драйверы фильтра по-прежнему загружаются после отключения службы. Эти драйверы фильтра сканируют файлы по мере их открытия и закрытия на жестком диске. Для устранения неполадок временно удалите антивирусное программное обеспечение или обратитесь к производителю программного обеспечения, чтобы определить, доступна ли более новая версия.

Пример драйверов фильтрации

В этом разделе описываются некоторые типичные имена драйверов фильтра по продукту:

Защита от вирусов

  • Inoculan: INO_FLPY и INO_FLTR
  • Norton: SYMEVENT, NAVAP, NAVEN и NAVEX
  • McAfee (NAI): NaiFiltr и NaiFsRec
  • Trend Micro: Tmfilter.sys и Vsapint.sys

Агент резервного копирования

Агент резервного копирования для открытых файлов: Ofant.sys

Open Transaction Manager из Veritas BackupExec: Otman.sys (Otman4.sys или Otman5.sys)

Параметры реестра драйверов

В следующей таблице перечислены допустимые параметры и их описание для параметров реестра запуска и типа драйвера:

Заявление об отказе от ответственности за сведения о продуктах сторонних производителей

В этой статье упомянуты программные продукты независимых производителей. Корпорация Майкрософт не дает никаких гарантий, подразумеваемых и прочих, относительно производительности и надежности этих продуктов.

Довелось мне как-то на работе столкнуться с задачей управления доступа и перенаправления запросов к файловой системе в рамках определенных процессов. Реализовать необходимо было простое, легко конфигурируемое решение.

Решил разрабатывать MiniFilter драйвер, конфигурируемый при помощи текстового файла.

Рассмотрим, что из себя в общем виде представляет MiniFilter:

Фильтрация осуществляется через так называемый Filter Manager, который поставляется с операционной системой Windows, активируется только при загрузке мини фильтров. Filter Manager подключается напрямую к стеку файловой системы. Мини фильтры регистрируются на обработку данных по операциям ввода/вывода при помощи функционала Filter Manager, получая, таким образом, косвенный доступ к файловой системе. После регистрации и запуска мини фильтр получает набор данных по операциям ввода/вывода, которые были указаны при конфигурировании, при необходимости может вносить изменения в эти данные, таким образом влияя на работу файловой системы.



На следующей схеме в упрощенном виде показано как функционирует Filter Manager.

Более подробную теоретическую информацию Вы можете получить на сайте MSDN, воспользовавшись ссылкой в конце статьи. Достаточно не плохо все разобрано.

Мы же двинемся в сторону разработки и рассмотрим некоторые базовые структуры, которые необходимо заполнить.

Общие глобальные данные.


В этой структуре будем хранить ссылку на объект нашего драйвера и ссылку на экземпляр фильтра. Хочу заметить, что PFLT_FILTER уникально идентифицирует мини фильтр и остается константой на все время работы драйвера. Используется при активации или остановке процесса фильтрации.

  1. Callbacks – ссылка на структуру, определяющую, что и при помощи каких функций мы собираемся обрабатывать.
  2. FilterUnload – функция, которая будет вызвана при отключении фильтра.
  3. FilterLoad – функция, которая будет вызвана при инициализации фильтра.

Далее рассмотрим структуру Callbacks:


Здесь мы указываем, что будем перехватывать операцию CreateFile, также указываем функции, которые будут вызываться, соответственно, до и после выполнения операции над файлом.

Далее привожу код функций, которые вызываются при инициализации и отключении фильтра.


Думаю, код не нуждается в дополнительных комментариях, так как все достаточно стандартно. Замечу только, что наш драйвер не будет работать для сети.

Теперь давайте рассмотрим функцию инициализации драйвера:

Так же обращу внимание, что загрузка файла конфигурации и его обработка выполняется посредством следующих вызовов ConfigInfo = ReadConfigurationFile(); и ParseConfigurationFile(ConfigInfo) соответственно.

Данные из конфигурационного файла преобразуются в следующий набор структур.


Головной структурой выступает CONFIGURATION_MAP, которая хранит в себе ссылку на описание процесса ProcessRule, а так же указатель на следующий элемент. В свою очередь PROCESS_CONFIGURATION_RULE хранит ссылку на имя процесса и непосредственно на структуру правил перенаправления ввода/вывода, которая так же, как и REDIRECT_MAP является связным списком.

Рассмотрим функцию выгрузки драйвера, она достаточно проста:


Здесь мы лишь удаляем регистрацию фильтра и высвобождаем все наши конфигурационные структуры.

Теперь давайте обратимся к самой интересной части, а именно к функции, которая занимается перенаправлением операций ввода/вывода. Так как у нас достаточно простой драйвер, делать это мы будем прямо в PreFileOperationCallback.


Определяем основные переменные, а также проверим, не пришло ли нам уже что-то отфильтрованное, и если так, то эту операцию нужно пропустить, в противном случае мы можем получить рекурсию вызовов, что может повлечь BSOD.

Здесь обращаемся к данным структур полученных от FilterManager. Структура PFLT_CALLBACK_DATA – хранит данные по текущей операции ввода/вывода, FilterManager руководствуется полями этой структуры при обращении к файловой системе. Соответственно, если мы хотим изменить поведение Windows при обращении к файлам или каталогам, мы должны отразить это в PFLT_CALLBACK_DATA. Более конкретно, нас интересует поле Data->Iopb->TargetFileObject, используя его мы сможем получить путь до файла в текущем разделе и позже изменить его при необходимости, изменив таким образом поведение ОС. PCFLT_RELATED_OBJECTS — содержит объекты связанные с данной операцией ввода/вывода, такие как ссылку на файл, раздел и прочее. Проверим, что нужные нам элементы структуры заполнены. Также проверим, что функция в контексте которой мы выполняемся действительно MJ_CREATE.

В этом участке кода мы выделяем память для пути и имени процесса. Не представляю какого размера будет строка, так что выделяем максимально возможную строку WCHAR. Исходный код GetProcessImageName рассматривать не буду, скажу только, что она возвращает полный путь до файла в следующем виде: \Device\HarddiskVolume4\Windows\notepad.exe. т.е раздел, ну и собственно, путь до файла.


Функция FindRuleByProcessName в случае успеха возвращает первый элемент связанного списка содержащего правила перенаправления по текущему процессу, в противном случае NULL.

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

Далее, конфигурируем системные структуры, так чтобы File Manager еще раз обработал этот запрос, но только теперь уже по другому пути. Для этого важно проставить следующие значения полей Data->IoStatus.Information = IO_REPARSE и Data->IoStatus.Status = STATUS_REPARSE;, а так же указать новый путь до файла FileObject->FileName.Buffer = fullPath.Buffer;. В качестве результата функции возвращаем FLT_PROP_COMPLETE.


Не забываем перейти к следующему элементу списка перенаправлений. FLT_PREOP_SUCCESS_NO_CALLBACK возвращаем если делать с текущей операцией Filter Manger ничего не должен.

На данный момент переопределение ввода/вывода работает только в рамках одного раздела, как только отлажу вариант с поддержкой нескольких разделов, выложу.

Устанавливать мини фильтр необходимо при помощи специально оформленного inf файла, пример, которого Вы найдете в исходниках к данной статье.

Конфигурационный файл имеет следующий вид:

Файл должен располагаться в корне диска C, имя должно быть: minifilter.conf.

Итак мы имеем возможность перенаправления запросов файлового ввода/вывода, однако реализовать в дополнение, скажем, механизм запрета доступа к файлу достаточно просто. Необходимо выделить файл, доступ к которому нужно запретить и указать следующее значение для поля системной структуры Data->IoStatus.Status = STATUS_ACCESS_DENIED;. Не забыть вернуть FLT_PROP_COMPLETE в качестве результата функции.

Для запуска драйвера в 64 битной версии Windows 7 нужно будет отключить проверку подписи драйверов, для этого нужно перезагрузить компьютер, при старте системы нажать F8 и выбрать пункт Disable Driver Signature Enforcement, либо воспользоваться утилитой Driver Signature Enforcement Overrider(DSEO). Данная утилита позволит активировать тестовый режим отладки драйверов и подписать нужный драйвер фейковым сертификатом, что в конечном итоге позволит без проблем его использовать.


В не зависимости от того, включено логирование или нет, после запуска сервиса в DbgView Вы должны наблюдать нечто подобное.


А так наш драйвер будет выглядеть в DeviceTree

Могу добавить, что код пока еще достаточно сырой и требует доработок, однако в целом функционирует нормально. Собственно, если у Вас будет BSOD, я не виноват). Тестировал только на Windows 7 X86 и Windows 7 IA64.

Эта работа была прислана на наш "бессрочный" конкурс статей и автор получил приз - USB-мышь Logitech MX310.

Разгоном мышей на сайте уже занимались, причем аппаратным (см. статью "Модификация мыши: хвостатой, оптической, вибрирующей"). Однако поводом к написанию сего опуса и программы послужила случайно попавшаяся на глаза статья на THG.RU ("Разгоняем мышь: как увеличить частоту USB в четыре раза"). Безусловно, идея разгона правильная, потому что истинная :) и сомнениям подвергаться не может, как бы не злопыхали апологеты номиналов :) Но вот конкретная реализация – только под Windows XP SP2 и путем хака (или патча, кому как больше нравится) системного файла – удовлетворительной признана быть не может.

реклама

Краткая теория разгона.

USB мыши, как и любые другие устройства на USB шине, работают согласно стандарту этой самой шины (было бы удивительно, если бы это было не так). Стандарт же сообщает нам, что USB шина – это хост-управляемая поллинговая (опросная) шина с периодом опроса устройств в 1 миллисекунду (по версии USB1.1). Следовательно, максимально достижимая частота опроса USB мышей – 1000 опросов в секунду. Однако стандарт уточняет, что низкоскоростные (Lowspeed) устройства, к которым мыши обычно и относятся, должны запрашивать опрос не чаще, чем раз в 10 командных циклов шины, что они и делают (соблюдая стандарт).

Внимательный читатель заметит, что 10 командных циклов по 1 миллисекунде каждая даст частоту опроса в 100 раз за секунду. Почему же USB мыши по умолчанию дают частоту опроса 125? Дело в том, что драйвера хост-контроллера, писанные MS, устанавливают частоту опроса устройства по значениям степени двойки, округляя запрошенное устройством (точнее его драйвером) значение в меньшую сторону, причем в диапазоне от 1 до 32. (Стандарт USB шины позволяет запросить интервалы опроса в любое число от 1 до 255). Следовательно, запрошенный период в 10 циклов округляется до 8, что и дает искомые 125 опросов в секунду.

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

Разработка Microsoft® Windows® Operating System компанией Microsoft послужила толчком для создания последней версии файла WdFilter.sys. Он также известен как файл Microsoft antimalware file system filter driver (расширение SYS), который классифицируется как файл Win32 EXE (Драйвер).

Файл WdFilter.sys впервые был выпущен для ОС Windows 8 08/01/2012 с Windows 8. 07/29/2015 вышла версия 4.11.15063.0 (WinBuild.160101.0800) для Windows 10. Файл WdFilter.sys входит в комплект Windows 10, Windows 8.1 и Windows 8.

Ниже приведены исчерпывающие сведения о файле, инструкции для простого устранения неполадок, возникших с файлом SYS, и список бесплатных загрузок WdFilter.sys для каждой из имеющихся версий файла.




Совместимость с Windows 10, 8, 7, Vista, XP и 2000

Средняя оценка пользователей

Сведения о разработчике и ПО
Разработчик ПО: Microsoft Corporation
Программа: Microsoft® Windows® Operating System
Авторское право: © Microsoft Corporation. All rights reserved.
Сведения о файле
Набор символов: Unicode
Код языка: English (U.S.)
Флаги файлов: (none)
Маска флагов файлов: 0x003f
Точка входа: 0x31000
Размер кода: 203264
Информация о файле Описание
Размер файла: 237 kB
Дата и время изменения файла: 2017:03:18 18:18:26+00:00
Дата и время изменения индексного дескриптора файлов: 2017:11:05 07:07:54+00:00
Тип файла: Win32 EXE
Тип MIME: application/octet-stream
Тип компьютера: Intel 386 or later, and compatibles
Метка времени: 1970:07:17 23:18:10+00:00
Тип PE: PE32
Версия компоновщика: 14.10
Размер кода: 203264
Размер инициализированных данных: 30720
Размер неинициализированных данных: 0
Точка входа: 0x31000
Версия ОС: 10.0
Версия образа: 10.0
Версия подсистемы: 6.2
Подсистема: Native
Номер версии файла: 4.11.15063.0
Номер версии продукта: 4.11.15063.0
Маска флагов файлов: 0x003f
Флаги файлов: (none)
Файловая ОС: Windows NT 32-bit
Тип объектного файла: Driver
Подтип файла: 0
Код языка: English (U.S.)
Набор символов: Unicode
Наименование компании: Microsoft Corporation
Описание файла: Microsoft antimalware file system filter driver
Версия файла: 4.11.15063.0 (WinBuild.160101.0800)
Внутреннее имя: WdFilter
Авторское право: © Microsoft Corporation. All rights reserved.
Оригинальное имя файла: WdFilter.sys
Название продукта: Microsoft® Windows® Operating System
Версия продукта: 4.11.15063.0

✻ Фрагменты данных файлов предоставлены участником Exiftool (Phil Harvey) и распространяются под лицензией Perl Artistic.

WdFilter.sys — ошибки «синего экрана» (BSOD)

Существует ряд причин, по которым вы можете столкнуться с проблемами с WdFilter.sys. Большинство проблем с файлами SYS связаны с ошибками «синего экрана» (BSOD). Эти типы ошибок WdFilter.sys могут быть вызваны аппаратными проблемами, устаревшей прошивкой, поврежденными драйверами или другими проблемами, связанными с программным обеспечением (например, обновление Windows). В число этих ошибок входят:

  • Не удается найти WdFilter.sys.
  • Не удалось загрузить WdFilter.sys.
  • Файл WdFilter.sys отсутствует или поврежден.
  • Windows не удалось запустить — WdFilter.sys.


Обнаружена проблема, в результате которой ОС Windows завершила работу, чтобы предотвратить повреждение компьютера. По всей видимости, причиной проблемы стал следующий файл: WdFilter.sys.

:( На вашем ПК возникла проблема, которую не удалось устранить, и его необходимо перезагрузить. Сведения об ошибке можно найти в Интернете: [BSOD] (WdFilter.sys).

STOP 0x0000001E: KMODE EXCEPTION NOT HANDLED (WdFilter.sys)
STOP 0x0000007E: SYSTEM THREAD EXCEPTION NOT HANDLED (WdFilter.sys)
STOP 0x00000050: PAGE FAULT IN A NONPAGED AREA (WdFilter.sys)
STOP 0x0000003B: SYSTEM SERVICE EXCEPTION (WdFilter.sys)
STOP 0x0000000A: IRQL NOT LESS EQUAL (WdFilter.sys)
STOP 0×0000007A: KERNEL DATA INPAGE (WdFilter.sys)

Крайне важно устранять ошибки «синего экрана»

В большинстве случаев ошибки BSOD WdFilter.sys возникают после установки нового оборудования, программного обеспечения (Windows) или выполнения неудачного обновления Windows. В остальных случаях к ошибке «синего экрана» WdFilter.sys может привести повреждение программного обеспечения, вызванное заражением вредоносным программным обеспечением. Таким образом, крайне важно, чтобы антивирус постоянно поддерживался в актуальном состоянии и регулярно проводил сканирование системы.


СОВЕТ ОТ СПЕЦИАЛИСТА: Как показывает опыт, целесообразно всегда создавать резервную копию системы Windows и (или) точку восстановления системы, прежде чем вносить какие-либо изменения в аппаратное или программное обеспечение на компьютере. Таким образом, в случае неблагоприятного поворота событий и возникновения связанной с файлом WdFilter.sys ошибки «синего экрана» после недавних изменений можно восстановить систему в предыдущее состояние.

Шаг 1. Восстановите компьютер до последней точки восстановления, «моментального снимка» или образа резервной копии, которые предшествуют появлению ошибки.

Чтобы начать восстановление системы (Windows XP, Vista, 7, 8 и 10):

Если на этапе 1 не удается устранить ошибку WdFilter.sys, перейдите к шагу 2 ниже.


Шаг 2. Запустите средство проверки системных файлов (System File Checker), чтобы восстановить поврежденный или отсутствующий файл WdFilter.sys.

Средство проверки системных файлов (System File Checker) — это утилита, входящая в состав каждой версии Windows, которая позволяет искать и восстанавливать поврежденные системные файлы. Воспользуйтесь средством SFC для исправления отсутствующих или поврежденных файлов WdFilter.sys (Windows XP, Vista, 7, 8 и 10):

Следует понимать, что это сканирование может занять некоторое время, поэтому необходимо терпеливо отнестись к процессу его выполнения.

Если на этапе 2 также не удается устранить ошибку WdFilter.sys, перейдите к шагу 3 ниже.

Шаг 3. Выполните обновление Windows.


Если ни один из предыдущих трех шагов по устранению неполадок не разрешил проблему, можно попробовать более агрессивный подход (примечание: не рекомендуется пользователям ПК начального уровня), загрузив и заменив соответствующую версию файла WdFilter.sys. Мы храним полную базу данных файлов WdFilter.sys со 100%-ной гарантией отсутствия вредоносного программного обеспечения для любой применимой версии Windows . Чтобы загрузить и правильно заменить файл, выполните следующие действия:

Windows 10: C:\Windows\System32\drivers\
Windows 8.1: C:\Windows\System32\drivers\
Windows 8: C:\Windows\System32\drivers\

Если этот последний шаг оказался безрезультативным и ошибка по-прежнему не устранена, единственно возможным вариантом остается выполнение чистой установки Windows 10.

Читайте также: