「CVE-2014-3566 SSL 3.0 脆弱性 POODLE」の版間の差分
(ページの作成:「SSL v3.0 プロトコルに POODLE (CVE-2014-3566) と呼ばれる脆弱性が発見されました。 '''読み方''' ;POODLE:ぷーどる ;OpenSSL:おーぷん...」) |
(→関連項目) |
||
行75: | 行75: | ||
== 関連項目 == | == 関連項目 == | ||
* [[OpenSSL]] | * [[OpenSSL]] | ||
+ | * [[sslscan]] | ||
+ | * [[Transport Layer Security]] (SSL/TLS) | ||
<!-- vim: filetype=mediawiki | <!-- vim: filetype=mediawiki | ||
--> | --> |
2014年10月22日 (水) 23:07時点における版
SSL v3.0 プロトコルに POODLE (CVE-2014-3566) と呼ばれる脆弱性が発見されました。
読み方
- POODLE
- ぷーどる
- OpenSSL
- おーぷんえすえすえる
目次
概要
POODLE とは、 Padding Oracle On Downgraded Legacy Encryption の略称です。中間者攻撃により、padding oracle side-channel 攻撃を行い、暗号文を解読できます。
POODLE は、Secure Sockets Layer (SSL) バージョン 3.0 を使用している場合に影響します。Transport Layer Security(TLS)では、影響をうけません。
SSL 3.0は、18才になり、未だに幅広くサポートされています。
ほとんどのブラウザでSSL 3.0はサポートされています。
ブラウザは、古いプロトコルバージョンで接続の失敗をリトライします。
ネットワークの攻撃者は、コネクションを失敗させ、SSL 3.0を使用させ、この問題を利用します。
SSL 3.0のサポート、もしくは、SSL 3.0でのCBCモードの暗号を無効にすることで、この問題への防御は十分です。しかし、十分な互換性の問題が残ります。そのため、TLS_FALLBACK_SCSV のサポートを推奨します。TLS_FALLBACK_SCSV のメカニズムは、失敗したコネクションのリトライを引き起こす問題を解決し、SSL 3.0を使用するブラウザから攻撃者を防ぎます。また、TLS 1.2, 1.1, 1.0 からのダウングレードを防ぎます。
Google Chrome や Google のサーバは、2014年の2月から TLS_FALLBACK_SCSV をサポートしています。
OpenSSL 1.0.1j
OpenSSL 1.0.1j で TLS_FALLBACK_SCSV のサポートが追加されました。
SSL 3.0 Fallback protection Severity: Medium OpenSSL has added support for TLS_FALLBACK_SCSV to allow applications to block the ability for a MITM attacker to force a protocol downgrade.
- OpenSSL 1.0.1 は 1.0.1j へアップグレードします。
- OpenSSL 1.0.0 は 1.0.0o へアップグレードします。
- OpenSSL 0.9.8 は 0.9.8zc へアップグレードします。
SSL 3.0を無効にした場合の影響
パソコンへの影響
- WindowsのInternet Explorer 6 (IE6) が https のサイトへアクセスできなくなります。
ガラケーへの影響
- AU KDDI の一部の機種が https のサイトへアクセスできなくなります。
- NTT ドコモ の一部の機種が https のサイトへアクセスできなくなります。
- ソフトバンクモバイルは問題ないようです。
対応方法
Apache httpd + mod_ssl
SSLProtocol All -SSLv2 -SSLv3
Apache httpd 2.4の場合は、SSLv3の設定を消すだけでOKです。
SSLProtocol All -SSLv3
nginx
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
node.js
var https = require('https'), fs = require('fs'); https.createServer({ // SSLv2, SSLv3, TLSv1, TLSv1.1 and TLSv1.2 secureProtocol: 'SSLv23_method', // disable SSLv3 secureOptions: constants.SSL_OP_NO_SSLv3, cert: fs.readFileSync(path.join(__dirname, 'ssl', 'server.crt')), key: fs.readFileSync(path.join(__dirname, 'ssl', 'server.key')), }, function (req, res) { res.end('Hello'); }).listen(443);
関連項目
- OpenSSL
- sslscan
- Transport Layer Security (SSL/TLS)