見たばかり this リング0からSMMへの新しい特権昇格。
内部の人々が好きなように実行できるように小さなVM /クラウドインフラストラクチャを運用しているとしましょう。この脆弱性が悪用されるのを防ぐ方法はありますか?たぶん、マスクアウトするいくつかのCPUIDビット?
この脆弱性はVMエスケープでは悪用できません。
攻撃は大まかに次のように機能します。
要するに、このタイプの攻撃は、攻撃者がIA32_APIC_BASEMSRを制御できる場合にのみ実行可能であるということです。
「ハードウェアでサポートされている」VM(VMX非ルートモード)を実行しているとすると、a VM)からMSRを書き込もうとすると、通常はVM exit、これはVMMによって処理されます。APICMMIOリマップを処理する「通常の」方法は、それを無視するか、VMMでリマッピングをエミュレートすることですが、これによってホストのAPIC範囲が再マップされることはありません。
私が考えることができる唯一の例外は、VMMがMSRビットマップ(特定のMSRを「ホワイトリスト」に登録してVM exits)を引き起こさないようにするために使用できます)を使用する場合です。ゲストがIA32_APIC_BASEを変更できるように、そのビットマップを誤って計算します(ネストされた仮想化を使用している場合、MSRビットマップをマージするプロセスである可能性があります)が、VMM自体の脆弱性になります。
そうは言っても、この脆弱性は悪用後も役立つ可能性があります。VMMが危険にさらされた場合、攻撃者はそれを使用してTXTをバイパスするか、検出が非常に難しいルートキットをインストールできます。
この脆弱性が悪用されるのを防ぐ方法はありますか?
実際、1つの方法は仮想化を使用することです。または、公式パッチを待つこともできます(Intelはそれに取り組んでいると言われています)。
Jacob Torreyには、このトピックに関する興味深いブログ投稿もあります。
http://blog.jacobtorrey.com/mitigations-to-the-memory-sinkhole