77
Meltdown、Spectreはブラウザ経由で悪用される可能性がある

最近、MeltdownとSpectreと呼ばれる2つのCPUアーキテクチャの脆弱性が明らかになり、主にIntel、ARM、AMD(Spectreのみ)にも影響を与えることが分かりました。Microsoft、Mozilla、Googleは、攻撃者がブラウザを通じてこれらの脆弱性を悪用する可能性があると発表しました。ただし、一時的な修正が間もなく提供される予定です。

マイクロソフトエッジ

Windows 10 Fall Creators Update で最近、「SharedArrayBuffer」と呼ばれる機能が導入されました。これは、Edge ブラウザの JavaScript パフォーマンスを最適化するもので、異なる実行スレッド間で同じデータを共有することで、データが必要になるたびにスレッド間でデータを渡す必要がなくなりました。

Microsoftは、この機能を無効にする理由について、「ブラウザプロセスからCPUキャッシュの内容を推測する難易度を大幅に高めるため」と述べている。これにより、performance.now() タイマーの分解能は5マイクロ秒(µs)から20µsに低下する。また、可変ジッターはさらに20µs増加する。

同社は、2つのCPUの欠陥について引き続き調査し、将来的にはSharedArrayBuffer機能をより安全な方法で実装する方法についても再度検討すると付け加えた。

モジラファイアフォックス

Mozillaは、実験により、攻撃者がブラウザを通じて最近発見されたCPUの欠陥を悪用し、ユーザーの個人情報を読み取ることができることが証明されたと述べた。

Mozillaによると、新たな脆弱性により、攻撃者はブラウザの高精度タイマーを利用して、暗号アルゴリズムの実行時にサイドチャネル攻撃(タイミング攻撃とも呼ばれる)を実行できる可能性があるとのことです。そのため、Mozillaはブラウザのすべての高精度タイマーと、Firefoxに最近実装されたSharedArrayBuffer機能を無効にする措置を講じています。Firefoxのタイマーの分解能も20µsに削減されます

Mozillaは、SharedArrayBuffer機能の再実装については、安全な実装方法を検証した後、検討すると付け加えた。同社は、高解像度タイマーはWebプラットフォームの将来にとって重要であると指摘した。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

グーグルクローム

Chromium チームも同様の発表を行い、今月後半にリリース予定の Chrome の次期バージョン (v64) では、SharedArrayBuffer 機能がデフォルトで無効になり、performance.now API の動作が変更されると述べています。

Chromeは他のブラウザと比較して、常に高度なプロセスサンドボックス化に重点を置いてきたため、Googleは既に「サイトアイソレーション」と呼ばれる機能の開発に取り組んでいたようです。この機能は、MeltdownとSpectreからChrome自身で保護します。ただし、ユーザーはchrome://flags/#enable-site-per-processで手動で有効化する必要があります。研究者らは今年初め、サイトアイソレーションが他の多くの種類の攻撃に対しても有効であることを発見しました。

Chromium チームは、Web 開発者が自分のサイトにも実装できるいくつかの緩和策も示しました。

可能な場合は、SameSite および HTTPOnly の Cookie 属性を使用し、document.cookie からの読み取りを回避することで、Cookie がレンダラー プロセスのメモリに入らないようにしてください。攻撃者が予測したり簡単に知ることができる URL から、ユーザー固有または機密性の高いコンテンツを提供しないでください。攻撃者は、攻撃ページにこのような URL (例: <img src=”https://email.example.com/inbox.json”/>) をロードして、ページをレンダリングするプロセスに機密情報を取得し、境界外読み取りを使用して情報を探索することができます。この種の攻撃を軽減するには、CSRF 対策トークンと SameSite Cookie、またはランダム URL を使用します。サイト分離が有効になっているユーザーに対してクロスサイト ドキュメント ブロッキングを最大限に活用するには、MIME タイプが正しいことを確認し、ユーザー固有または機密性の高いコンテンツを含む URL に nosniff ヘッダーを指定します。

アップルサファリ

AppleはSafariブラウザのパッチ適用方法について公式声明を発表していませんが、macOS 10.13.2ではMeltdownに対するパッチを部分的に適用済みであるようです。今後、さらなる修正が提供される予定です。

カーネルパッチとブラウザパッチの両方からわかるのは、MeltdownとSpectreを修正するには、少なくともある程度のパフォーマンス低下を招くしかないということです。これらのパフォーマンス低下を解消するために、CPUメーカーは近い将来、CPUアーキテクチャの一部を再設計する必要があるでしょう。

ルシアン・アルマスは、Tom's Hardware USの寄稿ライターです。ソフトウェア関連のニュースやプライバシーとセキュリティに関する問題を取り上げています。