POODLE (「ダウングレードされたレガシー暗号化におけるパディングオラクル」の略)は、 TLSクライアントのフォールバック動作をSSL 3.0に悪用するセキュリティ脆弱性です。[ 1 ] [ 2 ] [ 3 ]攻撃者がこの脆弱性を悪用することに成功した場合、平均して、暗号化されたメッセージの1バイトを明らかにするために、わずか256回のSSL 3.0リクエストを行うだけで済みます。この脆弱性は、 GoogleセキュリティチームのBodo Möller、Thai Duong、Krzysztof Kotowiczによって発見されました。彼らは、論文の日付が「2014年9月」であるにもかかわらず、2014年10月14日にこの脆弱性を公表しました[ 1 ]。[ 4 ] 2014年12月8日には、 TLSに影響を与えるPOODLE脆弱性の亜種が発表されました。[ 5 ]
元のPOODLE攻撃に関連付けられているCVE IDはCVE-2014-3566です。F5 NetworksはCVE - 2014-8730も提出しています。詳細は下記のTLSに対するPOODLE攻撃のセクションを参照してください。
POODLE攻撃を軽減するための1つのアプローチは、クライアント側とサーバー側の両方でSSL 3.0を完全に無効にすることです。しかし、古いクライアントとサーバーの中にはTLS 1.0以降をサポートしていないものがあります。そのため、POODLE攻撃に関する論文の著者らは、ブラウザとサーバーでTLS_FALLBACK_SCSV [ 6 ]を実装することを推奨しています。これにより、ダウングレード攻撃は不可能になります。[ 1 ] [ 7 ]
もう1つの対策は、「アンチPOODLEレコード分割」を実装することです。これはレコードを複数の部分に分割し、それらのいずれも攻撃されないようにします。しかし、分割の問題点は、仕様上は有効であるものの、サーバー側の実装の問題により互換性の問題を引き起こす可能性があることです。[ 8 ]
ブラウザのバージョンと、さまざまな攻撃(POODLEを含む)に対する脆弱性レベルの完全なリストは、「トランスポート層セキュリティ」の記事に記載されています。
Opera 25 は、TLS_FALLBACK_SCSV に加えてこの緩和策を実装しました。[ 9 ]
Google のChromeブラウザとサーバーは既に TLS_FALLBACK_SCSV をサポートしていました。Google は 2014 年 10 月に、数か月以内に製品から SSL 3.0 のサポートを完全に削除する予定であると発表しました。[ 7 ] SSL 3.0 へのフォールバックは、2014 年 11 月にリリースされた Chrome 39 で無効になっています。 [ 10 ] SSL 3.0 は、2015 年 1 月にリリースされた Chrome 40 でデフォルトで無効になっています。[ 11 ]
Mozillaは、2014年12月にリリースされたFirefox 34とESR 31.3でSSL 3.0を無効にし、Firefox 35でTLS_FALLBACK_SCSVのサポートを追加しました。[ 12 ]
Microsoft は、 Internet ExplorerおよびWindows OSで SSL 3.0 を無効にする方法を説明するセキュリティ アドバイザリを公開しました。 [ 13 ]また、2014 年 10 月 29 日には、 Windows Vista / Server 2003 以降の Internet Explorer で SSL 3.0 を無効にする修正プログラムをリリースし、数か月以内に自社製品およびサービスで SSL 3.0 をデフォルトで無効にする計画を発表しました。[ 14 ] Microsoft は、2015 年 2 月 10 日に、保護モードのサイトでInternet Explorer 11の SSL 3.0 へのフォールバックを無効にし、 [ 15 ] 2015 年 4 月 14 日に他のサイトで無効にしました。[ 16 ]
AppleのSafari(OS X 10.8、iOS 8.1以降)は、SSL 3.0のすべてのCBCプロトコルのサポートを削除することでPOODLEに対する対策を講じましたが[ 17 ] [ 18 ]、これによりRC4が残され、これもSSL 3.0のRC4攻撃によって完全に破られてしまいました。POODLEはOS X 10.11(El Capitan 2015)とiOS 9 (2015)で完全に対策されました。
POODLE攻撃を防ぐため、一部のウェブサービスはSSL 3.0のサポートを終了しました。例としては、CloudFlare [ 19 ]やWikimedia [ 20 ]などがあります。
Network Security Servicesバージョン 3.17.1 (2014 年 10 月 3 日リリース) および 3.16.2.3 (2014 年 10 月 27 日リリース) では TLS_FALLBACK_SCSV のサポートが導入され、[ 21 ] [ 22 ] NSS は 2015 年 4 月に SSL 3.0 をデフォルトで無効にします。[ 23 ]2014年10月15日にリリースされたOpenSSLバージョン1.0.1j、1.0.0o、および0.9.8zcでは、TLS_FALLBACK_SCSVのサポートが導入されました。[ 24 ] 2014年10月16日にリリースされたLibreSSLバージョン2.1.1では、SSL 3.0がデフォルトで無効になりました。[ 25 ]
オリジナルの POODLE 攻撃の新しい亜種が 2014 年 12 月 8 日に発表されました。この攻撃は、 TLS 1.0 ~ 1.2 プロトコルのCBC 暗号化モードの実装上の欠陥を悪用します。TLS 仕様ではサーバーがパディングをチェックすることを要求していますが、一部の実装ではそれを適切に検証できないため、SSL 3.0 を無効にしても一部のサーバーが POODLE に対して脆弱になります。[ 5 ] SSL Pulse は、この脆弱性が発表される前に「サーバーの約 10% が TLS に対する POODLE 攻撃に対して脆弱である」ことを示しました。[ 26 ] F5 Networks の実装上のバグの CVE-ID はCVE - 2014-8730です。 NISTのNVDのエントリには、このCVE-IDはF5 NetworksのTLS実装にのみ使用されるものであり、A10 NetworksやCisco Systemsなど、実装においてパディングの検証ミスという同じ欠陥を抱える他のベンダーは、プロトコルの欠陥ではなく実装上の欠陥であるため、自社の実装エラーに対して独自のCVE-IDを発行する必要があると記載されている。
TLSに対するPOODLE攻撃は、SSLに対する最初のPOODLE攻撃よりも開始しやすいことが判明した。クライアントをSSL 3.0にダウングレードする必要がないため、攻撃を成功させるために必要な手順が少なくて済む。[ 27 ]