IT 之家 4 月 8 日消息,微軟今年 2 月面向 Windows 10 用戶推送 KB5034763 更新、面向 Windows 11 用戶推送 KB5034765 更新,其中一項調整是阻止用戶使用軟件或者修改注冊表方式,配置系統的默認浏覽器。
IT 之家 3 月 26 日已經報道過這個問題,現在關于這個問題的更多細節被披露。IT 顧問 Christoph Kolbicz 率先發現微軟的這項調整,安裝 2 月更新之後導緻其 SetUserFTA 和 SetDefaultBrowser 程序無法正常使用。
SetUserFTA 是一個命令行程序,可讓 Windows 管理員通過登錄腳本和其他方法更改文件關聯;SetDefaultBrowser 的工作原理類似,但隻能用于更改 Windows 中的默認浏覽器。
背景介紹
微軟自 Windows 8 系統開始就引入了新的安全機制,爲了防止惡意軟件和惡意腳本篡改,将文件擴展名、URL 協議與默認程序關聯起來。
微軟的這一新機制,将文件擴展名或 URL 協議關聯,存儲在 UserChoice 注冊表鍵值下。
例如,分配給 HTTPS URL 協議的默認網絡浏覽器的路徑如下:
Windows Registry Editor Version 5.00 [ HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsShellAssociationsUrlAssociationshttpsUserChoice ] "ProgId"="ChromeHTML" "Hash"="N3eikAB1HhI="
如果未使用正确的哈希值,Windows 将忽略注冊表值,并使用該 URL 協議的默認程序,即 Microsoft Edge。
Kolbicz 逆向設計了這種 Hashing 算法,創建了 SetUserFTA 和 SetDefaultBrowser 程序來更改默認程序。
2 月新調整
不過 Windows 10 和 Windows 11 系統安裝 2 月更新之後,Kolbicz 注意到這些注冊表鍵值現在已被鎖定,在 Windows 設置之外修改時會出現錯誤。
例如,使用 Windows 注冊表編輯器修改這些設置時會出現錯誤,提示 " 無法編輯哈希值:錯誤寫入值的新内容 "。
經過進一步研究,Kolbicz 發現微軟在二月份的更新中引入了一個新的 Windows 過濾驅動程序(c:windowssystem32driversUCPD.sys)。
該驅動程序被稱爲 " 用戶選擇保護驅動程序 ",加載後可防止直接編輯與 HTTP 和 HTTPS URL 關聯以及 .PDF 文件關聯相關的注冊表鍵值。
相關的注冊表鍵值是:
HKCUSoftwareMicrosoftWindowsShellAssociationsUrlAssociationshttpUserChoice HKCUSoftwareMicrosoftWindowsShellAssociationsUrlAssociationshttpsUserChoice HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExtspdfUserChoice
臨時修改方案
Kolbicz 在一篇博文中解釋說,雖然不能卸載驅動程序,但可以在注冊表中禁用它。
該驅動程序固然無法卸載,但可以禁用!
在以管理員權限打開的 PowerShell 窗口下,輸入以下命令,然後重啓生效:
New-ItemProperty -Path "HKLMSYSTEMCurrentControlSetServicesUCPD" -Name "Start" -Value 4 -PropertyType DWORD -Force
這就恢複了 SetUserFTA 的功能,但遺憾的是需要管理權限和重啓。
Gunnar Haslinger 在一篇博文中解釋說,在 MicrosoftWindowsAppxDeploymentClient 下新創建的 "UCPD velocity" 計劃任務會在服務禁用時自動重新啓用。
因此,禁用驅動程序的唯一方法是通過注冊表關閉它,并删除 / 禁用計劃任務。
參考