パスワードを忘れた? アカウント作成
13726646 submission
Firefox

非常に長い名前のBlobでFirefoxをクラッシュさせる攻撃

タレコミ by headless
headless 曰く、
CSSを使用してSafariをDoS攻撃する実証コードが先日話題になったが、作者のSabri Haddouche氏(pwnsdx)氏が今度はJavaScriptを使用してFirefoxをDoS攻撃する実証コードを公開している(Bleeping Computerの記事BetaNewsの記事Neowinの記事)。

この攻撃は非常に長い名前のBlobを生成して繰り返しダウンロードさせることでFirefoxがクラッシュするというもの。条件によってはOSがクラッシュすることもあるという。実証コードはGitHubで公開されているほか、Webサイト「Browser Reaper」で実際に動作を試すことも可能だ。Windows 10上のFirefox 62で試してみたところ、メモリ使用率が大きく増加していき、Windows自体の操作も困難になった。長い時間はかかったものの何とかPCをスリープさせることができ、復帰後にFirefoxのみクラッシュしたが、放置すればWindowsごとクラッシュするかもしれない。なお、Bleeping Computerの記事ではモバイル版のFirefoxには影響しないとしているが、Android版Firefoxで実行して放置するとアプリがクラッシュした。

この攻撃は以前話題になったGoogle Chromeに対する攻撃と似ている。ChromeのデフォルトではWebサイトによる複数ファイルの連続ダウンロードにユーザーの許可が必要になるため、許可を求めるダイアログで「ブロック」をクリックすれば攻撃を回避できる。ただし、Chrome 69ではダイアログが出たまま放置するとフリーズした。Windowsの応答も遅くなったが、タスクマネージャーでChromeを終了させることは可能だった。Microsoft Edgeの場合はダウンロード確認の通知が表示され、一時的にメモリ使用率が増加するものの、しばらくするとページがリロードされて元の状態に戻った。

MozillaのBugzillaでは複数ファイルの自動連続ダウンロードに対する保護の必要性が2年前から議論されている。ただし、今回の実証コードに対するバグリポート(報告者はおそらくHaddouche氏)は複数ファイルのダウンロードではなく、Blob URLの扱いに関するバグ1438214に統合された。バグ1438214は2月から議論されているが、こちらも現在のところ有効な解決策は出ていないようだ。

Browser ReaperではSafariに対するDoS攻撃の実証コード(Reap Safari)と今回の実証コード(Reap Firefox)に加え、Chromeに対するDoS攻撃の実証コード(Reap Chrome)を試すこともできる。こちらは履歴のナビゲーションをループさせる攻撃だ。Chromeでは実行後しばらくするとタブがクラッシュし、Edgeではページがリロードされた。一方、Firefox上ではReap Firefoxの実行時と同様の状態になってしまった。
この議論は、 ログインユーザだけとして作成されたが、今となっては 新たにコメントを付けることはできません。
typodupeerror

吾輩はリファレンスである。名前はまだ無い -- perlの中の人

読み込み中...