CyberGlossary

脆弱性

Spectre

別称: 投機実行攻撃

定義

CPU の投機的実行を悪用し、キャッシュベースのサイドチャネルを介してセキュリティ境界を越えてデータを漏えいさせるマイクロアーキテクチャ攻撃の総称。

2018 年 1 月に公表された Spectre(CVE-2017-5753 v1、CVE-2017-5715 v2、その後の派生多数)は、現代のアウトオブオーダー CPU が分岐や間接ジャンプの予測ミス後にも命令を投機的に実行する点を利用します。これらの一過性命令はキャッシュに痕跡を残し、精密なタイミング測定によって攻撃者が読み取ることができます。投機結果がアーキテクチャ的にコミットされなくても情報が漏れます。Spectre は Intel・AMD・ARM など広範に及び、プロセス/VM 分離を破ることがあり、完全な修正が困難です。緩和策にはコンパイラのバリア(retpoline、LFENCE、speculative load hardening)、マイクロコード更新(IBRS、IBPB、STIBP、eIBRS)、プロセス分離、ブラウザのサイト分離、新世代 CPU の設計見直しなどがあります。

  • Spectre v1(Bounds Check Bypass):ユーザープロセスからカーネルメモリを漏えい。
  • Spectre v2(Branch Target Injection):クラウド環境で VM 境界を越境。

関連用語