PoC Exploit Release for Windows Kernel-Mode Driver Elevation of Privilege Flaw (CVE-2024-35250)
2024/10/14 SecurityOnline — Windows の SYSTEM 特権の獲得を攻撃者に許すとされる、深刻な脆弱性 CVE-2024-35250が、 DEVCORE Research Team のセキュリティ研究者 Angelboy (@scwuaptx) の詳細な分析により明らかにされた。この脆弱性は、Pwn2Own Vancouver 2024 で実際に取り上げられ、その深刻度から広く注目を集めている。

この脆弱性 CVE-2024-35250 (CVSS:7.8) は、カーネル・ストリーミング (ks.sys) における IOCTL_KS_PROPERTY リクエストの操作により、特権の昇格を許してしまうものだ。Microsoft の説明は、「この脆弱性の悪用に成功した攻撃者は、SYSTEM 特権を獲得する可能性を手にする」というものだ。つまり、影響を受けるシステムに対する、完全な制御が可能になり得る。
この脆弱性は、ks.sys ドライバ内の、プロパティ・リクエスト処理に存在する。具体的に言うと、KSPROPERTY_TYPE_UNSERIALIZESET フラグが提供された場合に、一連の操作が開始され、最終的には任意の IOCTL コールにつながるものである。このプロセスにおいては、ユーザーが提供したバッファが適切に検証されることなく、新たに割り当てられた領域へとコピーされ実行されてしまう。Angelboy は、「任意の IOCTL_KS_PROPERTY 操作を実行するプリミティブを作成した」と述べている。それにより示唆されるのは、この脆弱性が、特権昇格攻撃の格好の標的となることだ。
このプリミティブによる、任意のコールが達成されると、脆弱性 CVE-2024-35250 の悪用が容易な作業となる。攻撃者は、正当な機能を悪用して任意の書き込みを達成し、その書き込みを利用してプロセス・トークンを置き換えることで、SYSTEM レベルの特権の付与を可能とする。Angelboy は、「この検証の目的は単純明快である。正当な機能を悪用して、任意の書き込みプリミティブを作成し、典型的な方法で EoP (Elevation of Privilege) を達成するために、それを利用する。たとえば、カレントのプロセス・トークンのシステム・トークンへの置き換えや、トークンの特権を悪用などが可能になる」と指摘している。
しかし、CVE-2024-35250 を悪用するには条件がある。具体的に言うと、kCFG (Kernel Control Flow Guard)/ASLR (Address Space Layout Randomization)/SMEP (Supervisor Mode Execution Prevention) などの、いくつかのセキュリティ対策を回避する必要が生じる。Angelboy は、「kCFG/kASLR/SMEP などの保護機能が存在するが、Medium IL で対処する必要がある保護機能は、kCFG のみである」と説明している。
DEVCORE チームは広範な調査を行い、これらの保護を回避する現実的な選択肢として、RtlSetAllBits 関数を特定した。この関数は、Windows カーネルの標準機能の一部であり、攻撃者がビットマップ構造を操作し、特権昇格につなげる書き込みプリミティブの作成を可能にする。
このエクスプロイトのテストは、管理された環境で正常に実行された。しかし研究者たちは、Hyper-V 上の Windows 11 23H2 仮想マシン (VM) 上で、エクスプロイトを実行しようとした際に困難に直面した。Angelboy は、「結果は失敗だった。デバイスのオープン段階で失敗した」と振り返る。この問題は、KSPROPSETID_DrmAudioStream プロパティを介した脆弱性のトリガーに必要なオーディオ・デバイスが、Hyper-V にはデフォルトで含まれていないという状況から生じている。

Angelboy の分析に基づき、セキュリティ研究者の Varwara は、CVE-2024-35250 の PoC エクスプロイト・コード を公開した。
Microsoft は、2024年6月の Patch Tuesday の一環として、この脆弱性の悪用を防ぐパッチを提供している。
ユーザー組織に対して強く推奨されるのは、Windows システムを更新し、脆弱性 CVE-2024-35250 に関連するリスクを軽減することだ。さらに、最小権限の原則の徹底/ソフトウェアの最新状態の維持/システムの異常な動作の監視などのベスト・プラクティスを導入することで、このような脆弱性への耐性を高める必要がある。
説明してもらっても、なかなか理解が追いつかない、難しい話です。とは言え、PoC が成立するだけの、現実的な攻撃が起こり得るわけです。文中にあるように、2024年6月の Patch Tuesday で修正されている脆弱性ですので、パッチが適用されていることを、いま一度 ご確認ください。よろしければ、Windows Kernel で検索も、ご参照ください。
You must be logged in to post a comment.