# Chrome V8エンジンにおけるSentinel Valueのセキュリティリスクの探求Sentinel valueはアルゴリズムにおける特別な値で、通常はループや再帰アルゴリズムの終了条件として使用されます。Chromeのソースコードには複数のSentinel valueが存在し、その中のいくつかはセキュリティの脆弱性を引き起こす可能性があります。本稿では、未初期化のOddballオブジェクトを漏洩させることでChrome V8エンジンのHardenProtect保護メカニズムを回避する方法について論じます。## V8におけるセンティネル値V8エンジンでは、複数のネイティブオブジェクトが定義されており、これらのオブジェクトはメモリ内で順次隣接して配置されています。JavaScriptに漏洩してはいけないネイティブオブジェクトが漏洩すると、サンドボックス内で任意のコードが実行される可能性があります。! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value](https://img-cdn.gateio.im/social/moments-263e5651876fc00c4e0af0cfcd350210)## HardenType保護のバイパスV8のネイティブ関数を修正することで、Uninitialized OddballオブジェクトをJavaScriptに漏洩させることができます。この漏洩したオブジェクトを利用することで、比較的任意の読み書き操作を実行でき、HardenType保護を回避することが可能です。具体的な実装は次のとおりです。1. %TheHole() 関数を変更して、初期化されていない Oddball オブジェクトを返すようにします2. 特殊なJavaScriptコードを構築し、最適化された関数の中で配列mapのチェックが欠落していることを利用して、オフセットを直接計算して配列の値を返す。3. タイプ混乱を通じて、任意の読み書きを実現する! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value](https://img-cdn.gateio.im/social/moments-26c26345e3ec4effeea2e3e6b7cd8772)! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value](https://img-cdn.gateio.im/social/moments-4c091ca0e153e953eb168e99762ff7cc)! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value](https://img-cdn.gateio.im/social/moments-1e3fda77c04bceafdcc40413824a5d37)! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value](https://img-cdn.gateio.im/social/moments-ed89289bebf59d4b27f5bffb5511a8c5)! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value](https://img-cdn.gateio.im/social/moments-0e52075003a8ee2ca492a5fc9f35c36b)## PatchGapリスク警告この回避方法は最新のV8にだけでなく、古いV8を使用しているソフトウェアにも影響を与える可能性があります。例えば、Skypeは現在、この脆弱性を修正していません。x86アーキテクチャでは、アドレス圧縮が欠如しているため、任意の読み書きの範囲がより広くなる可能性があります。さらに、この新しいバイパス方法は、Issue1314616やIssue1216437などの他の関連する脆弱性の悪用の難易度を下げる可能性があります。! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value](https://img-cdn.gateio.im/social/moments-230537e420d579aabd89bdd168b20878)! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value](https://img-cdn.gateio.im/social/moments-506159c94c9e0988552cbcbd13d971e1)## まとめと考察V8には他にもさまざまなセンチネル値が存在し、それらにも同様のセキュリティリスクがある可能性があります。今後の研究の方向性には以下が含まれるかもしれません:1. 他の初期化されていない Oddball リークも V8 の RCE を実装できるかどうかを調べます2. Sentinel値を変数としてファジングテストに追加することを検討し、より多くの潜在的な利用原語を発見する。3. この種の問題が正式にセキュリティ問題と見なされるかどうかを注視し、それがハッカーの完全な利用サイクルを短縮する影響を評価します。この種の問題が正式にセキュリティ問題として分類されるかどうかにかかわらず、ハッカーが完全に利用するための時間を大幅に短縮する可能性があります。そのため、Sentinel valueに関連するセキュリティ問題に継続的に注目し、研究することが重要です。! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value](https://img-cdn.gateio.im/social/moments-e9e2000fd501b69ee3ee643a459a26dd)
Chrome V8エンジンのSentinel Valueセキュリティ脆弱性の解析とエクスプロイト
Chrome V8エンジンにおけるSentinel Valueのセキュリティリスクの探求
Sentinel valueはアルゴリズムにおける特別な値で、通常はループや再帰アルゴリズムの終了条件として使用されます。Chromeのソースコードには複数のSentinel valueが存在し、その中のいくつかはセキュリティの脆弱性を引き起こす可能性があります。本稿では、未初期化のOddballオブジェクトを漏洩させることでChrome V8エンジンのHardenProtect保護メカニズムを回避する方法について論じます。
V8におけるセンティネル値
V8エンジンでは、複数のネイティブオブジェクトが定義されており、これらのオブジェクトはメモリ内で順次隣接して配置されています。JavaScriptに漏洩してはいけないネイティブオブジェクトが漏洩すると、サンドボックス内で任意のコードが実行される可能性があります。
! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value
HardenType保護のバイパス
V8のネイティブ関数を修正することで、Uninitialized OddballオブジェクトをJavaScriptに漏洩させることができます。この漏洩したオブジェクトを利用することで、比較的任意の読み書き操作を実行でき、HardenType保護を回避することが可能です。
具体的な実装は次のとおりです。
! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value
! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value
! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value
! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value
! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value
PatchGapリスク警告
この回避方法は最新のV8にだけでなく、古いV8を使用しているソフトウェアにも影響を与える可能性があります。例えば、Skypeは現在、この脆弱性を修正していません。x86アーキテクチャでは、アドレス圧縮が欠如しているため、任意の読み書きの範囲がより広くなる可能性があります。
さらに、この新しいバイパス方法は、Issue1314616やIssue1216437などの他の関連する脆弱性の悪用の難易度を下げる可能性があります。
! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value
! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value
まとめと考察
V8には他にもさまざまなセンチネル値が存在し、それらにも同様のセキュリティリスクがある可能性があります。今後の研究の方向性には以下が含まれるかもしれません:
この種の問題が正式にセキュリティ問題として分類されるかどうかにかかわらず、ハッカーが完全に利用するための時間を大幅に短縮する可能性があります。そのため、Sentinel valueに関連するセキュリティ問題に継続的に注目し、研究することが重要です。
! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value