Bleeping Computerは4月7日(米国時間)、「New Windows driver blocks software from changing default web browser」において、新しいWindowsドライバ「UCPD.sys」によりサードパーティーのソフトウェアによるHTTP、HTTPS、.PDFのデフォルトアプリケーション設定の変更がブロックされると伝えた。このドライバは2月の更新プログラムKB5034763(Windows 10)またはKB5034765(Windows 11)によってインストールされるという。
「UCPD.sys」でブロックされると何が起こるのか?
このドライバによるブロック機能は、ITコンサルタントのChristoph Kolbicz氏によって発見された。同氏は「SetUserFTA」および「SetDefaultBrowser」と呼ばれるツールを開発しており、これらツールはデフォルトブラウザの設定を変更できる。
Christoph Kolbicz氏が4月3日(現地時間)に公開したブログ「UserChoice Protection Driver – UCPD.sys – the kolbicz blog」によると、2月以降、同ツールを使用するユーザーからデフォルトブラウザを変更できないとの報告を受けたという。報告を受けて動作を確認したところ、レジストリへの書き込みがエラーで失敗することが判明。しかしながら、Windowsの設定からは問題なく変更できるため、さらなる調査を続行している。
同氏はさまざまな調査の結果、「UserChoice Protection Driver」と呼ばれる「UCPD.sys」が原因であることを突き止めた。そして、このドライバをリバースエンジニアリングし、プロセスのブラックリストとMicrosoftの署名付きバイナリのホワイトリスト、保護対象のレジストリキーの一覧がドライバに含まれていることを確認している。
「UCPD.sys」によるブロックの影響と対策
このドライバはブラックリストに含まれるコマンドおよびアプリからのレジストリキーの変更をブロックし、さらにホワイトリストに含まれないアプリからの変更もブロックするとみられる。そのため、Microsoftによって署名された特定のアプリ以外からはHTTP、HTTPS、.PDFのデフォルトアプリケーションを変更することはできない。
この問題を回避するため、Christoph Kolbicz氏はドライバを無効にする方法を提示している(この作業によって生じる責任は、コマンドを実行する者が負う点に注意が必要)。ドライバを無効にする方法は次のとおり。
- 管理者権限のPowerShellを起動する
- コマンド「New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\UCPD" -Name "Start" -Value 4 -PropertyType DWORD -Force」を実行する
- システムを再起動する
上記の作業により一時的にUCPD.sysを無効にすることで、サードパーティーのソフトによる設定が可能となる。しかしながら、この設定はタスクスケジュールされた「UCPD velocity」によって自動修復され、UCPD.sysが読み込まれるという。そこで、このタスクスケジュールを無効にする方法も次のように提示されている。
- 管理者権限のPowerShellを起動する
- コマンド「Disable-ScheduledTask -TaskName '\Microsoft\Windows\AppxDeploymentClient\UCPD velocity'」を実行する
上記2つの作業により、UCPD.sysによる影響を止めることができる。なお、BleepingComputerは、UCPD.sysについて「Windowsの設定以外の方法で競合する(他社の)ブラウザがデフォルトブラウザとして設定されるのをブロックするために導入したと推測する人もいる。一方、マルウェアが自身をデフォルトブラウザにするのを防ぐためにセキュリティ機能として追加したという意見もある」と述べ、現時点ではMicrosoftがこのドライバを導入した真意はわからないと結論付けている。