【ITニュース解説】MileSan: Detecting μ-Architectural Leakage via Differential HW/SW Taint Tracking

2025年09月06日に「Hacker News」が公開したITニュース「MileSan: Detecting μ-Architectural Leakage via Differential HW/SW Taint Tracking」について初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

ITニュース概要

CPUの内部動作から機密情報が漏洩する脆弱性「マイクロアーキテクチャリーク」を検出する新技術「MileSan」が発表された。ソフトウェアとハードウェア両面でデータの流れを追跡し、その差から情報漏洩を発見する。

ITニュース解説

コンピュータの頭脳であるCPUは、年々高速化、高機能化している。その性能向上の裏側には、次に実行される命令を予測して先回りして処理する「投機的実行」や、よく使うデータを高速な記憶領域に一時保管する「キャッシュ」といった、様々な最適化技術が存在する。しかし、これらの高度な仕組みが、時としてセキュリティ上の深刻な弱点、すなわち脆弱性の原因となることがある。2018年に発覚した「Spectre」や「Meltdown」といった攻撃は、まさにこのCPUの内部的な動作、すなわちマイクロアーキテクチャを悪用して、本来アクセスできないはずのパスワードなどの秘密情報を盗み出すものであった。このような情報漏洩は「マイクロアーキテクチャリーク」と呼ばれ、ソフトウェアのバグとは異なり、CPUのハードウェア設計そのものに起因するため、対策が非常に難しいという課題があった。

これまで、こうした脆弱性を発見するには、高度な専門知識を持つセキュリティ研究者がCPUの設計を丹念に手作業で分析したり、既知の攻撃パターンに基づいて検査したりする方法が主流であった。しかし、現代のCPUの内部構造は極めて複雑であり、ソフトウェアの命令がハードウェア上でどのように処理されるかを完全に把握することは困難を極める。そのため、手動での分析には限界があり、未知の脆弱性を見逃してしまうリスクが常に存在していた。CPUを設計する段階で、このような情報漏洩の危険性を網羅的かつ自動的に検出できる技術が強く求められていた。

この課題に対し、スイス連邦工科大学チューリッヒ校の研究チームが「MileSan」という画期的な手法を開発した。MileSanは、CPUの設計データをもとに、マイクロアーキテクチャに起因する情報漏洩を体系的に、かつ自動で検出することを目的としている。この技術の中核をなすのが「差分ハードウェア/ソフトウェア テイントトラッキング」というアプローチである。

この仕組みを理解するために、まず「テイントトラッキング」という考え方を知る必要がある。これは日本語で「汚染追跡」と訳され、プログラムやシステム内で特定のデータがどのように伝播していくかを追跡する技術である。例えば、パスワードのような秘密情報に「汚染」という目印をつけ、その目印がついたデータがどこにコピーされ、どの計算に使われ、最終的にどこへ到達するのかを監視する。もし汚染されたデータが意図しない場所に漏れ出そうとしたら、それを検知することができる。MileSanはこのテイントトラッキングを、ハードウェアとソフトウェアの両面で、さらに「差分」というユニークな方法で応用する。具体的には、2つの異なるシナリオを想定し、その結果を比較することで情報漏洩を特定する。

一つ目のシナリオは、「ソフトウェアの仕様通りに実行した場合」の理想的な状態である。これは、CPUの内部的な最適化などを一切考慮せず、プログラムの命令が一つ一つ順番に、定義された通りに実行される世界を想定したものだ。この理想的な世界では、セキュリティ機構が正しく働き、秘密情報、つまり汚染されたデータが、キャッシュの状態やメモリへのアクセスパターンといった、外部から観測可能な部分に影響を与えることはない。MileSanは、この理想的な実行における汚染データの流れをシミュレーションし、記録する。

二つ目のシナリオは、「実際のCPUのハードウェア設計通りに実行した場合」の現実の状態である。こちらでは、投機的実行やキャッシュなど、性能向上のための複雑なマイクロアーキテクチャの動作を忠実に再現する。そして、理想的な状態と同じプログラムを実行させ、現実のハードウェア上での汚染データの流れを追跡する。

MileSanの真骨頂は、この二つのシナリオから得られた汚染追跡の結果を比較する点にある。もし、理想的なシナリオでは汚染されなかった場所が、現実のシナリオでは汚染されていた場合、そこに「差分」が生じることになる。例えば、理想的な世界ではアクセスが許可されないはずのデータが、現実のCPUでは投機的実行によって一時的に読み込まれ、その結果キャッシュに痕跡が残ってしまったとする。この場合、キャッシュの状態が秘密情報によって「汚染」されたことになり、理想と現実の間に差分が生まれる。この差分こそが、マイクロアーキテクチャに起因する情報漏洩、つまり脆弱性が存在する確かな証拠となる。攻撃者は、このキャッシュの痕跡のような僅かな変化を観測することで、間接的に秘密情報を推測できてしまう。

研究チームがMileSanを実際のCPU設計に適用したところ、Spectreのような既知の脆弱性を自動的に再発見することに成功した。さらに重要なのは、これまで知られていなかった新たな種類の脆弱性をも複数発見したことである。これは、MileSanが特定の攻撃パターンに依存せず、情報漏洩という現象そのものを原理的に検出できる高い能力を持つことを示している。この技術は、CPUを開発するメーカーにとって非常に価値が高い。製品が出荷されてから脆弱性が発見されると、その影響は甚大である。MileSanをCPUの設計・検証プロセスに組み込むことで、開発段階で未知の脆弱性を事前に発見し、修正することが可能になる。これにより、より安全で信頼性の高いCPUを世に送り出すことができ、私たちが日常的に使用するあらゆるコンピュータシステムの安全性が向上することに繋がる。MileSanは、ハードウェアセキュリティの分野における脆弱性検出の精度と網羅性を大きく前進させる、重要な一歩と言えるだろう。

【ITニュース解説】MileSan: Detecting μ-Architectural Leakage via Differential HW/SW Taint Tracking | いっしー@Webエンジニア