web-dev-qa-db-ja.com

Meltdownのマイクロコードまたはその他のハードウェア修正はありますか?

私の質問にリンク ここMSサポートページ 状態

1月のセキュリティ更新プログラムのインストールに加えて、プロセッサマイクロコードの更新が必要です。

しかし、私が読んだ以前の記事では、マイクロコードの修正は不可能だと言っていました。そのため、メモリの分離を可能にするために、すべてのOSベンダーがパッチをリリースしなければなりませんでした。

2
Darren

現在できることはいくつかしかありません:AMDでは分岐予測を無効にし、Intelでは分岐予測が使用されたことを示しています:

https://www.suse.com/de-de/support/update/announcement/2018/suse-su-20180009-1/

Linuxでは、新しいカーネルコードと対話するためにIntelマイクロコードパッチが主に必要です。同様のことがマイクロソフトにも当てはまるかもしれません。

どちらもどちらも設計上の欠陥を修正していません、それはIntelによればどれもです;)

ウイルススキャナーがサポートされていないsyscallsを使用している場合、パッチは適用されません。パッチが適用されていないCPUについては、同じことが当てはまる可能性があります。

Microsoftから提供されているpowershellコマンドを実行するだけで、保護がアクティブかどうかを確認できます( https://www.powershellgallery.com/packages/SpeculationControl/1.0.1 )。出力が正であれば問題ありません。マイクロコードがないためにパッチが無効になっているかどうかが表示されます。出力例:

BTIHardwarePresent             : True
BTIWindowsSupportPresent       : True
BTIWindowsSupportEnabled       : True
BTIDisabledBySystemPolicy      : False
BTIDisabledByNoHardwareSupport : False
KVAShadowRequired              : True
KVAShadowWindowsSupportPresent : True
KVAShadowWindowsSupportEnabled : True
KVAShadowPcidEnabled           : True
1
till

現在のマイクロコードは 分岐予測子の動作を変更する の2つの方法で修正します:間接分岐(IBRSと呼ばれる)の予測を無効にすることと、コンテキストスイッチを実行するときに間接分岐予測子の内容をフラッシュすることユーザー空間からカーネル空間へ、またはその逆(IPBPと呼ばれる)。

これらはどちらもSpectre攻撃を難しくします(攻撃者は直接ブランチの攻撃に制限されるようになり、投機的に実行するコードの選択が大幅に減少します)。投機的にメモリアクセス制限を回避するメルトダウン攻撃には影響しません。

1
Mark