Epycの暗号脆弱性?Google社員がRAM暗号化アルゴリズムを破った後、AMDがサーバープロセッサ向けファームウェア修正をリリース

Table of Contents

Epycの暗号脆弱性?Google社員がRAM暗号化アルゴリズムを破った後、AMDがサーバープロセッサ向けファームウェア修正をリリース

更新されたMicrochip 社のスリンガー AMD は、Epyc プロセッサ上で実行される Linux KVM 仮想マシンのメモリを保護するために使用される Secure Encrypted Virtualization テクノロジー (SEV) の暗号化を修正するファームウェア パッチをリリースしました。

「AMDは、業界の研究者との継続的な協力を通じて、Linuxオペレーティングシステムを実行する仮想マシン上でユーザーが選択できるAMDのセキュア暗号化機能を使用すると、暗号化技術の動作を操作することで暗号化キーが侵害される可能性があることを認識しました」とAMDの広報担当者は昨夜The Registerに語った。

AMDは、このリスクを軽減するために、エコシステムパートナーとAMDウェブサイトにファームウェアベースの暗号化アップデートをリリースしました。」

SEVは、AMDセキュアプロセッサによって管理される暗号化キーを使用して、ゲストVM同士およびハイパーバイザーから分離します。各ゲストVMには独自の暗号化キーがあり、このキーは基盤となるハードウェアとセキュアプロセッサで直接使用され、アクセス時にRAMセクションを透過的かつ自動的に暗号化および復号化します。

目標は、メモリに保存されたソフトウェアとデータを、ホストサーバーの管理者、ハイパーバイザー、そして同じマシンを共有するゲストによる詮索好きな目や干渉から安全に保護することです。SEVを使用してRAM内のコードとデータを暗号化および復号化できるのは、ゲストマシン上でSEVを使用するユーザーのみである必要があります。他のユーザーはアクセスできません。

このテクノロジーにより、クラウド ホスティング プロバイダーは、加入者に対して、Epyc 搭載サーバー上で実行されているゲスト VM が権限のない第三者によってアクセスされたり改ざんされたりしないことを保証できます。

あるいは、安全であればそうなるだろう。Google Cloud セキュリティチームのセキュリティ研究者、Cfir Cohen 氏によると、SEV の楕円曲線暗号(ECC)の実装には欠陥があるという。

何が悪かったのか

VMが起動すると、曲線上の点とプラットフォームDiffie-Hellman(PDH)鍵を掛け合わせることで鍵を生成します。通常、この曲線は米国国立標準技術研究所(NIST)の曲線リストから選択されます。無効曲線攻撃では、異なる曲線が使用され、その計算結果を用いて暗号化を破ることができます。

「攻撃者は起動開始コマンドにおいて、公式NIST曲線上にない小さなECCポイントを送信し、SEVファームウェアに小さなポイントをファームウェアの秘密DHスカラー値で乗算させることが可能です」とコーエン氏は火曜日の開示通知で説明した。「十分なモジュラー剰余を集めることで、攻撃者は完全なPDH秘密鍵を復元できます。PDHがあれば、攻撃者はセッション鍵とVMの起動シークレットを復元できます。これにより、SEVが提供する機密性保証が破られます。」

この攻撃によって回復されたデータは、中国剰余定理を用いてオフラインでつなぎ合わせ、完全な鍵を取得する必要があります。これらの鍵を入手した不正なゲストや管理者によってどれほどの被害がもたらされるかは、現在も調査中です。AMDがファームウェアの修正をリリースするには、この攻撃で十分な被害だったようです。

Epycは失敗?AMDの仮想マシン暗号化は破れると専門家が主張

続きを読む

この脆弱性は2月にAMDに開示され、SEVファームウェアバージョン0.17ビルド11以下を実行しているAMD Epycサーバーに影響します。AMDは6月4日、ハードウェアパートナー各社に対し、顧客およびインストール済みサーバーへのファームウェアアップデートの配布を開始しました。こちら[.zip]から直接ダウンロードできます。この修正により、鍵生成がNIST公式曲線に制限されます。

Cohen氏の開示によると、脆弱なシステムで作成されたPDH証明書は依然として有効であり、クライアントVMを安全なシステムから脆弱なシステムに移動できる可能性があるとのことです。そのため、パッチ適用後はVMを再起動する必要があります。

「脆弱なシステムで生成されたPDHキーの証明書は依然として有効です」とコーエン氏は述べた。「つまり、SEVは、クライアントのVMを脆弱性のないシステムから脆弱なシステムに移行するマイグレーション攻撃に対して依然として脆弱である可能性があるということです。」

楕円曲線暗号は1985年にまで遡り、ワシントン大学の数学教授ニール・コブリッツ氏と、当時IBMに在籍していた数学者ビクター・ミラー氏の研究から生まれました。ECCが広く普及したのは約15年前です。

2009年、NSAはECCが依然として強力である一方、RSAやDiffie-Hellmanといった他のアルゴリズムは攻撃に屈しているとして、この技術を推奨しました。しかし2015年、NSAは方針を転換し、ECCベースのSuite Bアルゴリズムを放棄し、将来の量子コンピュータの理論的な暗号解読能力に対抗できる、より適した暗号化アルゴリズムの開発を推進しました。NISTは現在、「耐量子暗号」のためのアルゴリズムを評価しています。®

追加更新

ゲスト VM 内のソフトウェアまたはユーザーがこの SEV の脆弱性を悪用して他のゲストを監視したり改ざんしたりできるかどうか、またはこれを悪用するにはホストに対する管理者アクセスが必要かどうかという質問に対して、AMD の広報担当者はやや不可解な回答をしました。

そのため、システム構成によっては、ゲストVMやホスト管理者がこの暗号化の欠陥を利用して他のゲストに干渉できる可能性があります。安全を確保するため、修正を適用してください。

Discover More