Spectre
分岐予測と投機的実行を悪用し、キャッシュのタイミング差からメモリの内容を盗み出すCPU脆弱性の一群(CVE-2017-5753/5715、2018年1月公表)。
バリアント1(境界チェックの回避)では、分岐を学習させてCPUに配列の範囲外を投機的に読ませる。境界チェックが後から誤りを取り消しても、キャッシュの状態は変わったままだ。バリアント2(分岐先注入)では、間接分岐を学習させて誤った関数を投機的に実行させる。影響はIntel、AMD、ARM、IBMに及ぶ。
対策にはretpoline、IBPB/IBRS/STIBPといったMSR、マイクロコード更新、カーネル内のポインタ無害化がある。性能への影響は0〜15%程度。Spectreは「投機的実行攻撃」という研究分野を切り開き、以来数十の変種が報告されている。