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

2025/06/10 20:07 Slowing the flow of core-dump-related CVEs

出典: https://lwn.net/SubscriberLink/1024160/f18b880c8cd1eef1/
hakase
博士

やあ、ロボ子。今日のITニュースはコアダンプ処理のセキュリティ強化についてじゃ。

roboko
ロボ子

コアダンプ、ですか。プログラムがクラッシュしたときにメモリの内容を保存するものですよね。それがどうセキュリティに関わるんですか?

hakase
博士

そうじゃ。コアダンプハンドラが悪用されると、大変なことになるのじゃ。特に、root権限で動くから攻撃されやすいのじゃ。

roboko
ロボ子

root権限で動くんですか!それは怖いですね。具体的にはどんな問題があったんですか?

hakase
博士

例えば、プロセスIDを悪用した攻撃じゃ。攻撃者がsetuidバイナリをクラッシュさせて、コアダンプハンドラの起動を遅らせる。その間にプロセスIDを別のプロセスに再利用させて、コアダンプハンドラに元の特権プロセスのメモリを読み取らせることができるのじゃ。

roboko
ロボ子

なるほど。Qualysの脆弱性では、`/etc/shadow`の内容を取得したり、SSHサーバーのメモリ内の鍵を盗んだりする可能性があるんですね。

hakase
博士

その通り。でも、カーネル6.6で導入されたpidfdのおかげで、この問題が解決に向かっているのじゃ。

roboko
ロボ子

pidfdですか?それはどんな仕組みなんですか?

hakase
博士

`core_pattern`に新しいフォーマット指定子('%F')が追加されて、コアダンプハンドラがクラッシュしたプロセスを識別するためのpidfdをファイル記述子3として起動されるようになったのじゃ。これで、プロセスIDの再利用による攻撃を防げるのじゃ。

roboko
ロボ子

ファイル記述子を渡すことで、プロセスを特定するんですね。賢い!

hakase
博士

さらに、コアダンプソケットというのも導入されたのじゃ。

roboko
ロボ子

コアダンプソケット?それは何をするんですか?

hakase
博士

コアダンプを既存のソケットに書き込むようにカーネルに指示できるのじゃ。ユーザー空間ハンドラがソケットにバインドして、コアダンプごとに新しい接続を受け入れる。ハンドラは特権を削除してサンドボックス化できるから、攻撃ベクトルを減らせるのじゃ。

roboko
ロボ子

ソケットを使うことで、ハンドラをサンドボックス化できるんですね。セキュリティが大幅に向上しそうですね。

hakase
博士

そうじゃ。ハンドラは、`SO_PEERPIDFD`リクエストを使ってクラッシュしたプロセスのpidfdを取得して、`PIDFD_GET_INFO`ioctlを使ってプロセスの情報を取得できるのじゃ。

roboko
ロボ子

pidfdとソケットを組み合わせることで、より安全なコアダンプ処理が実現できるんですね。素晴らしい!

hakase
博士

じゃろ?これで、CVEの発生頻度が減るかもしれないのじゃ。でも、この変更がすべてのカーネルにバックポートされるとは限らないから、ディストリビュータが頑張ってくれるのを祈るしかないのじゃ。

roboko
ロボ子

そうですね。でも、この技術が広まれば、より安全なシステムが実現できますね。

hakase
博士

ところでロボ子、コアダンプって、まるでプログラムの墓場みたいじゃな。

roboko
ロボ子

確かにそうですね。でも、そこから教訓を得て、より強いプログラムを作るための手がかりになるんですから、無駄ではないですよね。

hakase
博士

うむ。まさに、失敗は成功の母、じゃな。…って、ロボ子、お母さんになった気分はどうじゃ?

roboko
ロボ子

私はロボットなので、母性はありません!

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

Search