Windowsに「デフォルトのブラウザをMicrosoft Edgeから変更できないようにするドライバー」が配信されていたことが判明
Microsoftは、Google Chromeのダウンロードを中止するように促すメッセージを出したり、チャットAI「りんな」を動員したりと、Microsoft Edge以外のブラウザを使おうとするユーザーをなりふり構わず引き留めることで知られています。そんなMicrosoftが、Windows 10とWindows 11のデフォルトブラウザの設定を変更できないようにするドライバーを、2024年2月のWindows更新プログラムで導入していたことが発覚しました。
https://kolbi.cz/blog/2024/04/03/userchoice-protection-driver-ucpd-sys/
Windows UserChoice Protection Driver UCPD / UCPD.sys / UCPDMgr.exe - Gunnar Haslinger
https://hitco.at/blog/windows-userchoice-protection-driver-ucpd/
New Windows driver blocks software from changing default web browser
https://www.bleepingcomputer.com/news/microsoft/new-windows-driver-blocks-software-from-changing-default-web-browser/
ITコンサルタントのChristoph Kolbicz氏は2024年2月に、既定のブラウザを含むWindowsの設定を変更するために作成したプログラムの「SetUserFTA」と「SetDefaultBrowser」のユーザーから、「最新のWindows10の更新を適用したら関連付けの変更ができなくなった」との問い合わせが相次いでいることをSNSで報告しました。
I got multiple reports that #SetUserFTA and #SetDefaultBrowser http/s associations stopped working after the newest Windows 10 updates. Cannot reproduce it myself yet, but i know what causes the issue. I always expected Microsoft to do that move. Im working on it - stay tuned.— Christoph Kolbicz (@_kolbicz) February 23, 2024
この問題の調査を開始したKolbicz氏は、2024年2月の更新プログラムに含まれているKB5034763(Windows 10)とKB5034765(Windows 11)で導入された「UserChoice Protection Driver(UCPD.sys)」が原因であることを突き止めました。
「UserChoice」は、マルウェアや悪意のあるスクリプトによる改ざんを防ぐためにWindows 8から導入された新しいシステムのものです。
この新システムでは、特定の拡張子やURLプロトコルを「UserChoice」というレジストリキーの下に格納されたハッシュに関連付けており、このハッシュが適正でない場合は、使用するブラウザを変更してもそのレジストリ値が無視されてEdgeで開かれるようになります。
例えば「https」をGoogle Chromeで開くように設定している場合、レジストリは以下のようになります。
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice]
"ProgId"="ChromeHTML"
"Hash"="N3eikAB1HhI="
Kolbicz氏はこのアルゴリズムをリバースエンジニアリングしてSetUserFTAとSetDefaultBrowserを開発しました。しかし、2月のアップデートで導入されたUserChoice Protection Driverによりこれらのレジストリキーがロックされたため、ソフトウェア経由での変更などWindowsの設定以外から既定のブラウザを変更しようとするとエラーが出るようになりました。
Kolbicz氏によると、問題のドライバーによりレジストリキーの変更ができなくなっても、ドライバー自体を無効にすることは可能とのこと。無効化するには、管理者権限で起動されたPowerShellで以下のコマンドレットを使用し、Windowsを再起動させます。
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\UCPD" -Name "Start" -Value 4 -PropertyType DWORD -Force
ただし、せっかく無効化してもWindowsに作成された「UCPD Velocity」というタスクで自動的にドライバーが復活します。そのため、タスクスケジューラーでこのタスクを削除もしくは無効してはじめて変更が有効になることが、IT研究者のGunnar Haslinger氏によって報告されました。
Kolbicz氏は、このドライバーはEUで施行されたデジタル市場法(DMA)を順守するためのものではないかと考えています。
DMAでは、Microsoftを含む大手IT企業6社が「ゲートキーパー」に指定され、反競争的な行為を防止するためのさまざまな規制が課せられました。
これに対応するため、Microsoftは2023年11月に「欧州経済領域では、httpとhttpsを含むリンク形式およびファイル形式で、常にお客様が構成したアプリのデフォルト設定が使用されます」と発表していました。
しかし、問題のドライバーはDMAが適用されないアメリカのユーザーのデバイスにも導入されているため、この推測には疑問が投げかけられており、「セキュリティ強化のためか、もしくは単にEdgeと競合するブラウザをブロックするためではないか」との見方もあると、IT系ニュースサイト・BleepingComputerは指摘しています。