web-dev-qa-db-ja.com

CVE-2013-2566はRC4に対する実際的な攻撃ですか、それとも概念的なものですか?

CVE-2013-2566 はRC4に対する実際的な攻撃ですか、それとも概念的なものですか?WPA/TKIPにのみ適用されますか?

5
user53029

Matthew Greenによると のように、攻撃は「実現可能性の端」にあります。概念的には、RC4を使用するすべてのプロトコルに適用されますが、他のプロトコルよりも脆弱です。

RC4の弱点は、出力の最初のバイトのバイアスです。 RC4はキーから疑似ランダムバイトの長いストリームを生成し、暗号化はそのストリームで暗号化するデータのバイトごとのバイト数XORです。したがって、同じデータが暗号化されると複数回(毎回異なるキーを使用)、RC4出力のバイアスは秘密データの回復に変換されます。たとえば、出力の17番目のバイトの値が他の255バイト(架空の値)よりも頻繁に0x42であるとします。説明的な番号。同じメッセージが繰り返し暗号化されるため、その17番目のバイト(これをxと呼びましょう)は、RC4出力の17番目のバイトとXORされます。暗号化されたすべてのメッセージを観察する攻撃者は、たとえば、出力の17番目のバイトは他のどの値よりも多くの場合0x7Cです。攻撃者は、観測された値0x7CがRC4出力の17番目のバイトが0x42である場合に対応すると推測します[ x XOR 0x42 = 0x7C、つまりx = 0x3E。攻撃者は、1バイトの平文を回復しました。

重要な点は、RC4出力の最初のバイトのみにバイアスがあり、「妥当な」時間で悪用される可能性があることです。バイアスはまだわずかです。このようなバイアスを確実に観察するには、すべて同じ秘密データを持つ何百万観察された暗号化が必要です。

Webセットアップ(HTTPSを使用)では、攻撃は次のようになります。

  • 被害者のブラウザは、あるサイトのセッションのロックを解除するCookieを知っています(これをwww.example.comと呼びましょう。攻撃者はそのCookieを必要としています。
  • 攻撃者は被害者のネットワークコンテキストを制御します。現実的には、攻撃者は公共の場所でWiFiアクセスポイントを実行し、被害者はそれに接続し、APがレストランまたはライブラリーによって提供されることを数時間費やすことを決定したと信じています。
  • 攻撃者は、ブラウザからあるサイト(www.example.comではない)へのHTTP(HTTPSではない)リクエストに対する応答に、悪意のあるJavaScriptを挿入します。そのJavascriptは、https://www.example.comへのHTTP GET呼び出しを繰り返しトリガーします。 Webページに非表示の<img>タグを作成する。
  • 悪質なJavascriptによってトリガーされる各呼び出しは、予測可能な場所で、Cookieが含まれているSSL/TLS接続を意味します。攻撃者はさらに、呼び出しの直後にRSTパケットを接続に挿入し、接続を強制的に閉じることで、毎回新しいハンドシェイクと新しいRC4キーで新しい接続を強制します。

現実的には、攻撃者は、たとえば1秒あたり10接続を超えることを期待することはできません。また、これらの接続はすべてターゲットサイト(www.example.com)に到達し、アラートが発生する場合があります。攻撃者が30時間ほど全速で攻撃を続行できる場合、攻撃者は1つまたは数個のcookieバイト(RC4バイアスが最も重要な位置でストリームに表示されるバイト)を推測できます。

結論は、実際のところ攻撃は実現可能性の端にあるということです。それは実験室の条件で実証できますが、実際には発見されていません。まだ。

WPA/TKIPの場合も同じ原則を適用できますが、そのプロトコルでは、個々のパケットごとに独自のRC4ストリームがあり、パケット固有のキーで新しく開始されるため、より実用的です。 100万の収集packetsは、100万の収集TLSハンドシェイクによるTCP接続を観察するよりも確実に簡単です。ただし、弱点は決してその単一のプロトコルに限定されません。それはRC4に実質的であり、RC4を使用するすべてのプロトコルにそれに従います。

noted の場合があります。SSHがRC4を使用する場合、通常は「arcfour128」または「arcfour256」という名前で実行されます。どちらの場合も、これはRC4ですが、出力の最初の1536バイトが削除されています。これらは、最大のバイアスを持つバイトです。したがって、これらのRC4バリアントはプレーンなRC4(SSH用語では「arcfour」として知られている)よりもかなり強力です。

新しいプロトコル設計では、RC4を使用しないでください。本当に「通常の」AES/GCMを超える必要がある場合は、 eSTREAMポートフォリオ のストリーム暗号を検討してください。RC4よりも安全で高速です。ただし、プロトコルの設計はhardであることを忘れないでください。

10
Thomas Pornin