Microsoft добавляет драйвер UCPD для Windows, чтобы блокировать взлом реестра для переключения приложений по умолчанию
Microsoft выпускает обновления Patch Tuesday для Windows каждый второй вторник. Эти обновления содержат исправления безопасности, а иногда и могут содержать ошибки. Хотя мы не уверены, является ли это ошибкой или намеренным изменением, в последних двух обновлениях, за февраль и март, Microsoft, по-видимому, начала блокировать переключение приложений по умолчанию через системный реестр.

Впервые проблему заметил Кристоф Колбич, консультант по информационным технологиям. На него обратили внимание пользователи, заметившие, что SetUserFTA и SetDefaultBrowser больше не работают.
SetUserFTA и SetDefaultBrowser — это утилиты командной строки, которые позволяют ИТ-специалистам и системным администраторам легко устанавливать ассоциации типов файлов Windows по умолчанию (FTA).
Углубившись в проблему, Колбич понял, что новый драйвер фильтра, представленный Microsoft, UCPD.sys, сокращенно от User Choice Protection Driver, отвечает за блокировки, поскольку они предотвращают запись в разделы реестра UserChoice.

Если вам интересно, Microsoft представила хеш-значения ключа реестра UserChoice в Windows 8 для повышения безопасности ОС. Конкретное значение хеш-функции используется для доказательства того, что значение UserChoice ProgId установлено самим пользователем, а не злонамеренным путем.
The UserChoice выглядит следующим образом:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice
В своем сообщении в блоге Колбич объяснил:
Начиная с февраля, несколько человек сообщили в моем блоге, что настройка протоколов http и https с помощью SetUserFTA и SetDefaultBrowser у них перестала работать — это означает, что изменить браузер по умолчанию больше невозможно с помощью моих инструментов.
Я скомпилировал отладочную версию, чтобы получить больше информации от затронутых пользователей/машин, и, к моему удивлению, запись в соответствующие разделы реестра вернула ACCESS_DENIED, и также больше невозможно было редактировать эти ключи с помощью regedit, reg.exe или PowerShell.
…
Изменение браузера по умолчанию по-прежнему работало с помощью приложения «Параметры» в Windows, но изменение этих ключей с помощью сценариев или инструментов, похоже, каким-то образом блокировалось.
ИТ-специалист Гуннар Хаслингер в ходе своего расследования обнаружил, что следующие ключи реестра фильтруются новым драйвером UCPD:
- Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice
- Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoiceLatest
- Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoicePrevious
- Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice
- Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoiceLatest
- Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoicePrevious
- Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\UserChoice
- Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\UserChoiceLatest
- Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\UserChoicePrevious
Предполагается, что это было сделано в результате изменений в соответствии с требованиями DMA ЕС, которые претерпевает Windows. Более подробную техническую информацию о драйвере UCPD можно прочитать по ссылкам на источники ниже.