web-dev-qa-db-ja.com

FirefoxとChrome=重要なセキュリティ情報をブラウザから「漏らす」のはなぜですか。どうすれば停止できますか?

SSL/TLSハンドシェイクと暗号化の研究で、SSL/TLSセッションキーをFirefoxからユーザーまたはブラウザ外の環境変数にエクスポートし、Wiresharkを使用してTLSパケットを復号化する方法を説明する方法が見つかりました(方法は次のとおりです- https://isc.sans.edu/forums/diary/Psst+Your+Browser+Knows+All+Your+Secrets/16415 )。この方法はvery簡単です–ログインを含むHTTPSサイトとの通信を解読できました資格情報。

上記のリンクと私自身のテストによると、この方法はFirefoxとChromeでのみ機能します。 Internet Explorerまたは他の非ブラウザーSSLトラフィックではありません( https://msdn.Microsoft.com/en-us/library/windows/desktop/aa387409%28v=vs.85%29.aspx を参照) MSDNの推奨事項ですが、デフォルトではセッションキーは平文で保存されません)。この方法については、Mozilla Development Network(MDN)サイトでも説明されています。 https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format と情報セキュリティExchangeの例: DHE_RSA暗号スイートを使用する場合のWiresharkでのTLSの復号化 )。

この方法では、必要な環境変数を構成するためにシステム設定にアクセスする必要がありますが、それだけです。 FirefoxとChromeの両方で変数を自動的に探し、見つかった場合はその場所へのキーのロギングを開始します。ブラウザはユーザーに警告したり、許可を求めたりすることはありません。 Firefoxのabout:configでこのログ記録をオフにする方法です。変数を設定するためのシステムへのフルアクセスは、システムがすでに危険にさらされていると想定できるかもしれませんが、保護のレベルは他のセキュリティ情報よりもはるかに低いようです。たとえば、 、システムアクセスでは、SAMまたはTPMセキュリティモジュールに簡単にアクセスできません(もちろん、他の方法でアクセスできますが、ポイントアンドクリックではありません)。

この方法では、キーエクスポートとは別にネットワークトラフィックをキャプチャして、自由に復号化できるサードパーティによるSSL/TLSセッションキー(それぞれ128ビットまたは256ビットのみ)の非常にステルスなエクスポートが可能になるようです。この暗号化解除は、「完全転送秘密」の非対称鍵を使用しているにもかかわらず発生する可能性があり、事実のかなり後にブラウジングセッションを再構築する可能性があります。 Windowsのフォルダー構造にアクセスできる他のプログラムも、キーをexフィルター処理する可能性があり、ユーザーがそれを知ることはありません。

FirefoxとChromeがこれらのセッションキーのこのような簡単なリークを許可するのはなぜですか?これはデバッグ機能であるという推測を読みましたが、なぜデフォルトでオンになっているのですか?他のブラウザはリークしないことに注意してください。セッションキー。これについて心配する必要がありますか?

16
Stone True

FirefoxとChromeがこれらのセッションキーのこのような簡単な漏洩を許可するのはなぜですか?

開発者がネットワークキャプチャを分析しやすくするため。この機能を初めて使用したのは、WebベースのnoVNCで使用されているプロトコルを正確に理解しようとしたときです。この機能を使用して、Wiresharkのトラフィックを復号化することができました。

私はこれがデバッグ機能であるという推測を読みましたが、なぜデフォルトでオンになっているのですか?他のブラウザはセッションキーをリークしないことに注意してください。

デフォルトでは、キーは記録/リークされません。この機能は、それを必要とする人のために存在します(上記を参照)。

これについて心配する必要がありますか?

いいえ。誰かがシステム環境を変更できる場合、より大きな問題が発生します。納得できませんか? Chromeには--disable-web-securityコマンドラインオプション?これにより、Same Origin Policyなどの保護が無効になり、たとえば、どのWebサイトでも銀行のWebサイトを変更できるようになります。 HTTPリクエストのallをリッスンし、証明書エラーを生成せずにそれらを変更できるブラウザ拡張機能をインストールする機能についてはどうですか?

このSSLKEYLOGFILE機能について心配する必要はありません。影響はありません。 ブラウザ拡張がすべてのデータを盗む または誰かが をインストールする可能性が高くなります。悪意のある証明書、中間者攻撃を実行し、広告を挿入する

16
Lekensteyn

この質問に対する答えは次のようになると思います。オフにしたい場合は、開発者に参加するか、独自のバージョンをコンパイルしてそこでオプションを削除してください。

提案:ブラウザでプライベートモードをオンにすると、この機能が無効になります。バグトラッカーでこれを提出することを検討してください;)

TLS/SSLの安全性について:TLSはトランスポートレベルのセキュリティを意味し、SSLはセキュアソケットレイヤーを意味します。どちらも暗号化されたデータの転送を処理します。エンドポイントで発生することは、そのように保護することはできません。 PC(会社のデバイス、インターネットカフェなど)を完全に制御できない場合は、そのようなローカルデータリークの可能性を常に考慮する必要があります。データは、ユーザーが読めるようにするためにデバイス内で復号化する必要がありますが、それは常に弱点になります。 PCに完全に信頼されたプロキシ証明書を追加するだけで、会社のファイアウォールですべてのhttpsトラフィックを復号化できるSSL証明書インジェクションを想像してみてください。

そのため、ロギングを簡単に行うのは悪い考えのように思えますが、私にとっては、背後にあるセキュリティメカニズムの違反ではありません。

7
flohack

FirefoxおよびChromeは、主要な資料のロギングを許可して、有線デバッグ機能を有効にします。

1
Alain O'Dea