Googleの研究者が、AMDのZen 1からZen 4までのCPUに「EntrySign」と呼ばれる深刻な脆弱性を発見した。この欠陥により、攻撃者がマイクロコードのアップデートを改変し、不正なコードを適用できる可能性がある。

問題の根本は、AMDがAES-CMACを署名検証に誤用していた点にある。この設計ミスにより、署名を偽造することでマイクロコードの改変が可能となる。さらに、AMDはNISTのドキュメントに掲載されていた公開キーを使用していたことが判明し、セキュリティリスクを一層高めていた。

ただし、この攻撃を実行するには管理者権限が必要であり、改変されたコードは再起動後に元に戻るため、恒久的な影響は限定的と考えられる。AMDはこの問題を修正するBIOSアップデートを2024年12月17日以降に公開しており、影響を受けるシステムの早急なアップデートが推奨される。


AMDのZen CPUに発見された「EntrySign」脆弱性の詳細

Googleの研究者が明らかにした「EntrySign」と名付けられた脆弱性は、AMDのZen 1からZen 4までのCPUに影響を及ぼす。この脆弱性の原因は、AMDが署名検証のプロセスでAES-CMACを不適切に利用していた点にある。AES-CMACは本来、メッセージ認証コード(MAC)として設計されており、ハッシュ関数として用いることは暗号学的に不適切とされている。

また、AMDはNISTのドキュメントに掲載されている公開されたサンプルキーを使用していたことが判明した。これにより、攻撃者がこのキーを悪用し、正規のマイクロコードアップデートとして偽装した不正なコードを適用することが理論上可能になる。脆弱性はCVE-2024-56161として登録されており、その重大度スコアは7.2と評価されている。これは高リスクに分類されるが、現実的な攻撃には管理者権限が必要となるため、影響範囲は限定的とみられる。

AMDはこの脆弱性を修正するため、2024年12月17日以降に新たなBIOSアップデートを公開している。これにより、マイクロコードの署名検証プロセスがより安全に強化され、攻撃の可能性が抑制される見込みだ。

「EntrySign」の実際の攻撃リスクと影響範囲

この脆弱性が実際の攻撃に利用される可能性については慎重な分析が必要である。攻撃を成功させるためには、ローカル管理者権限が必要であり、一般的なユーザーが悪意あるコードを実行される可能性は低い。また、マイクロコードの変更はシステムの再起動後にリセットされるため、改変された状態が持続することはない。これにより、マルウェアのように長期間にわたって悪用される脅威とは異なり、実際の被害は限定的になると考えられる。

ただし、この脆弱性を利用すれば、一時的ではあるもののCPUの挙動を意図的に変更することができるため、高度なサイバー攻撃の一環として利用される可能性は排除できない。特に、データセンターや企業のサーバー環境においては、管理者権限を持つ内部関係者による悪用リスクが考えられる。

また、Googleが公開したオープンソースツール「zentool」により、研究者だけでなく攻撃者もこの脆弱性を研究することが可能になる。これはセキュリティの透明性を高める一方で、新たな攻撃手法の開発につながる懸念もある。こうしたリスクを考慮すると、AMDの修正パッチ適用を迅速に進めることが不可欠だ。

CPUのセキュリティ設計に求められる改善点

今回の「EntrySign」の発覚は、マイクロコードのセキュリティ設計における根本的な課題を浮き彫りにした。特に、AMDがNISTの公開キーをそのまま使用していた点は、セキュリティ設計上の重大なミスといえる。公開されたキーを利用することで攻撃者が正規のアップデートとして署名を偽造できる状況を作り出してしまった点は、業界全体で再発防止策を検討すべき事例といえる。

また、AES-CMACを署名検証プロセスに使用していた点も設計上の問題である。本来、ハッシュ関数として利用するべきではないものを適用した結果、脆弱性が生じることとなった。これらの事例は、CPUメーカーが暗号技術の適用においてさらなる精査を行う必要があることを示唆している。

さらに、今回の件を受けて、ハードウェアベンダーはマイクロコードの署名検証プロセスを見直し、より安全な暗号方式への移行を検討することが求められる。IntelやArmを含む他のCPUメーカーも、同様の問題が潜在的に存在しないか精査することが必要であり、業界全体での対策が急務である。

Source:TechRadar