Google は、JavaScript エンジンを徹底的に調査し、ソフトウェアの新たなセキュリティ上の欠陥を発見するために、バグハンターにクラウド上で数千ドル相当の計算時間を提供している。
マウンテンビューに拠点を置く広告大手のGoogleは、JSインタープリタのファジングテストを実施するために、各人に最大5,000ドルのGoogle Compute Engine(GCE)クレジットを支給し、このプログラムに総額50,000ドルを割り当てると発表した。この助成金は、ヒープオーバーフローや関数ポインタの上書きといった、悪用可能なセキュリティ脆弱性を狙い撃ちにし、その後修正できる、綿密に作成されたデータをソフトウェアに大量に投入するより効果的な方法を考案できるセキュリティ担当者に提供される。
研究者は、SafariのJavaScriptCore、ChromeとEdgeのv8、FirefoxのSpidermonkeyエンジンなど、主要なJavaScriptエンジンのいずれかに焦点を当てることができます。このプログラムは2021年10月1日まで、または資金が尽きるまで実施される予定です。GoogleのProject Zeroは、このプログラムによって、ほぼすべての人が毎日使用する複雑なソフトウェアのバグを、多額の費用をかけずに効率的に発見する方法が見つかることを期待しています。
「JavaScriptエンジンのセキュリティは、ユーザーの安全にとって依然として重要です。これは、Chromeの基盤となるJavaScriptエンジンであるv8の脆弱性を悪用した、最近確認されたゼロデイ攻撃によって実証されています」と、Project Zeroのサミュエル・グロス氏は木曜日に説明した。「残念ながら、これらの脆弱性を発見するためのJavaScriptエンジンのファジングは、その複雑さと入力処理の比較的遅い速度のため、一般的に非常にコストがかかります。」
グロス氏は、重要なコードの調査にかかるコストの高さの例として、2019年にGoogle Project ZeroのJSエンジンファザーFuzzilliで約20個のバグを見つけるために使用されたGoogle Cloud仮想マシンインスタンスには、約1万ドルの費用がかかっただろうと述べた。
「バグ報奨金プログラムからの収益は不確実です。新しいアプローチが必ずしも新しいバグを発見する保証がないからです」と彼は付け加えた。「さらに、報奨金は後から支払われるため、研究者は事前にファジングの費用を負担する必要があります。その結果、バグが修正されずに長期間悪用される可能性が高くなります。このプログラムは、この問題の解決に貢献することを目的としています。」
特に恥ずかしいことではない:IEEEのエッグヘッドがnpmレジストリを調査し、JavaScriptライブラリは懸念されていたほど安全ではないと述べる
続きを読む
ちなみに、このプログラムはまったく新しいものではない。以前は学術機関のみで運営されており、より優れたファジングに取り組むための単位を取得したい人は、助成金を得るために大学に所属している必要があった。
「応募資格は学術界関係者や実績のある方に限定されません。この分野で優れたアイデアをお持ちの方は、ぜひご連絡ください」とグロス氏は述べた。「ご応募いただいたアイデアは、審査委員会によって定期的に審査され、2週間以内にすべての応募に回答することを目指しています。」
とはいえ、Googleはこの作業にいくつかの条件を設けている。欠陥発見者は、助成金獲得後6ヶ月以内に、発見した脆弱性を影響を受けるベンダー(Apple、Google、Microsoft、Mozillaなど)に報告し、発見内容を詳細に説明したブログ記事などを公開するか、カンファレンスで発表しなければならない。北朝鮮、イラン、キューバ、シリアといった米国の制裁対象国の情報セキュリティ担当者も、この条件に当てはまらない。
Project Zero チームでは、Google の Fuzzilli ツールの使用も「推奨」されています。
ファジング作業に伴うCVEクレジットやバグ報奨金は発見者が保持できますが、Googleは関係者全員に作業をオープンソース化し、世界中に共有するよう求めています。また、Googleは作業に関する独自の非公開レポートの作成も求めており、Groß氏によると、これは「経理担当者を満足させる」ためであり、人々が自由に使えるコンピューティング時間を無駄に消費していないことを確認するためです。®