Index
SSL 3.0へのPOODLE攻撃
説明
この脆弱性は、サーバーがPOODLE攻撃の危険にさらされていることを示しています。この攻撃は、SSL 3.0のパディング検証における根本的な設計上の欠陥を悪用し、プロトコルのダウングレードと組み合わせたパディングオラクル攻撃を通じて暗号化された通信を復号します。
POODLE(Padding Oracle On Downgraded Legacy Encryption)は、SSL 3.0の実装がCBCモードでのブロック暗号パディングを適切に検証できない場合に発生します。パディングはメッセージ認証コードによってカバーされないため、攻撃者は暗号化されたデータを操作し、サーバーの応答をオラクルとして使用してシークレットを1バイトずつ復号できます。
仕組み:
- 攻撃者は、TLSから脆弱なSSL 3.0へのプロトコルのダウングレードを強制します
- 悪意のあるJavaScriptが、制御されたパディングを使用してリクエストを繰り返します
- サーバーの応答により、パディングの検証結果がオラクル情報として明らかになります
- 体系的な操作により、Cookieやトークンなどの機密データが抽出されます
要件:
- CBC暗号スイートを使用したSSL 3.0のサポート
- 中間者(Man-in-the-middle)ネットワークアクセス
- プロトコルのダウングレード機能
- 被害者のブラウザでのJavaScriptの実行
シナリオ例: パブリックWiFi上の攻撃者が、銀行のWebサイトへのログイン中に、被害者のブラウザをTLS 1.2からSSL 3.0にダウングレードさせます。巧妙に作成された数千のリクエストを行う挿入されたJavaScriptを通じて、攻撃者はSSL 3.0の弱いパディング検証を悪用し、10分以内にセッションCookieを1バイトずつ復号して、被害者の銀行口座への完全なアクセス権を取得します。
この攻撃は、SSL 3.0が根本的に安全ではなく、完全に無効にする必要がある理由を示しており、セッションハイジャック、データ盗難、およびコンプライアンス違反につながります。
推奨事項
POODLE攻撃を軽減するには:
主な防御 - SSL 3.0の無効化:
# Nginx設定
ssl_protocols TLSv1.2 TLSv1.3;
# Apache設定
SSLProtocol -all +TLSv1.2 +TLSv1.3
TLS_FALLBACK_SCSVの実装:
- プロトコルのダウングレード攻撃を防止します
- OpenSSL 1.0.1j以降および最新のTLSライブラリでサポートされています
- SSL 3.0を強制することなく安全なフォールバックを可能にします
ブラウザの保護:
- 最新のブラウザはデフォルトでSSL 3.0を無効にします
- ブラウザが最新であることを確認してください
- Content Security Policyの実装を検討してください
代替の軽減策(SSL 3.0が必要な場合):
- SSL 3.0でCBC暗号スイートを無効にします
- アンチPOODLEレコード分割を実装します
- RC4暗号のみを使用します
SSL 3.0を完全に無効にし、TLS_FALLBACK_SCSVを実装することで、組織は安全な暗号化通信を維持しながらPOODLEの攻撃ベクトルを排除できます。
リンク
基準
- SOC2_CONTROLS:
- CC_6_7
- CC_7_1
- CCPA:
- CCPA_1798_150
- GDPR:
- ART_32
- HIPAA_CONTROLS:
- SECURITY252
- SECURITY212
- SECURITY213
- SECURITY255
- SECURITY258
- PCI_STANDARDS:
- REQ_4_1
- REQ_6_2
- REQ_11_3