Spectre v2対策を突破する新攻撃「TONTOU」が登場、Linuxのパスワードハッシュ漏えいを実証

CPUの投機的実行を悪用する「Spectre v2」への既存対策をすり抜ける新たな攻撃手法「TONTOU」を、マサチューセッツ工科大学(MIT)コンピュータ科学・人工知能研究所(CSAIL)の研究者が発表しました。研究チームはTONTOUを使ってLinuxのカーネルメモリを読み出し、パスワードハッシュが保存される「/etc/shadow」の内容を取得できることを実証しています。
TONTOU: On the Exploitability of Time-of-Neutralization to Time-of-Use Windows
(PDFファイル)https://people.csail.mit.edu/mengjia/data/2026.USENIX.TONTOU.pdf
SpectreはCPUが処理を高速化するために行う「投機的実行」を悪用する攻撃です。CPUは分岐先や実行経路を予測して先回りで命令を実行しますが、予測が外れて処理結果が破棄されてもキャッシュなどに痕跡が残る場合があります。攻撃者は残った痕跡を分析することで、本来アクセスできない情報を推測できます。
Spectreの一種であるSpectre variant 2(Spectre v2)では、CPUが分岐先を予測する仕組みを誤学習させ、秘密情報を扱う処理へ投機的に誘導します。IntelやAMDは対策として、分岐予測に使われる内部状態を消去したり攻撃者から隔離したりする「neutralization(無害化)」などの仕組みを導入してきました。
以下は論文が示した無害化処理の例です。上段の「Entry neutralization」はカーネルへ入った直後に無害化する方式、下段の「In-place neutralization」は保護したい分岐の直前で無害化する方式を表しています。いずれも危険な予測情報を無害化してから分岐を実行することで、Spectre v2による誤った投機的実行を防ぐ狙いがあります。

しかし研究チームは、無害化処理が終わってから実際に分岐予測が利用されるまでにわずかな時間差があることに着目しました。「Time-of-Neutralization to Time-of-Use」の頭文字を取った「TONTOU」は、無害化された後の分岐予測器へ再び攻撃者に都合のいい情報を混入させる手法です。
論文の概念図は以下の通り。①まずカーネル側で分岐予測器が無害化されます。②次に攻撃者が被害側の処理をTraining gadgetへ誘導し、③Training gadgetによって分岐予測器を再び汚染。④最終的に汚染された予測状態を保護対象の分岐に使わせ、Disclosure gadgetへ投機的実行を誘導して秘密情報を漏えいさせます。つまり、対策によって一度きれいにされた分岐予測器を利用直前に再び汚染するというわけです。

TONTOUでは狙ったタイミングで割り込みを発生させる「Interrupt Injection」も利用します。一般ユーザー権限のプログラムからタイマーを設定し、カーネルの処理途中で割り込みを起こすことで、分岐予測器へ再度影響を与えられる場合があるとのこと。
研究チームはIntelのCascade Lake RefreshとArrow Lake、AMDのZen 2とZen 4でTONTOUを検証しました。Intel環境では一部の分岐予測機構を再学習させることに成功し、AMD Zen 2ではLinuxが採用するSpectre v2対策「Safe RET」をすり抜けられました。一方で同じ方法によるAMD Zen 4での誤分岐は確認されなかったとしています。
下図は無害化後から分岐までの「post-neutralization window」の大きさを変化させ、攻撃に利用できるタイミングで割り込みが発生する可能性を調べた結果。Zen 2、Zen 4、Cascade Lake Refresh、Arrow Lakeで程度は異なるものの、無害化処理と分岐の間に割り込みを差し込める余地が存在することが確認されています。

さらにAMD Ryzen 7 4700Gを使った実験では、Linuxのカーネルメモリを平均毎秒5.47バイト、平均91.97%の精度で読み出すことに成功しました。「/etc/shadow」の位置を探す実験では10回中5回で特定に成功し、平均所要時間は18分だったとのこと。なお、攻撃には対象マシン上で一般ユーザー権限のコードを実行できることが前提となります。
研究チームは対策として、割り込み処理から戻る際に分岐予測器を改めて安全な状態にする方法などを挙げています。AMDも影響範囲を公表しており、論文ではLinuxカーネル側での修正が計画されていると説明されています。研究チームはTONTOUによって、従来は安全と考えられていた「Spectre v2対策を実行した後」も攻撃対象になり得ることが示されたと述べています。
・関連記事
IT業界を根幹から揺るがした脆弱性「Spectre」「Meltdown」はCPUのパフォーマンスにどんな爪痕を残したのか? - GIGAZINE
Intel製CPUに内在する脆弱性問題の根は深く「すべてのプロセッサが安全性と高速性を両立できない問題を抱える」との指摘 - GIGAZINE
CPUに内在する脆弱性「Spectre」に新種「Variant 4」が登場、Intel・AMD・ARMは対応策を発表 - GIGAZINE
CPUの脆弱性「Spectre」に対応してAMDがリリースしたパッチに問題があることをIntelが発見 - GIGAZINE
CPU脆弱性「Spectre」の概念実証と脆弱なエンドポイントを探す拡張機能「Spectroscope」をGoogleが公開 - GIGAZINE
チップの動作や脆弱性を研究するためにMITの研究者らが独自OS「Fractal」を開発 - GIGAZINE
・関連コンテンツ
in セキュリティ, Posted by log1d_ts
You can read the machine translated English article A new attack called 'TONTOU' has emerged….







