Http圧縮を有効にすると、サーバーがBREACH攻撃に対して脆弱になることを知っています。したがって、サーバー側からの圧縮を無効にしてテストしましたが、すべて良好でした。
次に、インスタンスにCloudFlareを実装しました。 SSLセキュリティスキャンを再度実行したところ、アプリケーションがgzipを使用しているため、BREACHに対して脆弱です。詳細な調査から、CloudFlareによって圧縮が有効になっていることがわかりました。
BREACH攻撃防止 メカニズムが組み込まれていると主張していますが、 Security SEはBREACHが悪用される可能性があると主張しています 。
次に、次のステップで、CloudFlareが提供するBrotli圧縮を無効にしました。しかし、テスト中、スキャナーは再び圧縮を検出しました。今、行き詰まっています。ブラウザからCloudFlareへのトラフィックがBrotliおよびCloudFlareで圧縮されることを理解しています->サーバーは圧縮されないままです(サーバー側からgzipを無効にしたため)。これは実際にBREACH攻撃の問題を軽減しますか?
そうでない場合、人々はどのような推奨事項を提案しますか?
Cloudflareコミュニティサポートからの反応を引用します。
サードパーティのレポートツールがそれを示している理由はわかりませんが、私の経験では、ツールの設計が不十分である可能性が高くなっています(実際に脆弱性を悪用しようとするのではなく、たとえばgzipコンテンツを要求する機能を確認します)。 。ただし、実際に悪用されていると彼らが信じる場合、Cloudflareは責任ある開示のためにHackerOneプログラムに参加し、そこで報告することができます。
2つ目の質問は、「コンテンツがCloudflareによって圧縮されるのはなぜですか?」その答えは、Cloudflareが、クライアントが要求した圧縮をデフォルトでサポートすることです。デフォルトではgzipがサポートされ、オプションでBrotliがサポートされます。 Brotli圧縮を無効にしましたが、明示的なキャッシュ制御ディレクティブによってオーバーライドされない限り、デフォルトの動作はそのままです。 Cloudflareが圧縮を適用しないようにするには、キャッシュヘッダーに no-transformディレクティブ を含めることができます。
そのため、スキャナーの応答は誤検知であり、問題を解決済みとしてマークします。
参照:
脆弱性スキャナーは間違っている可能性があります。彼らはしばしば、そのような状況が脆弱かどうかを実際にテストすることなく、圧縮などの脆弱性の周囲の状況のみを検出します。スキャナーによって提示される各検出の有効性を検証するのはあなた次第です。これを行うには、CloudFlareに対してBREACH攻撃を開始する必要があります。最初にセキュリティチームでクリアしない限り、これを行わないでください。許可なく侵入テストを実行した場合、本当の脅威と見なされます。これはほとんどの法域で違法です。
この質問に回答できるのは、サポートチームだけです。この場合、あなたはすでに彼らの答えを持っています。彼らは緩和策を実装し、それを内部で検証しました。
Cloudflareはこれらの脆弱性に対してすべてのサーバーにパッチを適用しました。また、Cloudflare WAFには、HeartbleedやShellshockなど、これらの脆弱性のいくつかを軽減するためのルールがあります。
スキャナーでこのアイテムを偽陽性として閉じます。