Spectre
Spectre とは何ですか?
SpectreCPU の投機的実行を悪用し、キャッシュベースのサイドチャネルを介してセキュリティ境界を越えてデータを漏えいさせるマイクロアーキテクチャ攻撃の総称。
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 の設計見直しなどがあります。
● 例
- 01
Spectre v1(Bounds Check Bypass):ユーザープロセスからカーネルメモリを漏えい。
- 02
Spectre v2(Branch Target Injection):クラウド環境で VM 境界を越境。
● よくある質問
Spectre とは何ですか?
CPU の投機的実行を悪用し、キャッシュベースのサイドチャネルを介してセキュリティ境界を越えてデータを漏えいさせるマイクロアーキテクチャ攻撃の総称。 サイバーセキュリティの 脆弱性 カテゴリに属します。
Spectre とはどういう意味ですか?
CPU の投機的実行を悪用し、キャッシュベースのサイドチャネルを介してセキュリティ境界を越えてデータを漏えいさせるマイクロアーキテクチャ攻撃の総称。
Spectre からどのように防御しますか?
Spectre に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
Spectre の別名は何ですか?
一般的な別名: 投機実行攻撃。