Доработать минифильтр драйвер
Имеется минифильтр драйвер, который блокирует доступ к настройкам браузеров IE, Chrome, Firefox.
Необходимо доработать его следующим образом, чтобы он блокировал попытки сторонних процессов изменять следующие настройки, а также блокировал изменение ярлыков (файлы *.lnk) для данных браузеров.
для процесса iexplorer.exe доступ к веткам реестра:
SOFTWARE\Microsoft\Internet Explorer\MAIN
SOFTWARE\Microsoft\Internet Explorer\SearchScopes
для процесса chrome.exe доступ к файлам:
%LOCALAPPDATA%\Google\Chrome\User Data\Default\Preferences
%LOCALAPPDATA%\Google\Chrome\User Data\Default\Web Data
для процесса firefox.exe доступ к файлу:
%APPDATA%\Mozilla\Firefox\Profiles\%profile_name%\ %hash% .default\prefs.js
При попытке других процессов, изменить настройки браузеров и ярлыков, он блокирует доступ. Запрос на блокировку, выводится для каждого процесса один раз, в тоже время при попытке одним процессом изменить настройки разных браузеров, предупреждение выводится для каждого браузера.
Также необходимо реализовать интерфейс взаимодействия с драйвером (клиентское приложение на C++), при котором клиенту отправляется сообщение с названием процесса, пытающегося получить доступ к настройкам и пользователь разрешает или блокирует к ним доступ, возвращая драйверу true/false (имеется готовое GUI в виде dll).
Должен быть предусмотрен список доверенных процессов в файле конфигурации или любом другом формате.
Модифицированный драйвер и клиентское приложение должны работать как для 32, так и для 64 разрядных ОС Windows XP, 7, 8
протестировать можно путем изменения настроек, указанных выше, через notepad.exe, regedit.exe
а также утилитами от яндекса для изменения домашней страницы и поиска по умолчанию, если утилита изменяет заглавную страницу браузеров, поиск по умолчанию, то все плохо, если драйвер запрашивает разрешение и блокирует – все хорошо.
(тестировать для 64 разрядов без проверки цифровой подписи)