This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Windowsカーネルの0-day脆弱性の解剖学:Web3資産のセキュリティが脅かされている
マイクロソフトWindowsシステム0day脆弱性の分析と利用
最近、マイクロソフトのセキュリティパッチで、ハッカーに悪用されていたWindowsカーネルの権限昇格の脆弱性が修正されました。この脆弱性は主に初期のWindowsシステムバージョンに存在し、Windows 11にはありません。本記事では、現在のセキュリティ対策が不断に改善されている背景の中で、攻撃者がどのようにこの脆弱性を引き続き利用しているのかを分析します。
! Numen独占:Microsoft 0-day Vulnerability Can Knock Out Web3 Cards at the System + Physical Level
脆弱性の背景
これはWindowsシステムレベルの0day脆弱性であり、攻撃者はこの脆弱性を利用してWindowsの完全な制御を取得できます。制御された後の危害には、個人情報の漏洩、システムのクラッシュ、データの損失、財務的損失、マルウェアの植え付けなどが含まれます。Web3ユーザーにとっては、秘密鍵が盗まれる可能性があり、デジタル資産が移転されるリスクがあります。より広い範囲で見ると、この脆弱性はWeb2インフラストラクチャに基づいて運営されているWeb3エコシステムに影響を与える可能性があります。
! Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3ゲームをダウンさせる可能性があります
パッチ分析
パッチコードを分析したところ、これはオブジェクトの参照カウントが多く処理された問題のようです。以前のソースコードのコメントから、以前のコードはウィンドウオブジェクトだけをロックし、ウィンドウオブジェクト内のメニューオブジェクトをロックしていなかったことがわかります。これがメニューオブジェクトの誤った参照を引き起こす可能性があります。
! Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3カードをノックアウトすることができます
脆弱性の再発
私たちは脆弱性を引き起こすために特別な4層メニュー構造を構築しました。これらのメニューは、関連する関数の検出を通過するためにいくつかの特定の条件を満たす必要があります。最終的にユーザー層に戻る際に、メニュー間の参照関係を削除することで、ターゲットメニューオブジェクトを解放し、その後のオブジェクトへの参照を無効にします。
! Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3ゲームをダウンさせる可能性があります
エクスプロイト
この脆弱性を利用する主な考え方は、原語を読み書きすることでトークンアドレスを変更することです。全体の利用プロセスは二つの重要なステップに分かれます: 一つはUAF脆弱性を利用してcbwndextraの値を制御する方法、もう一つは制御されたcbwndextraの値に基づいて安定した原語を構築する方法です。
私たちは、精巧に設計されたメモリレイアウトを通じて、ウィンドウオブジェクトとHWNDClassオブジェクトの関係を利用し、初めてのデータ書き込みを成功させました。その後、3つのHWNDオブジェクトを連続して割り当て、中間の1つを解放することで、必要なメモリ構造を構築しました。
! Numen独占:Microsoftの0日の脆弱性は、システム+物理レベルでWeb3カードをノックアウトすることができます
読書原語に関しては、GetMenuBarInfo()を使用して任意の読み取りを実現し、SetClassLongPtr()を使用して任意の書き込みを実現します。TOKENの置換操作を除いて、他の書き込みは最初のウィンドウオブジェクトのクラスオブジェクトをオフセットを介して利用して完了します。
! Numen独占:Microsoft 0-day Vulnerability Can Knock Web3 Cards at the System + Physical Level
まとめ
マイクロソフトはRustを使用してwin32k関連のコードを再構築しようとしており、将来的にはこのような脆弱性が新しいシステムで排除される可能性があります。
この脆弱性の利用プロセスは比較的簡単ですが、主な難点は最初の書き込みをどのように制御するかです。
脆弱性の発見は、より完全なコードカバレッジ検出に依存する可能性があります。
脆弱性検出に関しては、重要な関数ポイントに注目するだけでなく、異常なメモリレイアウトやデータの読み書きに対しても特定の検出を行うべきです。
! Numen独占:Microsoftの0日間の脆弱性は、システム+物理レベルでWeb3カードをノックすることができます
! Numen独占:Microsoft 0-day Vulnerability Can Knock Web3 Cards on the System + Physical Level