JPSRT LOGO

Azure Storage SDK でのクライアントサイド暗号化におけるパディング オラクル の脆弱性を軽減

本ブログは、Mitigation for Azure Storage SDK Client-Side Encryption Padding Oracle Vulnerability の抄訳版です。最新の情報は原文を参照してください。


Googleは、 協調的な脆弱性の公開 (Coordinated Vulnerability Disclosure – CVD) に基づいて、Azure Storage SDK (Python, .NET, Java 用) のクライアントサイド暗号化を使用しているお客様に影響を与える可能性のあるパディング オラクル 脆弱性 (CVE-2022-30187) を、Microsoftに通知しました。本脆弱性を緩和するため、2022年7月12日 (米国時間) にAzure Storage SDK のクライアントサイド暗号化機能(v2)の新しい一般提供版(GA)を、リリースしました。

マイクロソフトは、Azure サービスに影響を与えるこの脆弱性において、悪用を確認していません。 クライアントサイド暗号化を必要とし、本脆弱性の影響を受けるお客様は、セキュリティを維持するために、 v2 に移行することをお勧めします。詳細については、Azure Storage のブログ、または、以下の「リファレンス」セクションを参照してください。

お客様への影響:

前述のように、Azure Storage SDK (Python、.NET、Java 用) でクライアントサイド暗号化を使用しているアプリケーションは影響を受ける可能性があり、セキュリティを維持するために更新する必要があります。影響を受けるかどうかについては、Azure Storage ブログの「How to verify if you use client-side encryption feature? 」セクションを参照してください。

v2 に移行する方法については、Azure Storage ブログの「Action Required to remediate this vulnerability 」セクションを参照してください。

移行には、a) クライアントサイド暗号化 v2 を使用するようにコードを更新すること、および b) クライアントサイドの暗号化 v1 で以前に暗号化されたデータをクライアントサイド暗号化 v2 に移行する必要があります。

クライアントサイド暗号化の代わりに影響を受けるお客様は、Azure Storage サーバー側の暗号化を使用して保存データを保護して調査できます。サーバー側の暗号化の詳細については、Azure Storage ブログの「Azure Storage server-side encryption 」セクションを参照してください。

技術的な詳細:

Azure Storage .NET、Java、および Python SDK は、Azure Key Vault または別のキー ストアで管理されているカスタマー マネージド キーを使用して、クライアントでの暗号化をサポートします。以前にリリースされたバージョンの Azure Storage SDK では、クライアントサイド暗号化に暗号ブロックチェーン (CBC) モード (“v1” と呼ばれます) が使用されます。CBC ブロック モードの v1 実装は、攻撃者が BLOB への書き込みアクセス権を持ち、復号化の失敗を観察できる場合、パディング オラクル 攻撃に対して脆弱です。マイクロソフトの調査によると、攻撃者は BLOB の内容を復号化するために、プレーン テキストの 1 バイトあたりかなりの数のキーストロークを実行する必要があります。繰り返しになりますが、マイクロソフトは、Azure サービスに影響を与えるこの脆弱性の悪用を確認していません。

この脆弱性を報告し、マイクロソフトのお客様の安全を守るために、マイクロソフト セキュリティ レスポンス センター(MSRC)と協力して協調的な脆弱性の公開 (Coordinated Vulnerability Disclosure – CVD) に取り組んでくださったGoogle に感謝いたします。

リファレンス: