本文へスキップ

Spectreとは?

すぺくたー

Spectreとは、CPUの投機的実行という高速化機能を悪用してプロセス間のメモリ境界を越えて機密データを読み取るハードウェアレベルのセキュリティ脆弱性です。

Spectreは2018年1月に公開されたCPUマイクロアーキテクチャ上の脆弱性群の総称で、同時に発表されたMeltdownとともに業界に大きな衝撃を与えました。CVE-2017-5753・CVE-2017-5715として登録されています。

現代のCPUは処理を高速化するために投機的実行(Speculative Execution)分岐予測(Branch Prediction)という技術を使います。CPUは条件分岐結果が確定する前に「おそらくこちらの分岐に進む」と予測して先行処理を行い、予測が外れたらその結果を捨てます。Spectreはこの「捨てられるはずの処理の痕跡」がCPUのキャッシュに残ることを利用した攻撃です。

攻撃の流れを簡単に示すと次の通りです。

  • 攻撃者は分岐予測器を特定のパターンで「訓練」し、本来は実行されないコードパスへCPUを誘導する。
  • 投機的実行中に他プロセスのメモリ上の機密データが参照される。
  • 処理は破棄されるがキャッシュの状態変化が残るため、タイミング差(サイドチャネル)を計測して1ビットずつ情報を読み出せる。

Spectreはソフトウェアだけでは完全な防御が難しく、OSやブラウザによる部分的緩和策に加えてCPUのマイクロコードアップデートも必要とされました。Intel・AMD・ARMなど主要CPUベンダーが影響を受けた点でその深刻さが際立ちます。

使い方・例文

ブラウザ上で動作する悪意あるJavaScriptがSpectreを悪用し、同じ端末で開いている別タブのパスワードやセッショントークンを読み取るといった攻撃シナリオが実証されました。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語