Meltdown

概要

脆弱性の影響を受けるマイクロプロセッサは、インテルの大多数の製品、ARMの一部の製品であり、AMDの製品には影響しないとセキュリティ研究者によって考えられている。
CVE番号はCVE-2017-5754、脆弱性通称は"Rouge Cache Data Load"。
なお、Spectreという別の脆弱性（CVE-2017-5753:"Bounds Check Bypass"、"CVE-2017-5715":"Branch Target Injection"）もMeltdownと同時に発表されたが、こちらはインテルだけでなくAMDやARMの製品にも存在すると指摘されている。

経緯

Meltdownは、GoogleのProject ZeroとCyberus Technologyと グラーツ大学の研究者らによって別々に発見された。Spectreという別の脆弱性とともに、2018年1月4日 (JST) に公開された。

タイムライン

（日付は現地時間）
2014年 LinuxカーネルのASLR (KASLR) が実装。
2017年6月 セキュリティ研究者によりKASLRに新たな脆弱性が見つかる。そのためKPTI (kernel page-table isolation) が開発された。KPTIは多くの脆弱性を除去する事が分かった。この時点でMeltdownは未発見だったが、Meltdownの脆弱性発見者によりKPTIがその有効な回避策である事が検証された。
2017年7月 CyberWTFと言うウェブサイトで、脆弱性の概要が公表された。
Meltdown脆弱性は複数の研究者によって、Spectreと言う別の脆弱性と同様に発見された。
2018年1月3日 MeltdownとSpectreの両脆弱性がマスメディアで報道された。
2018年2月1日 Meltdown/Spectre脆弱性を突くマルウェアサンプル（実証コード）がAV-TESTにより発見された

詳細

Meltdown Paper（PDF、英語）を参照のこと。
参考文献：Hisa Ando、『投機実行の隙を突くSpectre/Meltdownの仕組みを知る』マイナビニュース

AMD

2018年1月5日時点で、AMDのCPUがMeltdownの影響を受けたとするテスト結果は報告されていない。

ARM

ARMは、Cortex-R7/R8/A8/A9/A15/A17/A57/A72/A73/A75はSpectreの影響を受け、これに加えてCortex-A75はMeltdownの影響を受ける事を認めた。
ミドルレンジAndroid携帯電話端末の多数に使用されるオクタコアのARM Cortex-A53/A55 は、アウト・オブ・オーダー実行をしないため、MeltdownやSpectreのいずれの脆弱性の影響も受けないとされている。Qualcomm Snapdragon 630/626/625/4xxもベースコアがCortex-A53/A55 のため同様である。Raspberry Piも影響を受けないとされている。

POWER / IBM Z

IBMは、POWERファミリーは当脆弱性の影響を受け、IBM Zの情報はIBM Z Portalで公開されると発表した。

システム

本脆弱性は、Amazon Web Services (AWS)、Microsoft Azureや、Google Cloud Platform など主要なクラウドプロバイダへの影響が見込まれている。クラウドプロバイダは、構造上、重要なデータが保存されているのと同一の物理サーバ上でユーザーにプログラムを実行させており、重要なデータが保存されている特権メモリのロケーションへの不正なアクセスを防ぐ措置をCPUによるセーフガードに委ねているが、このセーフガードはMeltdown脆弱性により回避可能であるとされている。
論文の著者の1人は、準仮想化 (Xen) や、Docker、LXC、OpenVZといったコンテナが影響を受けると報告している。完全に仮想化されたマシンへの攻撃を行うと、ゲストユーザ空間がゲストカーネルメモリを読み込むことができるが、ホストのカーネル空間からはできないと述べている。

回避策、アップデート

（本見出し中の日付は特記ない場合2018年）
Meltdownは、Spectreと同様にCPUのハードウェアレベルの脆弱性であるため、オペレーティングシステム (OS) 側で回避策が取られつつある。また、KPTI(kernel page-table isolation) パッチはMeltdownに有効、Spectreには無効であるが、多くのベンダーはパッチがMeltdownとSpectreのどちら（又は双方）を回避、緩和するのか明確にしていない。

インテル

インテルは脆弱性に対処するためCPUのマイクロコードアップデートを、マザーボードおよびエンドユーザー製品メーカー向けに供給したが、予期しない再起動が頻発するために2018年1月22日には当該アップデートの適用を中止するよう促す公報を発表した。

Windows

マイクロソフトは、2018年1月3日（現地時間）に、本脆弱性に対処する緊急アップデートをWindows 10/8.1/7 SP1向けおよびServer製品やPosReady製品向けにリリースした 。
このアップデートは、一部のサードパーティー製アンチウイルス製品と互換性が無くBSODを引き起こす事が知られている。Windows DefenderとMicrosoft Security Essentialsは互換性があるとされている。
アンチウイルス製品メーカー側の対応が完了するまでは、レジストリが設定されないので、このアップデートはダウンロードされないようになっている。アンチウイルス製品側が対応完了・アップデートされた場合は、自動的にレジストリが設定され、このアップデートがダウンロード、適用されるとしている。
また、上記アップデートはAMD Athlon X2 6000+ユーザーにも異常を引き起こす事が分かったが詳細な原因は不明である。

macOS

macOSは10.13.2以降、Meltdown対策が適用されている。なお、1月8日にリリースされた"macOS High Sierra 10.13.2 Supplemental Update" にてSpectre対策が適用されている（同時にSafariもアップデートされる）。

Linux

Linuxカーネルの開発者は、KPTI(kernel page-table isolation)と名付けたパッチ群を2018年初頭にカーネル4.15でリリースし、 これはカーネル4.9.75/4.14.11ではバックポートとしてリリースされた。

レッドハット

Red Hat Enterprise Linux のディストリビューション Ver.6 および Ver.7 でカーネルアップデートが実施された。

CentOS

CentOS-6 / CentOS-7でカーネルアップデートがリリースされている。

Android

GoogleはAndroid OSのセキュリティパッチを配信しているが、現実の端末へのパッチの互換性は、端末のメーカーあるいは携帯電話事業者の対応に依存する。

iOS

iOS11.2以降、tvOS11.2以降でMeltdown対策パッチが当てられている。なお、1月8日にリリースされた"iOS 11.2.2 にてSpectre対策が適用されている。

Google Chrome

Meltdownへの直接の回避策ではないが、Strict site isolation（厳格なサイト分離）機能を有効にする事をGoogleは提案している。ブラウザの互換性については多少の問題がある。

シスコ

シスコはルーター、アプライアンス製品やソフトウェアに脆弱性がある事を認めたが、他社製品上で動作するソフトウェアを除き、ルーター製品等でソフトウェアを自由に実行できないので攻撃のおそれは小さいとしている。脆弱性のある製品リストは次のサイトで公開されている：。

その他の対象CPU組み込み製品

メーカー等の対応に依存する。

副作用

一部のケースでは、パッチが適用されたコンピュータのパフォーマンスが30%低下するとされたり、PhoronixはLinuxのゲーム性能には影響しないと声明を出しているが、十分に検証されていない。クライアント、サーバ、ホスティングサービスなど環境によっても減少幅は異なると考えられる。
インテルはクライアントPC向けのベンチマークで第6世代 - 第8世代 Coreアーキテクチャについてベンチマーク結果は6 - 8%程度になると発表した。
インプレスは、NVMeやSATAインターフェースのSSDでランダムアクセス性能の一部が大幅に低下するとの実験結果を公表した。