RyzenやEPYCにファームウェアが改ざんされる脆弱性

AI要約

セキュリティベンダーのIOActiveがAMDのRyzenやEPYCに存在する脆弱性「Sinkclose」を発見。攻撃者はSMMにアクセスし、コードを実行可能。駆除が困難でPCの捨てる必要あり。

AMDはPIの更新で対策し、一部の製品は修正予定。過去のCPUにも影響がある可能性あり。古いAMD CPUを利用する場合は注意が必要。

修正対象となる製品にはモバイル向けRyzen、EPYCなどが含まれる。一部はPI更新やマイクロコード提供などで対応。

RyzenやEPYCにファームウェアが改ざんされる脆弱性

 セキュリティベンダーのIOActiveは、AMDのRyzenやEPYCなどにおいて、BIOSが改ざんされる可能性があるゲストメモリの脆弱性「Sinkclose」があることを発見した。CVE(共通脆弱性識別子)はCVE-2023-31315で、リスク評価は7.5となっている。

 この脆弱性は、Ring 0権限を持つ攻撃者が、本来はOS上からアクセスできないさらに高い権限であるSMM(システムマネジメントモード)にアクセスできてしまうというもの。SMMロックをオンにしていても迂回されてしまう。

 これは、Model Specific Register(MSR)における入力検証が不十分であることによって引き起こされる。SMMにアクセスされると、攻撃者はファームウェアの深いところにマルウェアを埋め込むことができ、OSが監視できないところで任意のコードを実行できてしまう。このため駆除も極めて困難になり、IOActiveの研究者はWIREDの取材記事の中で「いったん感染すれば、基本的にPCを捨てなければならない」と警鐘を鳴らす。

 AMDはこの脆弱性に対しPlatform Initialization(PI)の更新で対処。基本的にPIはOEMのBIOSアップデートを介して提供されるが、デスクトップ向けのRyzen 3000シリーズ(コードネームMatisse)は修正予定がなく、Ryzen 4000(Renoir)と5000(Vermeer)シリーズ以降が対象となる。

 一方、モバイル向けではRyzen 3000(Picasso)以降で修正が予定されている。また、HEDTのRyzen Threadripper 3000/7000シリーズ、ワークステーション向けのRyzen Threadripper PRO/PRO 3000WXシリーズ、組み込み向け製品でも修正を予定している。

 サーバー向けの第1/2/3/4世代EPYCではPI更新のほか、軽減策オプションとしてファームウェア更新不要のマイクロコードも提供する。

 なお、研究者らはこの脆弱性は過去何十年にも渡って存在し続けてきたとしており、2006年あるいはそれ以前のCPUでも影響があるとしているが、AMDとしてはデスクトップ向けRyzen 3000は修正せず、それ以前のプロセッサについては言及がないことから、修正されることは期待薄だろう。古いAMD CPUを搭載したシステムを運用する際は注意されたい。