ハードウェアセキュリティの最新動向
2019年に公表されたMDS(マイクロアーキテクチャデータサンプリング)と呼ばれる脆弱性の特徴として、正しいものはどれか。
- A分岐予測器をわざと誤って学習させ、被害者のプログラムに、範囲の外にある配列の要素を投機的に読ませて秘密を取り出す
- BDRAMの同じ行を短い時間に何度も活性化して、隣の行のセルの電荷を失わせ、ほかのプロセスやカーネルのデータのビットを反転させる
- CラインフィルバッファなどCPUの中のバッファに一時的に置かれた、ほかの処理のデータを、一時的に実行された命令が受け取ってしまう
答えと解説を見る
正解:C. ラインフィルバッファなどCPUの中のバッファに一時的に置かれた、ほかの処理のデータを、一時的に実行された命令が受け取ってしまう
MDSは、RIDL、Fallout、ZombieLoadなどの名前で公表された一連の過渡的実行攻撃です。影響を受けたCPUでは、読み込みが例外などで取り消される場合に、キャッシュではなく内部のバッファに残っていた別のプロセスやカーネルのデータが、一時的に実行される後続の命令に渡ることがあり、それをキャッシュのサイドチャネルで取り出せました。攻撃者は読む番地を選べませんが、繰り返し観測して秘密を集められます。対策として、特権を切り替えるときに内部のバッファを消す機能がマイクロコードの更新で加えられましたが、SMTで同じコアを同時に使う別のスレッドからは切り替えなしに観測されるので、信頼できない相手とコアを共有しないことも必要になりました。
- A. Spectre(境界チェックを回避する型)の説明です。
- B. ロウハンマーの説明です。
- C. 正しい。キャッシュではなく、内部のバッファにあるデータが漏れるのが特徴です。