Spectre攻撃(すぺくとるこうげき)
最終更新:2026/4/27
Spectre攻撃は、CPUの投機的実行機能を悪用し、本来アクセスできないメモリ領域の情報を窃取する脆弱性である。
別名・同義語 投機的実行攻撃投機的脆弱性
ポイント
Meltdown攻撃と並び、現代のCPUに存在する深刻なセキュリティリスクとして知られる。ソフトウェアによる対策が主となる。
Spectre攻撃とは
Spectre攻撃は、2018年に発表されたCPUの脆弱性であり、Intel、AMD、ARMなどの主要なCPUメーカーの製品に影響を及ぼした。この攻撃は、CPUがプログラムの実行速度を向上させるために行う「投機的実行」という機能を悪用するものである。
投機的実行とは、CPUが将来的に必要となる可能性のある命令を予測し、事前に実行しておくことで、プログラムの処理速度を向上させる技術である。しかし、この予測が誤っている場合、CPUは誤った命令を実行し、その結果として本来アクセスできないメモリ領域の情報がキャッシュに一時的に保存されることがある。Spectre攻撃は、このキャッシュに保存された情報を読み取ることで、機密情報を窃取する。
Spectre攻撃の種類
Spectre攻撃には、主に以下の3つのバリエーションが存在する。
- Spectre Variant 1 (境界チェックバイパス): 攻撃者が、境界チェックをバイパスして、本来アクセスできないメモリ領域にアクセスする。
- Spectre Variant 2 (分岐予測の間違い): 攻撃者が、分岐予測の間違いを利用して、本来実行されないコードを実行させる。
- Spectre Variant 4 (Speculative Store Bypass): 攻撃者が、ストア命令の投機的実行を利用して、キャッシュのタイミングを操作し、情報を窃取する。
Spectre攻撃への対策
Spectre攻撃への対策としては、主に以下のものが挙げられる。
- マイクロコードアップデート: CPUメーカーが提供するマイクロコードアップデートを適用することで、投機的実行の動作を修正し、脆弱性を軽減する。
- ソフトウェアアップデート: オペレーティングシステムやブラウザなどのソフトウェアを最新の状態に保つことで、攻撃に対する防御機能を強化する。
- コンパイラによる対策: コンパイラが、投機的実行を抑制するコードを生成するように修正する。
- Retpoline: 分岐予測を制御する技術。
これらの対策を組み合わせることで、Spectre攻撃のリスクを大幅に軽減することができる。