概要:Battering RAMエクスプロイトの脅威
クラウドプロバイダーは、ユーザーデータを保護するためにハードウェアベースのメモリ暗号化に依存しています。これにより、パスワード、財務記録、個人ファイルなどの機密情報がハッカーや内部の脅威から守られています。Intel SGXやAMD SEV-SNPといった主要な技術は、クラウドホストや管理者が侵害された場合でも、暗号化されたデータが保護されるように設計されています。
しかし、「Battering RAM」と呼ばれる新しい攻撃手法が、これらの保護をわずか50ドル未満の安価なハードウェアアドオンで突破できることを示しました。このエクスプロイトは、オペレーティングシステムやハイパーバイザーの下で動作するため、ソフトウェアによる防御では検出できません。
Battering RAMの構築と仕組み
研究者たちは、プロセッサとメモリモジュールの間に挟む小型のボードである低コストのインターポーザーを開発しました。このインターポーザーは、システム起動時には正常に動作し、すべての組み込みセキュリティチェックを通過します。オペレーティングシステムとクラウドプラットフォームがメモリを安全と判断した後、攻撃者はインターポーザー上の隠されたスイッチを起動できます。
攻撃の仕組みは以下の通りです:
- ステルス起動: インターポーザーは起動中も透過的に動作し、システムがメモリ暗号化キーとセットアップルーチンを検証することを許可します。
- 悪意あるモードのトリガー: 起動後、攻撃者は簡単なハードウェアスイッチを切り替えます。インターポーザーはアドレスメタデータを書き換え、保護されたメモリページが攻撃者制御の場所にリダイレクトされるようにします。
- 暗号文のキャプチャ: エイリアスされたバッファを読み取ることで、攻撃者はセキュアエンクレーブまたは仮想マシンに属する暗号化されたデータをキャプチャします。
- リプレイ攻撃: 次に、インターポーザーは再構成され、攻撃者自身のエンクレーブが被害者の物理アドレスを占有します。キャプチャされた暗号文がリプレイされ、プロセッサはそれを攻撃者のコンテキストで復号および実行することを強制されます。
- 平文の露出: 秘密にされるべき復号されたデータが攻撃者のエンクレーブに現れます。このプロセスにより、Intel SGXまたはAMD SEV-SNPによって保護されているメモリ領域への完全な読み取りまたは書き込みアクセスが可能になります。
Intel SGXとAMD SEV-SNPへの影響
このエクスプロイトは、IntelとAMDの主要な防御メカニズムに深刻な影響を与えます。
- Intel SGX: Intel CPU上のセキュアエンクレーブ内でコードとデータを保護するように設計されています。Battering RAMは、暗号文を攻撃者のエンクレーブにリプレイすることで、エンクレーブの分離をバイパスします。
- AMD SEV-SNP: AMD EPYCプロセッサ上で実行される仮想マシンを保護することを目的としています。この攻撃は、SEV-SNPがVMメモリの信頼性を確認するために使用する整合性チェックとリモートアテステーションを破綻させます。
どちらの場合も、エクスプロイトはオペレーティングシステムとハイパーバイザーの下で動作するため、ソフトウェアによる防御では検出できません。これにより、クラウドの顧客とプロバイダーは、データ盗難、改ざん、またはシステムクラッシュの危険にさらされます。
低コストで広がる脅威
テストに使用される商用メモリインターポーザーは通常10万ドル以上かかりますが、Battering RAMインターポーザーは、市販のアナログスイッチと4層PCBを使用しており、50ドル未満で製造できます。すべての回路図と設計ファイルが公開されているため、悪意のあるアクターがこの技術を採用するリスクが高まっています。
考えられる防御策
IntelとAMDは研究結果を認識していますが、Battering RAMに完全に対処するにはメモリ暗号化プロトコルの再設計が必要であると述べています。考えられる防御策には以下が含まれます。
- メモリメタデータに対する暗号学的整合性チェックの追加。
- 起動時だけでなく、システム実行中もメモリマッピングを検証すること。
- 予期しないメタデータの変更を警告する改ざん防止ハードウェアの導入。
将来のプロセッサにこのような変更が導入されるまで、クラウドユーザーは物理メモリ攻撃を脅威モデルに組み込み、マルチパーティメモリ暗号化やリアルタイムハードウェアアテステーションなどの追加の保護策を検討して、重要なワークロードを保護する必要があります。