web-dev-qa-db-ja.com

JVMで実行されるJavaScriptエンジンを使用して、Spectreエクスプロイトを実装できますか?

ChromeとMozillaは、Spectreの脆弱性(CVE-2017-5753とCVE-2017-5715)のJavaScriptエンジンに緩和策を追加しました。しかし、実行するJavaScriptエンジンに関しては何も見つかりませんJVMでは、RhinoやNashornなどです。

これらのJavaScriptエンジンが脆弱性を悪用するコードを実行できないと考える理由はありますか?

ありがとう

7
Jamesy82

OpenJDKの現在のJavaScriptエンジンが解釈されるため、この種の攻撃は困難になります。投機的実行は制限されており、キャッシュを検出するタイミングは厳しく変化します。最良のケースでは、高帯域幅攻撃とは思われません。

ただし、驚かれることを期待してください。投機的実行は、JavaScriptに戻らずに1つのステップで発生する可能性があります。 JavaScriptはJavaライブラリーに対して比較的自由に統治しているため、おそらく副作用としてタイミングをとることができる何かがそこにあるでしょう。

一方で、もし私が楽しみや利益のためのエクスプロイトを開発しているのなら(私はそうではありません)、はるかに簡単で価値のあるターゲットを選択します。

Spectre(およびMeltdown)を利用するには、かなりの高精度(最新のCPUでは数十ナノ秒の範囲)で時間を計測する機能が必要です。 JITコンパイルを行わないJavaScriptエンジンは、これを行うために必要な精度を提供しません。

2
Mark