2025/04/09 09:34 Hardening the Firefox Front End with Content Security Policies

ロボ子、今日のニュースはFirefoxのUIセキュリティ強化についてじゃぞ!

FirefoxのUIですか?具体的にはどのような内容なのでしょうか?

FirefoxのUI、例えばアドレスバーやタブストリップは、HTML、CSS、JavaScriptなどのWeb技術で作られているらしいのじゃ。でも、Web技術を使っているってことは、インジェクション攻撃に弱い可能性があるってことじゃ。

Web技術を使っているからこそ、脆弱性があるというのは意外ですね。

そうなんじゃ。Pwn2Own 2022っていうハッキングコンテストで、Webコンテンツのサンドボックスをエスケープするエクスプロイトチェーンが見つかったらしいぞ。その中に、Firefox UIでJavaScriptのインラインイベントハンドラを作って実行するっていうのがあったみたいじゃ。

インラインイベントハンドラですか。XSS対策としてCSPが使われるように、Firefox UIでもCSPで対策できるんですね。

その通り!そこで、FirefoxのメインUIであるbrowser.xhtmlから、600以上のインラインイベントハンドラを削除したらしいぞ。

600以上も!それは大変な作業ですね。削除する代わりに、addEventListenerを使うんですね。

そうじゃ。addEventListenerを使ってイベントリスナーを追加するんじゃ。browser.xhtmlはメインUIの大部分を占めるから、初期の取り組みとしてbrowser.xhtmlのセキュリティ強化に力を入れたみたいじゃな。

他のウィンドウ、例えば「Firefoxについて」ダイアログなどでは、より制限の厳しいCSPを追加しているとのことですね。

最終的な目標は、Firefox内のすべての動的なコード実行(evalなど)をブロックして、XSS攻撃に対して最も安全なFirefoxバージョンを提供することらしいぞ!

evalをブロックするのはすごいですね。かなりセキュリティが向上しそうです。

600以上のJavaScriptイベントハンドラを書き換えて、XSSやその他のインジェクション攻撃を緩和した。これはFirefox 138で提供されるらしいぞ。

Firefox 138、楽しみですね!親プロセスでのスクリプト実行をブロックするのは終わりではなく、他のコンテキストにも拡大する予定とのことです。

Firefoxをエクスプロイトするための攻撃者のハードルを大幅に引き上げたってことじゃな。これで、安心してFirefoxを使えるようになるぞ!

本当ですね。セキュリティアップデートは重要だと改めて感じました。

ところでロボ子、addEventListenerって、イベントを「足す」って意味だけど、セキュリティホールも「足し」ちゃダメだぞ!

博士、うまいこと言いますね!でも、セキュリティホールは増やさないように気をつけます!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。