Google Chromeバージョン123からV8サンドボックス有効化、報奨の対象に
マイナビニュース2024年4月10日(水)12時40分
The Hacker Newsは4月8日(現地時間)、「Google Chrome Adds V8 Sandbox - A New Defense Against Browser Attacks」において、Google ChromeにV8サンドボックスが追加されたと伝えた。V8サンドボックスの導入により信頼できないJavaScriptコードが分離され、メモリ破損がホストプロセス内に広がることを防止できる。
○V8サンドボックス導入の経緯
今回Google Chromeに導入されたV8サンドボックスは「The V8 Sandbox · V8」で詳しく解説されている。V8はGoogleが開発するオープンソースのJIT Virtual MachineのJavaScriptエンジンで、V8サンドボックスはV8用のインプロセスサンドボックスとされる。
解説によると、2021年から2023年に発見されたすべてのChromeのエクスプロイトは、リモートコード実行(RCE: Remote Code Execution)のために悪用されたレンダラープロセスのメモリ破損の脆弱性から始まっており、その60%はV8の脆弱性だったという。これら脆弱性は古典的なメモリ破壊のバグ(解放後使用、範囲外アクセスなど)ではなく、微妙なロジックの問題のため、既存のメモリ安全ソリューション(Rustの使用やメモリのタグ付けなど)では対処できないとしている。
ただ、これら脆弱性のほぼすべてには共通点が存在するという。それは、コンパイラーとランタイムがV8 HeapObjectインスタンスに対して排他的に動作するため、メモリ破壊はV8ヒープ内で発生するという点。開発者はこの共通点に着目し、問題発生時に影響を軽減する方法としてV8サンドボックスを導入した。
○V8サンドボックス
V8サンドボックスはオペレーティングシステムにおけるカーネル空間とユーザー空間のメモリー分離と同じ概念とされる。動作としては実行されるコードをプロセスの仮想アドレス空間のサブセットに制限し、プロセスの残りの空間へのアクセスをブロックする。具体的には生のポインターをサンドボックスのベース位置からのオフセットに変換、またはサンドボックス外のポインタテーブルのインデックスに変換することで実現する。
V8サンドボックスは将来的にハードウェアサポートを利用して実装可能だが、現在は必要なハードウェア実装がないためソフトウェアで実装しているという。しかしながら、実装コストは低いとしており、パフォーマンスへの影響は一般的なワークロードにおいて約1%以下としている。なお、V8サンドボックスを利用するには1テラバイトの仮想アドレス空間が必要なため、64ビットシステムが必須条件となる。
V8サンドボックスはGoogle Chrome バージョン123からデフォルトで有効化される。また、Chromeの脆弱性報奨プログラム(VRP: Vulnerability Reward Program)の対象にも追加される(参考:「Chrome Vulnerability Reward Program Rules - Rules - About - Google Bug Hunters」)。
○V8サンドボックス導入の経緯
今回Google Chromeに導入されたV8サンドボックスは「The V8 Sandbox · V8」で詳しく解説されている。V8はGoogleが開発するオープンソースのJIT Virtual MachineのJavaScriptエンジンで、V8サンドボックスはV8用のインプロセスサンドボックスとされる。
解説によると、2021年から2023年に発見されたすべてのChromeのエクスプロイトは、リモートコード実行(RCE: Remote Code Execution)のために悪用されたレンダラープロセスのメモリ破損の脆弱性から始まっており、その60%はV8の脆弱性だったという。これら脆弱性は古典的なメモリ破壊のバグ(解放後使用、範囲外アクセスなど)ではなく、微妙なロジックの問題のため、既存のメモリ安全ソリューション(Rustの使用やメモリのタグ付けなど)では対処できないとしている。
ただ、これら脆弱性のほぼすべてには共通点が存在するという。それは、コンパイラーとランタイムがV8 HeapObjectインスタンスに対して排他的に動作するため、メモリ破壊はV8ヒープ内で発生するという点。開発者はこの共通点に着目し、問題発生時に影響を軽減する方法としてV8サンドボックスを導入した。
○V8サンドボックス
V8サンドボックスはオペレーティングシステムにおけるカーネル空間とユーザー空間のメモリー分離と同じ概念とされる。動作としては実行されるコードをプロセスの仮想アドレス空間のサブセットに制限し、プロセスの残りの空間へのアクセスをブロックする。具体的には生のポインターをサンドボックスのベース位置からのオフセットに変換、またはサンドボックス外のポインタテーブルのインデックスに変換することで実現する。
V8サンドボックスは将来的にハードウェアサポートを利用して実装可能だが、現在は必要なハードウェア実装がないためソフトウェアで実装しているという。しかしながら、実装コストは低いとしており、パフォーマンスへの影響は一般的なワークロードにおいて約1%以下としている。なお、V8サンドボックスを利用するには1テラバイトの仮想アドレス空間が必要なため、64ビットシステムが必須条件となる。
V8サンドボックスはGoogle Chrome バージョン123からデフォルトで有効化される。また、Chromeの脆弱性報奨プログラム(VRP: Vulnerability Reward Program)の対象にも追加される(参考:「Chrome Vulnerability Reward Program Rules - Rules - About - Google Bug Hunters」)。
「破損」をもっと詳しく
「破損」のニュース
-
子どもが大花瓶を破損、博物館の「あまりにも寛大な措置」に疑問の声も—中国メディア5月5日15時0分
-
52歳の男、自宅の電気メーター損壊疑い「電気止められ腹が立って」 西宮4月30日18時54分
-
元銀行員が語る!お札を破損した場合の対処方法4月28日21時20分
-
【検証済】壊れたMP4動画ファイルを修復する方法 EaseUS Fixo 1.5.5がリリース!4月18日15時30分
-
Google Chromeバージョン123からV8サンドボックス有効化、報奨の対象に4月10日12時40分
-
7割近くの人がスマホの破損や水没を経験 - ジェイコム少額短期保険調査3月22日18時35分
-
声優・加藤英美里、一眼レフの高級レンズが破損し涙 懸命のザオリクも効果なく…3月18日18時45分
-
能登半島地震の破損被害を免れた「日本酒」を買ったら奇跡が起きた話 / 飲んで生産者支援、一部は寄付へ3月16日14時55分
-
【リチャージWiFi】更なる安心をセットにした、ギガ付きモバイルルーターを販売開始!3月16日11時46分
-
酒蔵から海外へ日本酒を直接出荷する!海外小口空輸配送支援サービス3月13日12時17分
ITニュースランキング
-
1「当店の従業員はマスクを外して業務を行います」吉野家の貼り紙が物議 全店の方針なのか聞いた ねとらぼ
-
2Googleオフィスに警察、社員50人超を解雇 抗議デモ対応が見せつけた“IT界の巨人”の変貌ぶりとは ITmedia NEWS
-
3PayPayの「あなたのまちを応援プロジェクト」、7月以降に6自治体で開催 最大30%のポイント還元 ITmedia Mobile
-
4刺さる!100均 第1回 「出っ張るUSBケーブルが邪魔」を解決、セリアの「変換アダプター」が超便利! マイナビニュース
-
5「コカ・コーラ」や「い・ろ・は・す」が10月から値上げへ - ネット「どぉぉぁぁしてだよぉぁぁぁ!」 マイナビニュース