Google、CPUの投機実行機能に脆弱性発見。SSD、稼働32,768時間超えでデータ喪失。Watch市場セキュリティGoogleニュースGoogle、CPUの投機実行機能に脆弱性発見。Zeroは3日(現地時間)、Intel、AMD、Armなどの多くのCPUに使われている、性能を最適化するための「投機実行」機能に欠陥があり、深刻な脆弱性が存在すると発表した。Horn氏によると、悪意のある攻撃者は、CPUの投機実行を利用することで、本来アクセス権限のないソフトウェアで、アクセスできないはずのシステムメモリを読み取ることができ、パスワードや暗号化キー、アプリケーションで開いている機密情報にアクセス可能になるという。1台の仮想マシン上でこの攻撃を利用し、ホストマシンの物理メモリにアクセスでき、同じホスト上の異なる仮想マシンメモリに対する読み取りアクセス権を得られたという。今回発見された脆弱性は3種類。Load」(CVE-2017-5754)だ。このうち1つ目と2つ目の脆弱性を突いた攻撃手法を「Spectre」、3つ目の攻撃手法を「Meltdown」と名付けた。Googleでは2017年6月にもこの脆弱性をIntel、AMDおよびArmに報告しており、問題解決に向け取り組んできたという。2018年1月9日に公開を予定していたが、一部メディアがこの問題をすでに報じ、セキュリティリスクが高まっているため、公開に踏み切った。Zeroのブログを参照されたいが、Intelが公開したホワイトペーパーで大まかな概要が明らかとなっている。Bypass攻撃の肝は、投機実行は条件分岐するさいに、命令を実行する必要があるかどうかを知る前に命令を実行する点と、投機実行ではデータなどを暗黙でキャッシングする点だ。投機実行の結果が正しければ処理時間が短くてすむが、間違っていれば命令を破棄して、メモリからほかのデータをロード、再処理しなければならない。その処理およびデータのロードにかかった時間を計測することで、投機実行中のデータを予測する。条件付き直接分岐では投機実行するものには2つのオプションしかないが、間接分岐に投機的に「ガジェット」を実行させることにより、悪質なコードを投機的に実行させることができてしまう。Loadはアプリケーションがカーネルメモリを直接プロービングする手法。典型的にこのような操作はプログラムエラー(ページテーブルのパーミッションによるページフォルト)となるのだが、L1データキャッシュに投機的な操作の実行を常駐することで、投機的に実行されデータを照会できてしまう。Intelによれば、次期プロセッサでは、この問題を軽減する対策と性能強化を行なうとしており、既存製品に関しては、それぞれの脆弱性に対応した緩和策などを提示している。今回の脆弱性の情報公開に伴い、各社が対応策を公開している。Microsoftによれば、今回の対策をすることにより性能が低下するとしているが、コンシューマレベルではその影響は少ないという。・Google:Androidは最新のセキュリティアップデートで対応。11.2ではMeltdownに対策済み。Hat:Linuxカーネルのアップデートで対応。11.2.2提供開始。