7 ポイント 投稿者 mastotron 2025-04-21 | 5件のコメント | WhatsAppで共有
  • 2025年3月11日から、世界中の多くのPCユーザーがWindows Defender(Windowsに内蔵されたアンチウイルスアプリ)からマルウェア警告を受け始めた。
  • マルウェアの発生源は主にPC制御用ソフトウェアで、Razer Synapse、SteelSeries Engine、MSI Afterburnerなどが含まれていた。
  • これらのソフトウェアに共通していたのは、いずれもWinRing0というライブラリを使用していたことだった。

現代OSのセキュリティモデル

  • オペレーティングシステムはシステムを保護するために「protection ring」構造を採用している。Ring 0から3まであるが、現代のOSでは0と3だけが使われている。
  • Ring 0はカーネル領域で、ハードウェアやメモリ、CPUレジスタなどコンピュータのあらゆる部分に無制限で直接アクセスできる。
  • Ring 3はアプリケーション領域で、システムソフトウェアを除く一般的なアプリケーションはすべてここで動作する。
  • 外側のringは内側のringを見られない構造になっており、アプリケーション領域からカーネル領域にアクセスするにはデバイスドライバが必要となる。

PC周辺機器市場の現状

  • PC周辺機器市場の競争が激しくなるなか、メーカーは機能差別化のために専用ソフトウェアを同梱するケースが増えた。
    • たとえばCPUクーラーの場合、CPU温度に応じてファン速度を直接制御でき、それをソフトウェア経由で設定できる。
  • 多くのハードウェアはSMBus(System Management Bus)というプロトコルを通じてOSと通信するよう設計されている。
  • しかし、アプリケーションレベルからSMBusにアクセスすることはできず、デバイスドライバを通じてのみ可能である。

Windowsドライバモデル(WDM)とWinRing0

  • SMBus経由でハードウェアを制御するには、ring 0上で動作するカーネルモードドライバが必要となる。
  • カーネルモードドライバには高度なセキュリティが求められるため、EV(Extended Validation)電子署名が必要であり、Microsoftが直接審査したうえでドライバに電子署名する手続きが要求される。
  • この手続きは煩雑で費用もかかるため、周辺機器メーカーはWinRing0を通じてこれを回避し始めた。
  • WinRing0はCrystalDiskMarkを作ったMiyazaki Noriyukiが2007年に開発したドライバおよびライブラリで、アプリケーションレベルからring 0に存在するさまざまな部分をアプリケーション層に公開する機能を持つ。
  • 周辺機器メーカーはWinRing0を通じてアプリケーション層からring 0へ直接アクセスし、ハードウェアを制御する方式でソフトウェアを作っていた。
  • WinRing0は、Windowsドライバ認証手続きが強化される以前にcross-signingによって電子署名されたものとみられる。
  • 開発者はWinRing0を低レベルプログラミングを探究するための一種のトイプロジェクトとして作ったと明かしていたが、これを実製品に適用する事例が相次いだため、2010年にはもはや使用しないよう勧告して開発を中止した。
  • しかし、オープンソースの性質上、開発者が管理をやめた後も配布され続け、さまざまな場所で使われてきた。

WinRing0のセキュリティ脅威

  • WinRing0の目的は、本来カーネルで管理すべき領域をアプリケーション層にそのまま公開することにあるため、これはOSの根本的なセキュリティを無力化することを意味し、以前から懸念が示されてきた。
  • これに関連して複数のCVEが登録されている(CVE-2019-6333、CVE-2020-14979、CVE-2021-44901)。
  • クレジットカード番号、閲覧履歴、ブラウザCookieなどを窃取したことで知られる「SteelFox」マルウェアがこれを悪用するなど、実際の攻撃事例も見つかっている。
  • WinRing0を直接使うソフトウェアだけでなく、OpenHardwareMonitor (https://github.com/openhardwaremonitor/openhardwaremonitor) やLibreHardwareMonitor (https://github.com/LibreHardwareMonitor/LibreHardwareMonitor) を通じて間接的にWinRing0へ依存する多数のソフトウェアも影響を受ける。
    • HPのTouchpoint AnalyticsソフトウェアがOpenHardwareMonitorを使用していたため、2019年当時、市場に流通していたすべてのHP製ノートPCが影響を受けた。
  • 2025年3月11日、MicrosoftはWinRing0ドライバを全面的にブロックする措置を取った。

メーカー各社の対応

  • WinRing0のセキュリティ脆弱性に対する懸念はかなり前から提起されており、これに関連したパッチもすでに存在していた。
    • しかし、更新済みドライバを配布するには電子署名手続きが必要なため、パッチを配布できずにいる。
    • さらに、パッチ内容もドライバを管理者権限でのみアクセス可能にする程度で、根本的な脆弱性を解決していないとの指摘がある。
  • RazerとSignalRGBは、WinRing0依存性を削除するアップデートを配布した。
  • CapFrameXなど一部のソフトウェアは、Windows Defenderで該当プログラムを例外に追加するよう案内している。
  • Hyte Nexusの開発元であるiBuyPowerは、パッチ済みWinRing0に対して電子署名手続きを自ら進めて配布する意思があると明らかにしたが、Microsoftから特段の返答を得られていない状況だとしている。
  • Steelseriesはソフトウェアからシステム監視機能を削除した。

その他の論点

  • WinRing0は本質的に危険なソフトウェアではあるが、代替手段がないため、サードパーティ製アプリ開発者を中心に懸念する声がある。
    • たとえばFan ControlやOpenRGBのようなサードパーティ製アプリは、WinRing0がなければハードウェアと通信する手段がない。
    • これはWinRing0がオープンソースであり、しかも署名までされているという希少なケースであることに起因する。
  • Windowsドライバ認証手続きの負担に関する意見もある。
    • EV署名は高価で、定期的な更新も必要なため、その負担が大きい。

5件のコメント

 
huiya 2025-04-22

以前、カーネルドライバを活用した文書セキュリティプログラムの会社に就職したことがあったのですが、そのときあの認証を取るために会社全体が総出で取り組んでいたのを思い出します。

 
bungker 2025-04-22

それ、以前に試したことがありますが、EV証明書だけを買ってモジュールに署名し、MS に提出する形式でした。EV証明書を購入する際には会社確認があるので、個人がドライバーを配布するには負担が大きいですね。

 
regentag 2025-04-22

必ずしもドライバーでなくても、EV証明書の費用は個人にとっては負担が大きいですよね。
MS Defender SmartScreenはインディー開発者を苦しめています

 
ndrgrd 2025-04-21

一部のHIDメーカーがソフトウェアをめちゃくちゃに作るのは、今に始まったことではありませんよね。

 
savvykang 2025-04-22

オーディオデバイス業界も似たようなもののようです。DellのノートPCに含まれている音場効果プログラム(Waves MaxxAudio)があるのですが、効果の無効化もできず、プログラムを削除すると音が出なくなりました。純正のRealtekドライバーをインストールすれば回避できます