CRIMEに続き、木曜日(今日)にラスベガスのブラックハットで [〜#〜] breach [〜#〜] を発表します。リンクされた記事から、この圧縮に対する攻撃は、CRIMEを阻止するために行われたのと同じくらい簡単にオフにすることができないことが示唆されています。このHTTPに対する最新の攻撃を緩和するために何ができますか?
編集:BREACHのプレゼンターは、詳細について website を提示しました。リストされている緩和策は次のとおりです。
(注-この攻撃を明確にするために編集されたタイトルと元の質問も、特にHTTPSではなく、暗号化されている可能性があるHTTPに対するものです)
記事は詳細でいっぱいではありませんが、いくつかのことを推測できます。
攻撃は [〜#〜] crime [〜#〜] と同じ一般的な原則で圧縮を使用します:攻撃者は両方の秘密の値(攻撃者が推測しようとします)、攻撃者が選択できる一部の文字。 選択された平文攻撃 です。 compressedの長さは、攻撃者の文字列がシークレットに「似ている」かどうかによって異なります。暗号化ではlengthではなくcontentsが非表示になるため、SSL暗号化により圧縮された長さがリークします。
この記事では特に、「bodyにある[...]の秘密について」と述べています。つまり、SSLレベルの圧縮ではなく、HTTPレベルの圧縮について話しています。 HTTP圧縮は、ヘッダーではなく、リクエスト本文にのみ適用されます。したがって、シークレットヘッダー内、特にCookieの値は、その値から安全です。
「プローブ要求」があるため、攻撃にはクライアントブラウザに悪意のあるコードが必要です。攻撃者はまた、ネットワーク上の暗号化されたバイトを監視し、両方の要素を調整する必要があります。これは、CRIMEおよびBEASTと同じ設定です。
圧縮された本体がclientからのものかserverからのものかは不明です(この記事だけで、これは私が今話し合っているすべてです)。 「プローブ要求」は確かにクライアントによって(攻撃者に代わって)送信されますが、サーバーからの応答には要求で送信されたものの一部が含まれる可能性があるため、「選択された平文攻撃」は両方の方法で機能します。
いずれの場合でも、「BREACH」は攻撃のように見えます方法論ターゲットサイトの特定のケースに適応させる必要があります。その意味で、それはまったく新しいものではありません。圧縮によって情報が漏洩することはすでに「よく知られている」ことであり、HTTPレベルの圧縮が魔法の影響を受けないと信じる理由はありませんでした。ヘック、それは議論されました ここで右 昨年。ただし、一部の人々は作業デモを表示するために余計に努力することは、他の点では欠陥が修正されないためです。たとえば、CBCに対するOracle攻撃のパディングは2002年に説明され、プロトタイプ化さえされていましたが、危険が本物であるとMicrosoftを説得するためにASPに対して実際のデモを行いました。2011年のBEASTも同様です。 (CBCモードの予測不可能なIVの必要性は2002年以降も知られていました)および2012年のCRIME、BREACHはより「CRIME II」です:不信者を打ち倒すための教育学のもう1つの層。
残念ながら、多くの人はそれを誤解し、SSLに対する攻撃であると信じていますが、SSLではありません。 SSLとはまったく関係ありません。これは、低帯域幅のデータチャネルdata lengthを介して情報漏えいを強制する攻撃であり、SSLはこれまでカバーしたことがなく、カバーしたこともありませんでした。
1行のエグゼクティブサマリーは 圧縮しないでください です。
BREACHは、CRIMEと同様に、圧縮関連の攻撃です。圧縮をオフにすると、攻撃が不可能になります。
[〜#〜]追加[〜#〜]
この場合、異なる圧縮構成をオフにしたように見えることに注意してください。 CRIMEはTLSレイヤー圧縮を利用するのに対し、BREACHはHTTPレイヤー圧縮を利用します。
CSRF緩和策に「リクエストごとのシークレットのランダム化」、「長さの隠蔽」、「レート制限リクエスト」を追加する方法を考えました。
攻撃は、ペイロードサイズから情報を推測することで機能します。提供されたHTTPSページ(ランダムなサイズのコメント文字列など)を人工的にパディングすると、その効果が低下する可能性があります。