web-dev-qa-db-ja.com

CloudFlareリバースプロキシバグの影響は何ですか? ( "#CloudBleed")

Project Zero#1139 で、CloudFlareに初期化されていないメモリを開示するバグがあり、SSL経由で送信されたプライベートデータが漏洩することが明らかになりました。実際の影響は何ですか?

59
Jeff Ferland

有名なHeartBleedバグリークと比較すると、これはいくつかの点で似ています。初期化されていないメモリの露出は、無関係なプライベートデータが開示されることを意味します。

より良いもの

  • これはCloudFlareで実行されているコードにのみ影響し、バグは通知後1時間で機能しなくなりました。このバグによって新しいデータが漏洩することはありません。

  • 誰かがこのバグに気付いていれば、そのバグのある個人をターゲットにすることはできません。ダンプされたセッションはランダムに見えます。

  • CloudFlareにはログがあり、誰もがこのバグを知っていて、このバグを悪用したという兆候は明らかにされていません。

悪いこと

  • 初期化されていないメモリダンプのサイズは巨大です。それらは定期的に完全なHTTPヘッダーとリクエスト本文の重要なセクションをキャプチャします。これにより、セッションをハイジャックするために必要なすべてのデータがほとんどなくなります。ログインセッションがキャプチャされた場合は、もちろんパスワードが含まれます。

  • フリーセッションルーレットでした。無効なURLへのリクエストが繰り返されると、ランダムデータがどんどんダンプされます。

  • 誰かがこれに気付いていれば、ほぼ任意のサイズのデータ​​ダンプを作成するページを作成したり、既存の無効なURLに繰り返しアクセスしたりする可能性があります。

  • エンドユーザーは、Webサイトの一部またはユーザーに弱点を付けずに侵害される可能性があります。

  • 一部の不運なユーザーは、この開示後もキャッシュに存在するデータの漏えいをまだ抱えており、非常に広く開示されることになります。これらのセッションCookieが無効にされない場合、誰かが自分のアカウントにログインすることが実際に保証されます。

このようなインシデントに対処するにはどうすればよいですか?

セッショントークンの有効期間を制限し、適切な2要素認証を利用することで、データの長期的な漏えいに対処し、誰かが長期間のセッションを取得できないようにします。 CloudFlareのお客様couldすべてのセッションCookieを無効にし、すべてのパスワードのローテーションを強制します。

これはどういう意味ですか?

CloudFlareは、個別のプロセス内で終了したため、SSL秘密鍵は漏洩しなかったと主張しているため、通常、このクラスのバグは問題を引き起こしますが、この特定のケースでは発生しません。

これは、大規模な爆発半径を持つ長期的なバグの可能性について考えるという、セキュリティコミュニティにおける素晴らしい教訓です。ほとんどの人はおそらく完全に影響を受けていませんが、上記のように、何人かの人々はバッドラック宝くじを失ったでしょう。

48
Jeff Ferland