米マサチューセッツ工科大学(MIT)の研究チームは、半導体内部の動作やセキュリティ上の弱点を精密に分析する研究用OS「Fractal(フラクタル)」を開発した。Apple M1チップの解析では、ARMベースの保護機構「CSV2」の有効性を確認した一方で、新たなサイドチャネルの可能性と「Phantom Speculation(ファントム・スペキュレーション)」と呼ぶ現象も見つかった。
Fractalは、Windows 11やmacOS、Linuxといった汎用OSでは難しい半導体レベルの精密測定を目的に設計された研究用カーネルだ。
半導体セキュリティの研究では、キャッシュ、分岐予測、メモリ管理などCPU内部の仕組みを解析し、潜在的な攻撃経路を探る。世界的な問題となったSpectreやMeltdownも、こうしたマイクロアーキテクチャ脆弱性の研究から明らかになった事例として知られる。
ただ、汎用OSを使った検証では、実験条件を一定に保ちにくいという課題がある。OSのメモリ管理やスケジューリング、割り込み処理が測定に影響し、結果を左右するためだ。
MITの研究チームは、この制約を避けるためFractalをゼロから設計した。異なる特権レベルでも実験条件をできる限りそろえられるようにし、ユーザープロセスのメモリ空間で動作させながら、カーネル権限を持つ外部カーネルスレッドを用いて測定時のバックグラウンドノイズを大幅に抑えたとしている。
プロジェクトを率いたMIT電気工学・コンピュータ科学の博士課程、ジョセフ・ラビチャンドラン氏は、「ハードウェアを本来の想定とは異なる形で使っている」と説明し、「こうしたことがハードウェアで可能だとは、これまであまり考えられてこなかっただろう」と述べた。
研究チームはFractalを使い、Apple M1プロセッサの分岐予測メカニズムを分析した。分岐予測は、CPUが次に実行する命令を先読みして性能を高める仕組みだが、悪用されれば情報漏えいの経路になり得る。
分析の結果、Appleが採用するARMベースのセキュリティ機能「CSV2」が、異なる特権レベル間での投機的実行を遮断する仕組みとして機能していることを確認した。
一方で研究チームは、CSV2の保護が働く前に、CPUが実行候補のコードを命令キャッシュに先読みする現象を確認した。この過程はサイドチャネル経由で観測可能で、ユーザープログラムが間接的にカーネルのキャッシュ動作に影響を及ぼす可能性があるとしている。
さらに、iPhoneやiPadなどに使われるAppleシリコンでは、「Phantom Speculation」と呼ぶ現象も見つかった。一般命令がCPU内部で分岐命令として誤って解釈され、意図しない投機的実行が起きるという。研究チームは、この内容をすでにAppleに報告したとしている。
Fractalは、特定用途に限ったツールではなく、汎用的な半導体研究プラットフォームとして設計された。x86_64、ARM64、RISC-Vをサポートし、研究者が従来利用してきた標準的な分析ツールも移植した。
これにより、ほかの研究者も同じ環境で実験を繰り返し、結果を検証しやすくなる。半導体セキュリティ研究の再現性と精度の向上につながると期待される。
ラビチャンドラン氏はFractalを「OS分野の電子顕微鏡」と表現した。「手元の虫眼鏡では一部しか見えないが、電子顕微鏡を使えばより精密に観察できる」としたうえで、「Fractalが半導体セキュリティ研究全体の測定精度を高める基盤になってほしい」と語った。
研究チームは今後、Fractalがチップのセキュリティ機能の検証、マイクロアーキテクチャ脆弱性の分析、アーキテクチャ間の比較研究など、幅広い分野で活用されるとみている。