一. 漏洞描述
脆弱的SSL加密算法也叫弱加密算法, openssl 的 FREAK Attack 漏洞。有两三年的年头了,CVE 是 CVE-2015-0204,网站或软件支持低强度的加密协议,包括低版本的 openssl,就会存在此问题。其实就是 https 的网站,加密等级比较低。危害就是由于 OpenSSL 库里的 s3_clnt.c 文件中,ssl3_get_key_exchange 函数,允许客户端使用一个弱 RSA 秘钥,向 SSL 服务端发起 RSA-to-EXPORT_RSA 的降级攻击,以此进行暴力破解,得到服务端秘钥。此问题存在于 OpenSSL 版本 0.9.8zd 之前, 或 1.0.0p 之前的 1.0.0,或 1.0.1k 之前的 1.0.1。
简单来说就是网站支持低强度的加密协议。黑客可利用SSL弱加密算法漏洞,进行暴力破解得到服务端秘钥,从而窃取传输内容。
二. 检测
可以通过在线检测网站进行检测,或者直接通过工具扫描,例如 AWVS、APPscan 等都能够扫描出来(一般在挖洞的时候这个漏洞都是忽略的)。
1. windows 下可以直接使用 SSLciphercheck 软件在 CMD 下运行去检测,命令如下:
sslciphercheck.exe -h ip或域名 -p 443
2. linux下的openssl的FREAK Attack漏洞,可采用https远程检查方法:
openssl s_client -connect www.fbi.gov:443 -cipher EXPORT
如果出现"alert handshake failure"这句话就说明该网站是安全的。
3. RedHat系列检查命令:
rpm -qa|grep openssl
4. Debian\Ubuntu系列检查命令
dpkg -l|grep openssl
执行结果中,如果是白色的 Unsupported 就是不支持的意思,如果是红色的 Supported 就是存在问题,如果是绿色的Supported ,表明是支持的强加密方式。