
MIT研究チーム、プロセッサ研究のため独自OSカーネルを開発
MIT CSAIL(コンピュータ科学・人工知能研究所)の研究チームが、プロセッサの動作とセキュリティ脆弱性を研究するため、ゼロから構築した独自のOSカーネル「Fractal」を開発した。31,000行以上のコードで実装されたFractalは、Apple M1プロセッサの既知外の動作を発見し、マイクロアーキテクチャ研究の新たなインフラストラクチャとなることが期待されている。
リード段階では、Fractalはx86_64、ARM64、RISC-Vに対応し、vim、GCC、dashシェルなど標準ツールのポートを含む一般的なPOSIXシステムコール機能を備えている。MIT CSAIL研究チームによるこの成果は、San Francisco、Californiaで開催されたIEEE Symposium on Security and Privacyで発表された。
Fractalの開発背景と機能
Fractalは、ハードウェア自体を研究対象として扱うため、ゼロから構築されたOSカーネルである。MIT電気工学・計算機科学科博士課程の学生Joseph Ravichandranは、「ハードウェアは設計されたとおりではない方法で使用している。ハードウェアでこのようなことが可能であることすら明らかではなかった。しかし、私たちはさまざまなプリミティブを抽出する方法を見つけた。手持ちの虫眼鏡があれば、少し見ることができる。しかし電子顕微鏡があれば、本当に話になる。これがFractalだ。OSの電子顕微鏡である」と述べた。
Fractalはvim、GCC、dashシェルなど、なじみ深い標準ツールのポートに加え、一般的なPOSIXシステムコール機能とCライブラリを備えている。
Apple M1での脆弱性発見
FractalはApple M1プロセッサの分岐予測器を深く調査した最初の主要なプロジェクトとして使用された。この調査により、先行研究では検出されていない知見が得られた。特に、「Phantom」と呼ばれるスペキュレーティブ攻撃クラスがApple Siliconに影響を与えることを初めて実証した。
ARM仕様CSV2はプリビレッジ境界を越えた推測実行の操作を防ぐことを目的としている。CSV2は間接分岐予測の実行段階では保護が機能するが、M1はCSV2保護が開始される前に命令キャッシュにターゲットをフェッチする。その結果、ユーザーコードはプリビレッジ境界を越えてカーネルがキャッシュにプルする内容に影響を与えることができるとみられる。
Phantom フェッチはM1上でプリビレッジレベルとアドレス空間の両方を越えて成功するが、実行段階は引き続きブロックされている。条件付き分岐予測器はどちらのコアタイプでもプリビレッジ分離がまったくないことがFractalで示された。MIT研究チームは、この成果をAppleのプロダクトセキュリティチームに開示した。
研究インフラストラクチャとしての期待
University of Southern CaliforniaのアシスタントプロフェッサーMengyuan Liは、「Fractalはマイクロアーキテクチャ逆工学ワークフローをしばしば場当たり的なものから再利用可能な研究インフラストラクチャへと転換するため、強力なアーキテクチャ貢献である。ソフトウェアノイズを軽減し、プリビレッジ境界全体での研究者の制御をより厳密にすることで、困難なハードウェア実験の解釈がはるかに容易になる」と述べた。
Ravichandranは、「カスタムカーネルパッチやカーネル拡張などの技術で道を切り開いた。夢は常に完全なカスタムOSを持つことで、これらのハックを不要にすることだった」と語った。
筆者の見立て
- Fractalはマイクロアーキテクチャ研究の手法を、QEMUやFFmpegなどのツールが自分たちの分野に果たしているような形へと発展させるべき基盤となる可能性を示唆している
- コミュニティの研究成果は、Fractalを通じて、ソフトウェアノイズの低減とコア・システムの制御精度の向上により、有意に信頼性と正確性が向上する見通しを示唆している
この記事は元記事の事実のみに基づいて自動生成されました。
出典
MIT News | Massachusetts Institute of Technology、「To study how chips really work, MIT researchers built their own operating system」、https://news.mit.edu/2026/to-study-how-chips-really-work-mit-researchers-built-their-own-operating-system-0610 (IEEE Spectrum の報道による)