web-dev-qa-db-ja.com

認証のないサードパーティのCDNサイトでTLS圧縮を有効にできますか?

この回答では、@ Thomas Pornin CRIME攻撃の修正について話し、次のように述べています。

(SSL圧縮を削除しなければならないのは残念です。これは、帯域幅の要件を下げるのに非常に役立つためです。特に、サイトに小さな画像が多数含まれている場合や、Ajaxが多く、小さなリクエストが多く、すべてが非常に類似したバージョンの巨大なHTTPで始まる場合に役立ちます。悪意のあるコードが銀行のサーバーに任意のリクエストを送信するのを防ぐために、JavaScriptのセキュリティモデルを修正したほうがよいでしょう。ただし、簡単かどうかはわかりません。)

私のウェブサイトが2つのHTTPSURLからのコンテンツを提供するとします:secure.company.comそして画像はcdn.differentTLD.netでホストされます。異なるドメインを使用しているため、認証Cookieは送信または検証されないことに注意してください。また、このCDNは静的ファイルを保持し、認証は行われないと想定します。

  • CDNに対してのみTLS圧縮を有効にするのは安全ですか?

@D.W。と@PulpSpyの回答 は、以下の投稿に基づいて、ダウンロードされているファイルを推測できることを理解しています。

  • そうは言っても、HTTPプロトコル内のデータの外部に低レベルのTLS「シークレット」を公開することはできますか? (CRIME攻撃では、ヘッダーでCookieを取得することについてのみ話しているようです)

  • CDNに対するCRIMEエクスプロイトから取得したデータを他のドメインに対して使用できますか?

3

圧縮関連の脆弱性は約リーク:データの長さに基づいて攻撃者が交換されたデータについて知ることができるもの。機密データに対してのみ意味があります。 CRIMEの場合、機密データは、クライアントが要求に沿ってターゲットサーバーに送信するCookieです。

シークレットを交換しないサーバー、特にCookie値を交換しないサーバーがある場合は、データが漏洩することはないため、問題はありません。これはcookiesに限定されないことに注意してください:いくつかの秘密の要求がサーバーに送信される場合(たとえば、パスワードが埋め込まれたログインフォームへの応答)、同じサーバーへの連続したリクエストは同じ接続を再利用する傾向があるため、攻撃者はそのデータと偽造されたリクエストの間で圧縮を使用しようとする可能性があります(TLSレベルの圧縮はデータフロー全体に及び、HTTPリクエストの境界を認識しません)。私たちは、秘密データがまったく送信されず、秘密データがまったく取得されないサーバーについて話しています。写真は公開データであるだけでなく、ダウンロードされたどの写真も公開情報であると想定する必要があります。

TLSレベルの圧縮を有効にしても、とにかくあまり購入しないことに注意してください。既存のブラウザはその圧縮をサポートしなくなり、画像はすでに圧縮されています。

6
Thomas Pornin