web-dev-qa-db-ja.com

BEASTは最近のすべてのブラウザで本当に修正されていますか?

BEASTは、最新のすべてのブラウザで修正されていると言われています。

2002年以降、 OpenSSL でも修正されています。

これらの修正は、エンドユーザーがこれらの最新のブラウザーのいずれかを使用する場合、TLS 1.0のCBCモードで暗号を使用しても安全であることを意味しますか?

12
Andrei Botalov

私は、誰もが知っている限り、これらの最新のブラウザのいずれかでBEASTを悪用する方法を知っているとは考えていません。これらのブラウザはおそらくBEASTのような攻撃に対してかなり安全です。一方、根本的な弱点はまだ存在しており、誰かがその弱点を利用する新しい方法を見つける可能性について懸念の余地が残されています。

BEASTはTLS 1.0のセキュリティ上の弱点を悪用します。弱点全体を解消する主な方法は、ブラウザーとサーバーの両方をTLS 1.1またはTLS 1.2に更新することです。現時点では、ChromeはTLS 1.1をサポートしています。IE9、IE10、Operaは、特別なオプションを設定してもサポートが有効になっていない場合、TLS 1.1およびTLS 1.2をサポートしますデフォルトでは、iOS 5クライアントは最大TLS 1.2をサポートしています。FirefoxとSafariはサポートしていません。残念ながら、TLS 1.1接続を確立する前に両方のエンドポイントがTLS 1.1をサポートする必要があります。現在、少数のサーバーがTLS 1.1またはTLS 1.2をサポートしています。サーバーはTLS 1.2をサポートします(例:mod_gnutlsを使用したApache; IIS 7特別なレジストリキーを有効にした場合7 JavaアプリサーバーJava 7)ですが、ごくわずかです。これは、今日誰もがTLS 1.1またはTLS 1.2を使用できることは非常にまれであることを意味します。そのため、どのブラウザに関係なく、BEAST攻撃に対する原則的な修正は今日広く導入されていませんあなたが使う。

詳細については、たとえば TLS 1.0 JavaScriptインジェクションの脆弱性(BEAST):クライアント側で何をすべきか? を参照してください。 Rizzo/Duong CBC "BEAST"攻撃のセキュリティへの影響 ;および サーバーのTLS 1.0 JavaScriptインジェクションの脆弱性に対して何ができますか? ; OpenSSLを使用してBEAST攻撃をテストするにはどうすればよいですか? ; BEAST攻撃が以前は妥当ではないと考えられていたのはなぜですか?

つまり、いくつかのサーバーは、TLS 1.0のこの弱点を悪用する既知の方法を緩和するのに役立ついくつかの回避策を実装しています。これらの回避策は「弱点」であり、弱点がなくなるわけではありませんが、既知の弱点を悪用する方法はすべて阻止されます。主な軽減策は、ブロック暗号ベースの操作モードではなく、両側でRC4が使用されるようにすることです。サーバーは、暗号スイートの順序を変更することでこれを調整できます。サーバーが このSSLテスター を使用してBEASTを防止するように構成されているかどうかをテストできます。

どうしてそういう印象を受けたのか理解できます。初期の攻撃では、WebSocketを使用してこの弱点を悪用しました。後の攻撃は、Javaを使用してそれを悪用する方法も示しました。最近のほとんどのブラウザーは、WebSocketの動作を変更するようにパッチが適用されているため、WebSocketを使用してこの弱点を悪用することはできません。しかし、根本的な弱点はまだ存在しており、明日誰かがWebSocketsやJavaを使用せずに弱点を悪用する新しい方法を発見したとしても、誰もそれほど驚くことはないと思います。

Firefox、Chrome、Opera、IE 同様に実装されています BEASTの脆弱性に対する次の緩和策: 最初のレコードで1バイトのアプリケーションデータのみを送信 =(CBCの1/n-1レコード分割)。これは完璧ではありませんが、大きな助けとなるはずです。長期的には、正しい修正は全員をTLS 1.2に移行することですが、これには時間がかかります。

別の脚注:多くのブラウザーがTLS 1.1のサポートを実装し始めていますが、重要な注意事項があります。バグのあるサーバーでTLS 1.1または1.2をオンにするだけ 互換性の問題の原因 クライアントが新しいTLSバージョンをサポートしていることを示す場合、これらのサーバーは失敗します。したがって、ブラウザーはTLS 1.1を試行しますが、失敗すると、TLS 1.0を使用して再試行します。 TLS 1.0が失敗すると、SSL 3.0にフォールバックします。これは脆弱性をもたらします: 中間者が両側に強制的にTLS 1.0にフォールバックする可能性があります

15
D.W.