ニュース
Google、CPUの投機実行機能に脆弱性発見。業界をあげて対策へ
~Intel、AMD、Armなど多数のCPUが対象も、コンシューマでは影響は軽微
2018年1月5日 13:49
米GoogleのProject Zeroは3日(現地時間)、Intel、AMD、Armなどの多くのCPUに使われている、性能を最適化するための「投機実行」機能に欠陥があり、深刻な脆弱性が存在すると発表した。
Project Zeroの研究員Jann Horn氏によると、悪意のある攻撃者は、CPUの投機実行を利用することで、本来アクセス権限のないソフトウェアで、アクセスできないはずのシステムメモリを読み取ることができ、パスワードや暗号化キー、アプリケーションで開いている機密情報にアクセス可能になるという。
テストでは、研究チームは、HaswellベースのXeon E5-1650 v3、AMD FX-8320、AMD PRO A8-9600、およびArmのCortex-A75を搭載したスマートフォン「Nexus 5x」などを利用。1台の仮想マシン上でこの攻撃を利用し、ホストマシンの物理メモリにアクセスでき、同じホスト上の異なる仮想マシンメモリに対する読み取りアクセス権を得られたという。
今回発見された脆弱性は3種類。1つ目は「Bounds Check Bypass」(共通脆弱性識別子:CVE-2017-5753)、2つ目は「Branch Target Injection」(CVE-2017-5715)、3つ目は「Rogue Data Cache Load」(CVE-2017-5754)だ。このうち1つ目と2つ目の脆弱性を突いた攻撃手法を「Spectre」、3つ目の攻撃手法を「Meltdown」と名付けた。
Googleでは2017年6月にもこの脆弱性をIntel、AMDおよびArmに報告しており、問題解決に向け取り組んできたという。もともと2018年1月9日に公開を予定していたが、一部メディアがこの問題をすでに報じ、セキュリティリスクが高まっているため、公開に踏み切った。
具体的な攻撃の手法については、Google Project Zeroのブログを参照されたいが、Intelが公開したホワイトペーパーで大まかな概要が明らかとなっている。
Bounds Check Bypass攻撃の肝は、投機実行は条件分岐するさいに、命令を実行する必要があるかどうかを知る前に命令を実行する点と、投機実行ではデータなどを暗黙でキャッシングする点だ。投機実行の結果が正しければ処理時間が短くてすむが、間違っていれば命令を破棄して、メモリからほかのデータをロード、再処理しなければならない。その処理およびデータのロードにかかった時間を計測することで、投機実行中のデータを予測する。
Branch Target InjectionはCPU内部の「間接分岐予測器」を利用するもの。条件付き直接分岐では投機実行するものには2つのオプションしかないが、間接分岐に投機的に「ガジェット」を実行させることにより、悪質なコードを投機的に実行させることができてしまう。
Rogue Data Cache Loadはアプリケーションがカーネルメモリを直接プロービングする手法。典型的にこのような操作はプログラムエラー(ページテーブルのパーミッションによるページフォルト)となるのだが、L1データキャッシュに投機的な操作の実行を常駐することで、投機的に実行されデータを照会できてしまう。
Intelによれば、次期プロセッサでは、この問題を軽減する対策と性能強化を行なうとしており、既存製品に関しては、それぞれの脆弱性に対応した緩和策などを提示している。
今回の脆弱性の情報公開に伴い、各社が対応策を公開している。Microsoftによれば、今回の対策をすることにより性能が低下するとしているが、コンシューマレベルではその影響は少ないという。
・Intel:OSベンダーやシステム製造者がもうすぐ対策を公開
・AMD:知らないURLをクリックしたりせず、定期的なソフトウェアアップデートを受け入れるよう呼びかけ
・Arm:ファームウェアを提供し問題を修正するとともに、Linux向けカーネルパッチを提供
・NVIDIA:GPUドライバの更新でCPUセキュリティの問題を免疫、ARM SoCについては分析中
・Microsoft:2018年1月のセキュリティアップデートで対策、性能に影響するもコンシューマでは限定的
・Microsoft Azure:対策を完了し、VMを再起動することで適用
・Google:Androidは最新のセキュリティアップデートで対応。Google Apps/G Suiteは顧客が対応する必要なし、ChromeやChrome OSは一部ユーザーで操作が必要
・Apple:すべてのiOSおよびMacが影響するが、iOS 11.2、macOS 10.13.2、tvOS 11.2ではMeltdownに対策済み。Apple Watchは影響を受けず
・Mozilla:Firefox 57.0.4で対策
・Synology:問題を認識、1月4日時点では緩和策なし
・Red Hat:Linuxカーネルのアップデートで対応。IBM System Z、POWER8プロセッサ(ビッグエンディアンおよびリトルエンディアン)、POWER9プロセッサ(リトルエンディアン)でも同様の問題が発生
・SUSE:Linuxコミュニティと協力し、Linuxカーネルパッチをリリースへ
・Xen:Spectreは緩和なし、MeltdownはゲストをHVMまたはPVHモードで実行することで緩和可能
楽天市場 売れ筋ランキング
Amazon売れ筋ランキング
Anker Soundcore P40i (Bluetooth 5.3) 【完全ワイヤレスイヤホン/ウルトラノイズキャンセリング 2.0 / マルチポイント接続 / 最大60時間再生 / PSE技術基準適合】ブラック
¥7,990
Anker Soundcore Life P2 Mini【完全ワイヤレスイヤホン / Bluetooth5.3対応 / IPX5防水規格 / 最大32時間音楽再生 / 専用アプリ対応】ブラック
¥4,490
イヤホン bluetooth ワイヤレスイヤホン 48時間の再生時間 重低音 LEDディスプレイ表示 小型/軽量 IPX7防水 ブルートゥース 接続瞬時 Hi-Fi ブルートゥースイヤホン Type-C 急速充電 ぶるーとぅーすイヤホン iPhone/Android/Pad適用 スポーツ/通勤/通学/WEB会議 (ホワイト)
¥39,999
Anker Soundcore Liberty 4(Bluetooth 5.3)【完全ワイヤレスイヤホン/ウルトラノイズキャンセリング 2.0 / 3Dオーディオ / ワイヤレス充電/マルチポイント接続/外音取り込み / 最大28時間再生 / ハイレゾ / IPX4防水規格 / ヘルスモニタリング/PSE技術基準適合】ミッドナイトブラック
¥14,990
Apple AirPods Pro 2 + 延長2年 AppleCare+ for Headphones - AirPods Pro
¥42,792
GBAD (Number_i Remix) [Explicit]
¥250
もうどうなってもいいや
¥250
もうどうなってもいいや
¥250
GBAD (Number_i Remix) [Explicit]
¥250
TWILIGHT!!!
¥250
by Amazon 天然水 ラベルレス 500ml ×24本 富士山の天然水 バナジウム含有 水 ミネラルウォーター ペットボトル 静岡県産 500ミリリットル (Smart Basic)
¥1,173
い・ろ・は・すラベルレス 2LPET ×8本 【Amazon.co.jp限定】
¥1,104
コカ・コーラ い・ろ・は・す天然水ラベルレス 560ml ×24本
¥2,131
by Amazon 炭酸水 ラベルレス 500ml ×24本 強炭酸水 ペットボトル 500ミリリットル (Smart Basic)
¥1,512
キリン 自然が磨いた天然水 ラベルレス 水 2リットル 9本 国産 天然水 ミネラルウォーター ペットボトル 軟水
¥2,722