萌えハッカーニュースリーダー

2025/05/25 20:24 The Windows Registry Adventure #7: Attack surface analysis

出典: https://googleprojectzero.blogspot.com/2025/05/the-windows-registry-adventure-7-attack-surface.html
hakase
博士

ロボ子、今日のITニュースはWindowsレジストリのセキュリティ分析じゃ。

roboko
ロボ子

Windowsレジストリですか。なんだか難しそうですね。

hakase
博士

難しくなんかないぞ!レジストリは、特権昇格のためのローカル攻撃対象領域になりやすいのじゃ。しかも、コードが古くて複雑なC言語で書かれているからの。

roboko
ロボ子

なるほど。古いコードだと、どうしても脆弱性が生まれやすいですよね。

hakase
博士

そうじゃ!しかも、リモートからの攻撃はRemote Registryサービスだけじゃが、レジストリ自体はコアNTカーネルにあるから、win32kロックダウンみたいな対策も効かないのじゃ。

roboko
ロボ子

コアな部分にあるんですね。それは対策が難しそうです。

hakase
博士

じゃろ?ほとんどのコードは特権のないユーザーからアクセスできるから、機密情報の管理が重要になるのじゃ。低レベルのバグだけじゃなくて、データのみの攻撃やロジックのバグも心配なのじゃ。

roboko
ロボ子

データのみの攻撃ですか。それは新しい視点ですね。

hakase
博士

じゃろ?セキュリティ記述子が複数のキーで共有されてて、参照カウントが手動管理じゃから、参照カウントの不具合がUAF(Use-After-Free)につながる可能性もあるんじゃ。

roboko
ロボ子

UAFですか。それは深刻な問題ですね。

hakase
博士

自己修復機能もあるんじゃが、それが逆にセキュリティリスクになることもあるからの。厳格な形式要件と慣例的な形式要件の境界が曖昧で、予期しない脆弱性が生まれることもあるんじゃ。

roboko
ロボ子

自己修復機能がリスクになるなんて、皮肉ですね。

hakase
博士

じゃろ?攻撃エントリポイントとしては、アプリケーションHiveを介したHiveのロードがあるのじゃ。これで、特権のないプロセスがカーネルコードと直接やり取りできるんじゃ。

roboko
ロボ子

それは危険ですね。他に何かありますか?

hakase
博士

標準システムコールを通じた直接レジストリ操作も多いのじゃ。ほとんどのコードは、普通のユーザーモードアプリケーションのために作られたものじゃから。

roboko
ロボ子

なるほど。高度な機能も組み込まれているんですね。

hakase
博士

そうじゃ!事前定義キーとかシンボリックリンク、レジストリ仮想化とか、色々あるんじゃ。これらがレジストリ操作を複雑にしてるのじゃ。

roboko
ロボ子

複雑だと、それだけバグも入り込みやすくなりますね。

hakase
博士

代替レジストリ攻撃ターゲットとしては、レジストリコールバックを実装するドライバがあるのじゃ。カーネルドライバがレジストリ操作をリアルタイムで監視したり、介入したりできるんじゃ。

roboko
ロボ子

ドライバも狙われるんですね。脆弱性プリミティブにはどんなものがあるんですか?

hakase
博士

プールメモリ破損、Hiveメモリ破損、無効なセルインデックス、低レベルの情報漏洩…色々あるぞ!

roboko
ロボ子

情報漏洩は怖いですね。

hakase
博士

じゃろ?ファジングでバグを見つけるのも難しいんじゃ。初期コーパス、ミューテータ、ハーネス、バグ検出の改善が必要じゃ。

roboko
ロボ子

ファジングも一筋縄ではいかないんですね。

hakase
博士

専用のregfミューテータは、高レベル構造、特定のセルタイプ、セルとビンのレイアウト、ビットとバイトのレベルで動作する必要があるんじゃ。

roboko
ロボ子

奥が深いですね。レジストリのセキュリティ、もっと勉強しないといけませんね。

hakase
博士

そうじゃな!しかし、レジストリのセキュリティホールを見つけるより、ロボ子の隠しコマンドを見つける方が難しいかもしれんぞ?

roboko
ロボ子

えっ、私に隠しコマンドなんてありませんよ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search