米マサチューセッツ工科大学 コンピュータ科学&人工知能研究所(MIT CSAIL)は18日(米国時間)、「Meltdown」および「Spectre」脆弱性について、演算性能の低下を起こさずに回避するための新たな手法を発見したことを発表した。

両脆弱性は、x86をはじめとするプロセッサで高速化のために実装されている「投機実行」機能を悪用することで、メモリを読み取りアプリの持つ機密情報を窃取できるというもの(Google、CPUの投機実行機能に脆弱性発見。業界をあげて対策へ)。

Intelが開発し2016年から同社製品に実装している「Cache Allocation Technology (CAT: キャッシュ割り当てテクノロジー)」では、プログラム間で互いの情報を読み取らせないためにキャッシュメモリ上の作業領域を分割して割り当てているが、この手法では共有キャッシュへのアクセスを監視することで、ほかのアプリケーションの内容を推測することが可能であり、本質的に安全でないという。

今回、CSAIL博士課程学生のLebedev氏らが考案したのは「Dynamically Allocated Way Guard (DAWG)」と称する手法で、いわゆる「安全なパーティション分割(Secure Way Partitioning)」の1種であるという。

CATなどの既存手法と異なり、DAWGでは保護ドメイン間のアクセスを厳密にブロックする。CSAIL博士課程学生のKiriansky氏は、DAWGを用いることで、「機密データを持つプログラムがデータを合理的に安全に保てるよう、プログラム間でどこまでデータを共有するべきか明確な境界を確立できる」としている。

研究チームによる試験では、DAWGを実装しても、CATと同等のシステム性能を維持でき、性能の低下なしに攻撃を回避。加えてDAWGの場合、OS側で最小限の修正を加えれば実現できるため、脆弱性対策として実装が容易であるという。

研究チームでは、DAWGがすべての投機実行に対する攻撃を防御できるわけではないが、幅広い非投機的な攻撃に対する簡単な解決策であるとして、今後もDAWGを改良し、既知の投機実行への攻撃を防止できるように取り組んでいくとしている。

詳細については、20日より福岡市で開催される「IEEE/ACM International Symposium on Microarchitecture (MICRO 51)」で発表される予定。