Spectre/Meltdown(スペクトル/メルトダウン)
2018年1月公開の CPU 投機的実行 (Speculative Execution) を悪用するサイドチャネル攻撃。Intel/AMD/ARM 全アーキテクチャに影響、2026年も派生脆弱性が継続発見中。
概要
Spectre と Meltdown は2018年1月3日に Google Project Zero とグラーツ工科大学・ペンシルベニア大学・メリーランド大学の研究チームが同時公開した CPU サイドチャネル脆弱性。投機的実行 (Speculative Execution) と分岐予測 (Branch Prediction) という1995年 Intel Pentium Pro 以降の高速化機構を悪用し、本来アクセス権のないメモリ領域 (カーネル空間/他プロセス/ハイパーバイザ) のデータを読み取る。
Meltdown (CVE-2017-5754) は Intel に主に影響しカーネル/ユーザ空間境界を破る。Spectre v1 (CVE-2017-5753) と v2 (CVE-2017-5715) は Intel/AMD/ARM 全社に影響しプロセス境界を破る。発覚以降も Foreshadow (2018年8月)、ZombieLoad (2019)、SRBDS (2020)、Retbleed (2022年7月)、Zenbleed (2023年7月、AMD Zen 2)、Inception (2023年8月、AMD Zen 3/4)、Downfall (2023年8月、Intel)、GoFetch (2024年3月、Apple Silicon) と派生脆弱性が連続発見されている。
2026年4月現在、CPU メーカーは投機的実行を完全に廃止できず、マイクロコードパッチ + OS 緩和策 + コンパイラ対策で対応中。性能影響は Spectre/Meltdown 緩和で 2-30%、累積パッチで Intel Skylake 系は 8-15%、最新 Lunar Lake/Zen 5 では 1-3% 程度に低減。
主な特徴・仕組み
- 発見: 2018年1月3日同時公開、Jann Horn (GPZ) / Daniel Gruss (TU Graz) / Thomas Prescher (Cyberus) ら
- 対象アーキ: Intel x86 (Pentium Pro 1995年以降全製品)、AMD (Spectre のみ、Meltdown 影響なし)、ARM Cortex-A57/A72/A75
- 影響範囲: PC/サーバ/スマホ/IoT 機器ほぼ全て、推定 30億台超
- 攻撃手法: 投機実行 → キャッシュ状態変化 → タイミング測定で秘密ビット復元 (Flush+Reload/Prime+Probe)
- Spectre v1: Bounds Check Bypass、配列境界チェックを跨いで読み取り
- Spectre v2: Branch Target Injection、間接分岐予測器を毒化
- Meltdown: Rogue Data Cache Load、ユーザ空間からカーネルメモリ読み取り (Intel 特有)
- 緩和策: KPTI (Kernel Page Table Isolation, KAISER パッチ)、Retpoline、IBRS/IBPB/STIBP、microcode update
- 派生脆弱性 主要: Foreshadow/L1TF (2018), MDS/ZombieLoad (2019), SRBDS (2020), Retbleed (2022), Zenbleed/Inception/Downfall (2023), GoFetch (2024)
- 2026年新発見: Branch Privilege Injection (2025年5月、Intel)、Rogue System Register Read v2 (2025年9月)
主要 CPU 脆弱性タイムライン比較表
| 脆弱性 | 公開年 | 影響CPU | 性能影響 | 緩和方式 |
|---|---|---|---|---|
| Meltdown | 2018-01 | Intel ほぼ全機種 | 5-30% | KPTI |
| Spectre v1/v2 | 2018-01 | Intel/AMD/ARM | 2-15% | Retpoline+IBRS |
| Foreshadow | 2018-08 | Intel SGX | 2-10% | L1D flush |
| ZombieLoad/MDS | 2019-05 | Intel | 0-15% | MD_CLEAR |
| Retbleed | 2022-07 | Intel/AMD Zen 1/2 | 14-39% | IBRS強制有効 |
| Zenbleed | 2023-07 | AMD Zen 2 | <1% | microcode |
| Downfall | 2023-08 | Intel Skylake-Tiger Lake | 6-39% | GATHER 制限 |
| GoFetch | 2024-03 | Apple M1/M2/M3 | 不可 (パッチなし) | DMP 無効化のみ |
自作PC/サーバへの影響と対策
- OS パッチ: Windows Update / Linux Kernel update / macOS update を最新化、KPTI/Retpoline 自動適用
- マイクロコード更新: BIOS/UEFI 最新化、Intel ME/AMD SMU ファームウェア適用
- CPU 選定: 2025-2026年新規組では Intel Core Ultra 200 系 (Lunar Lake/Arrow Lake) または AMD Ryzen 9000 系 (Zen 5) でハードウェア緩和済み
- 古い CPU の継続利用: Skylake-Comet Lake (Intel 6-10世代) は Downfall 性能影響大、用途次第で買替推奨
- ベンチマーク低下: 旧世代 Skylake i7-6700K で全パッチ適用後 SPECint 約 -12%、Cinebench 約 -8%
- サーバ運用: VMware/KVM ハイパーバイザ層でも対策必須、共有ホスト型クラウド (AWS/GCP/Azure) は自動適用
Spectre/Meltdown と類似脆弱性との違い
- Spectre vs Meltdown: Spectre は分岐予測誤投機による境界越え、Meltdown はカーネル/ユーザ空間境界の OoO 実行漏洩。Meltdown は Intel 特有
- Spectre vs Rowhammer: Rowhammer (2014) は DRAM ビット反転による物理層攻撃、Spectre は CPU 論理層
- Spectre vs Heartbleed: Heartbleed (2014) は OpenSSL 実装バグ、Spectre は CPU アーキ自体の設計問題
よくある質問(FAQ)
Q1: 自作PC で Spectre/Meltdown 対策はどこまで必要? A: 個人用途なら OS+BIOS 自動更新で十分。サーバ・複数ユーザ共有環境なら全緩和策有効化必須。Web ブラウザは Site Isolation (Chrome/Edge/Firefox) で JavaScript 経由攻撃を防御済み。
Q2: パフォーマンス低下を受け入れたくない場合の選択肢は?
A: 緩和策無効化は推奨されないが、隔離環境 (オフライン用ゲーミング機等) では mitigations=off カーネル引数で全緩和無効化可。新規組み立てなら最新世代 (Zen 5/Arrow Lake) 推奨。
Q3: AMD は Meltdown 影響を受けない理由は? A: AMD CPU は投機実行中の権限チェック実装が異なり、カーネル空間データを投機的にロードしない設計。ただし Spectre v1/v2 は影響を受け、Zenbleed/Inception 等 AMD 固有脆弱性も継続発見。
まとめ
- Spectre/Meltdown = 2018年1月公開の CPU 投機実行サイドチャネル攻撃
- Intel/AMD/ARM 全社・推定30億台に影響、KPTI+Retpoline+IBRS で緩和
- 派生脆弱性 (Retbleed/Zenbleed/Downfall/GoFetch) が2026年も継続発見
- 自作PC では OS+BIOS 最新化が基本、新規組は Zen 5/Arrow Lake で性能影響最小化