一、背景
自从大学毕业后,阅读英文的文档水平很差(其实未毕业也是这样的水平),极其痛恨自己看美剧这么久还是要慢慢看中文字幕(能学会看英文字幕也不错吧?!),加之自己的安全知识过于薄弱,就从Open SSL的Security Advisory开始进行翻译吧。再者,很久没写Markdown,也很久没写文章,借此机会也好好训练一下。翻译得不好的,请见谅,会努力逐渐进步。
二、原文
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.
Some client applications (such as browsers) will reconnect using a
downgraded protocol to work around interoperability bugs in older
servers. This could be exploited by an active man-in-the-middle to
downgrade connections to SSL 3.0 even if both sides of the connection
support higher protocols. SSL 3.0 contains a number of weaknesses
including POODLE (CVE-2014-3566).
OpenSSL 1.0.1 users should upgrade to 1.0.1j.
OpenSSL 1.0.0 users should upgrade to 1.0.0o.
OpenSSL 0.9.8 users should upgrade to 0.9.8zc.
https://tools.ietf.org/html/draft-ietf-tls-downgrade-scsv-00
https://www.openssl.org/~bodo/ssl-poodle.pdf
Support for TLS_FALLBACK_SCSV was developed by Adam Langley and Bodo Moeller.
三、译文
SSL 3.0 降级保护策略
=============================================
安全等级:中等
OpenSSL已经增加对TLS_FALLBACK_SCSV允许程序禁用协议降级的支持。此选项能够拒绝从SSL协议降级时所受到的中间人攻击。
一些客户端程序(例如浏览器)会使用协议降级的方法重连一些兼容性较差的老旧服务。这样从高版本协议降低到SSL3.0的处理会被中间人去利用获取信息,即使是两边都支持高版本的协议。SSL 3.0包含一系列的漏洞,包括POODLE(CVE-2014-3566)。
四、学习
POODLE这个漏洞爆出之后,很多厂商纷纷上配置改Apache改Nginx,将SSLv3.0以下的版本都禁掉(顺便也把SSLv2也杀掉),从此只支持TLS。
下文是转网上的一篇文章:
Google的建议:关闭客户端SSLv3支持或者服务器SSLv3支持或者两者全部关闭。
建议支持TLS_FALLBACK_SCSV,这可以解决重试连接失败的问题,从而防止攻击者强制浏览器使用SSL3.0, 它还可以防止降级到TLS1.2至1.1或1.0,可能有助于防止未来的攻击。
SSLv3漏洞的解决方案如下:
- 如果要完全避免此漏洞,需要禁止使用SSLv3协议;
- 考虑到老版本浏览器(如IE6)的默认设置为SSLv3协议,如果直接禁用SSLv3协议,将导致这批采用默认设置的用户无法访问对应网站,可以采用通过修改webserver的SSL配置来修复这个问题,配置实现的效果是客户端通过SSLv3协议访问https业务时双方使用RC4-SHA加密,而采用TLS1.0或更高版本协议时优先使用其他强加密算法。 RC4-SHA加密方式未验证是否能够避免问题
- 某些移动客户端访问的应用在禁止SSLv3或更改SSL配置时,需要考虑到移动客户端中是否指定了使用SSLv3协议或者采用CBC模式的块加密,如果有这个问题则需要先修改客户端的实现才能执行修复方案,否则移动客户端的访问将受影响。