Chromeのサイト・アイソレーション機能を狙った新たなCPUサイドチャネル攻撃方法が発見される

google chrome news
google chrome

オーストラリア、イスラエル、米国の大学の研究者チームが、Site Isolation機能で保護されたGoogle ChromeおよびChromiumベースのブラウザからデータを回復するCPUサイドチャネル攻撃の実装に成功したと発表しました。

Spook.js

Spook.js は、Chrome ウェブブラウザを標的とした新しい過渡的実行サイドチャネル攻撃です。GoogleはSpectreを緩和するためにStrict Site Isolationを導入していますが、悪意のあるJavaScriptコードによる情報抽出が可能な場合があることを示しています。

具体的には、攻撃者が制御するウェブページは、ユーザーが現在閲覧している同じウェブサイトの他のページを知ることができ、これらのページから機密情報を取得したり、ログイン認証情報(ユーザー名とパスワードなど)が自動入力されている場合にその情報を復元したりすることができます。

さらに、ユーザーが悪意のある拡張機能をインストールした場合、攻撃者はChromeの拡張機能(クレデンシャルマネージャなど)からデータを取得できることを実証しました。

「Spook.js」と名付けられたこの発見は、2018年1月に公開された「Meltdown」および「Spectre」攻撃に関連するものでプロセッサ上で実行される悪意のあるコードが、他のアプリやCPUの安全な領域からデータを取得できる可能性がある2つのCPU設計上の脆弱性を悪用するものです。

理論的なレベルでしか実証されていませんが、「Meltdown」および「Spectre」攻撃で、最新のCPUの現行設計がセキュリティを真剣に考えていないことがわかってしまい、インテルとAMDは今後のCPUの設計を変更して、より多くのセキュリティ機能を搭載することを約束しました。さらにソフトウェアベンダーも、簡単に悪用されないようにアプリケーションを強化することで対応したことで有名です。

Googleは、Chromeに「Site Isolation」という新機能を追加しており、この機能はJavaScriptのコードをドメインごとに分離することで、悪意のあるサイトがJavaScriptベースのSpectre攻撃を実行しユーザーが開いている他のタブから情報を盗むのを防ぐというものです。

しかし、Spook.jsのチームは、現在のSite Isolation機能では十分な効果が得られないことを発見し、Site Isolationはexample.comのようなドメインとattacker.comを分離するものの、attacker.example.comとlogin.example.comのようなサブドメインを分離するものではなかったということです。

Spook.jsは、このSite Isolationの設計上の欠陥を利用しており、このことはGoogleも知っているようですが、JavaScriptのコードをサブドメインレベルで分離することは、全インターネットサイトの約13.4%を無力化することになるため、どうすることもできないようです。

M1チップを搭載したインテル製プロセッサまたはアップル製デバイスをお持ちの方は、非常に高い確率で「影響を受ける」可能性があります。また、我々の攻撃は、AMDのマシンにも有効であると考えていますが、これは部分的にしか実証されていません。

特定の条件下では、ある Chrome ブラウザのタブで実行されている悪意のある JavaScript コードが、別の Chrome タブで表示されているコンテンツを読み取ることができます。このコンテンツには、パスワードや銀行口座情報などの機密情報が含まれている可能性があります。さらに、悪意のある拡張機能は、他の拡張機能のコンテンツを読み取ることができ、その中に保存されている機密情報(クレデンシャル マネージャ内のパスワードなど)も読み取ることができます。

Spook.jsによる攻撃を実演

このような前提のもと、研究チームはIntel、AMD、Apple M1プロセッサを搭載したChromeおよびChromiumベースのブラウザに対して、Spectreのようなサイドチャネル攻撃を行うことができるJavaScriptツール「Spook.js」の開発に成功したという。

このツール「Spook.js」は、攻撃を受けたWebサイトと同じサブドメインからデータを取得するだけで、攻撃者がSpook.jsのコードを標的となるWebサイトに仕込んだ場合にのみ動作します。研究者によると、Tumblr、GitHub、Bitbucketなど、ユーザーがサブドメインを作成して独自のJavaScriptコードを実行できるWebサイトは複数存在します。

詳細については、Spook.jsのウェブサイトおよび「Spook.js」と題された研究論文で公開される予定となっています。

Comments

タイトルとURLをコピーしました