个人网银SSL/TLS协议的握手数据分析

2017-07-12 09:27唐屹王志双
软件导刊 2017年6期

唐屹+王志双

摘要:建立在SSL/TLS协议基础上的HTTPS协议是现代电子商务和电子政务的基础,其安全性取决于客户端和服务器端的SSL/TLS配置。通过分析网络踪迹和扫描数据,研究了上百家个人网银的HTTPS配置情况,探讨了其中的不足,定义了检测规则,对可能造成安全隐患的SSL/TLS协议及相应的加密套件产生报警日志,采取相应的应对措施。

关键词:网银安全;HTTPS;加密套件;检测规则

DOIDOI:10.11907/rjdk.162787

中图分类号:TP391

文献标识码:A 文章编号:1672-7800(2017)006-0159-04

0 引言

HTTP 协议采用明文传输信息,存在信息窃听、信息篡改和信息劫持的风险,建立在SSL/TLS基础上的HTTPS(Secure Hypertext Transfer Protocol,安全超文本传输协议),则在不安全的网络上创建安全信道,支持身份验证、信息加密和完整性校验功能,构成现代电子商务、电子政务的应用基础,使得大规模互联网商务运用成为可能。因此,HTTPS的安全问题一直受到网络攻防双方的关注。

与HTTPS相关的安全问题不断涌现,例如心脏滴血、SSLv3 Poodle漏洞等[1-2],即使是密码算法,如RC4、MD5、SHA1等也面临威胁[3-5],而为了保持向后兼容性,低版本的SSL/TLS协议依然在服务器或浏览器端得到支持,使得HTTPS应用面临中间人攻击,存在隐私泄漏威胁。

本文利用浏览器和踪迹数据分析了网银的HTTPS部署情况,通过扫描分析网银HTTPS的配置状况,发现个人网银部署存在一些可能的安全风险。

1 SSL/TLS协议与数字证书

1.1 SSL/TLS 协议

SSL协议由NetScape公司设计研发,1996年问世的SSL 3.0版本得到大规模应用,然而,2014年出现的POODLE 攻击威胁了SSL 3.0中所有CBC工作模式下的分组密码算法[2],而唯一的流密码算法 RC4也被证实在SSL 3.0中受到威胁[3],2015年的RFC 7568将其列入不安全而建议不使用[6]。

作为SSL的升级版,TLS由互联网标准化组织ISOC负责维护,1999年发布1.0版,2006年和2008年分别发布TLS 1.1版和TLS 1.2版,而TLS 1.3版依然在修订中。

1.2 SSL握手协议

SSL握手协议是SSL协议的两个组成协议之一,协议允许客户与服务器相互认证,在应用程序通信前协商加密算法和加密密钥。握手协议基本流程如下[7]:①客户端发出ClientHello消息,请求建立SSL/TLS连接,并将其所支持的SSL/TLS版本以及加密套件列表发送给服务器;②服务器返回ServerHello消息,确定所采用的SSL/TLS版本并从加密套件列表中选择一种加密套件,将它和一份服务器证书发送给客户端;③客户端对服务器证书进行验证;产生pre_master_secret的随机串,并使用服务器的公钥加密并将加密后的信息发送给服务器;④客户端与服务器端根据pre_master_secret以及客户端与服务器的随机数值独立计算并加密。

握手协议的信息流是明文传输的,可以通过简单的嗅探获取握手协议协商的加密套件及服务器端的数字证书。

1.3 SSL/TLS安全威胁

与SSL/TLS 相关的安全威胁包括以下几类:

(1) 弱密码算法、短密钥和伪随机数问题。在消息摘要算法应用方面,SSL/TLS仍然支持被认为不安全的MD5算法,已有研究表明该消息摘要算法仅用220.96的算法复杂度就可以找到碰撞,该攻击在普通计算机上运行也只需要很短的时间[4];在数据加密传输算法应用方面,加密套件中仍然使用RC4、3DES 等算法,RC4算法容易受到区分攻击、弱密钥攻击和错误引入攻击,被认为是一种不安全的加密算法[3],3DES算法只用80位密钥长度的安全性[8],低于目前最低的128位密钥安全长度。

(2) 密文分析攻击。利用密码分组链(CBC)初始化向量构造的 BEAST 攻击[9]、利用压缩选项构造的 CRIME攻击等[10],攻击者通过对密文的分析获取用户的Cookie值。

(3) 协议或密码降级攻击。主动攻击者可以在协议协商过程中让客户端和服务器选择最弱的密码算法或最低的协议版本进行攻击[2,11],一旦攻击成功,攻击者就可利用弱密钥算法或低版本协议漏洞发起进一步攻击。

(4) 數字证书问题。数字证书在SSL/TLS中常用来验证服务器。已有研究表明MD5签名的证书不安全[4],SHA1证书也面临严峻的安全考验,谷歌已发文称该算法的攻击成本越来越低,在数字证书中使用存在安全隐患,该算法已逐步进入淘汰状态[12],现正力推SHA2证书以取代现有的SHA1证书。个人网银采用验证证书(EV证书)不仅可以验证网页,还可以验证网页所对应的管理机构,有助于抵御网页的语义攻击[13]。

2 配置数据收集与分析

2.1 基本数据收集分析

为收集个人网银HTTPS配置信息,依据银监会网站提供的大型商业银行、股份制商业银行以及城市商业银行列表,依次访问这些银行的个人网上银行登录界面,通过对浏览器提供的信息和Wireshark捕获数据包进行分析,得到该银行的个人网银使用的数字证书情况、SSL/TLS协议版本、协商出的加密套件等信息。表1列举了截止2016年11月30日所收集的146家银行(5家大型商业银行、12家股份制商业银行、129家城市商业银行)的HTTPS基本配置情况。

2.1.1 数字证书应用状况及安全性分析

從证书类型来看,普通证书和EV证书各占50%。一般认为EV证书在验证网页的同时,也对网页所属的机构进行了认证,所以安全性更高,有助于抵御针对HTTPS的语意攻击[13]。目前安全性更高的EV证书在个人网银中使用率并不是很高,而网上银行对安全等级要求较高,银行应尽快部署安全性更高的EV证书,以增加抵抗HTTPS语义攻击的能力,降低用户误入钓鱼网站的风险。

从数据中发现有56家银行的个人网银数字证书签名哈希算法为SHA1, 而SHA1算法存在安全隐患[12]。个人网上银行对网络安全的等级要求较高,使用这些存在安全隐患的数字证书势必影响个人网银的安全等级,应该逐步淘汰基于SHA1的数字证书,使用安全性更高的SHA256数字证书。

2.1.2 协议版本和加密套件的应用状况及安全性分析

网银服务器返回的SSL协议支持的版本包括SSL3.0、TLS1.0、TLS1.1和TLS1.2,其中SSL3.0版本不安全[2],谷歌和火狐等浏览器已经禁用,但IE9仍然支持。当用户使用IE9浏览器访问个人网银时,攻击者可使用POODLE攻击发起降级攻击[2],使客户端和服务器端使用SSL3.0进行通信,从而利用SSL3.0的漏洞来获取个人网银用户的Cookie等敏感信息。值得注意的是有6家银行个人网银测试时基于SSL 3.0的HTTPS连接,存在严重的安全隐患,相关银行应尽快升级到TLS1.0或更高的版本。

多数网银的加密套件采用CBC模式的分组密码算法,攻击者可能针对这种CBC模式发起BEAST攻击[9],对密文分析得出用户的敏感信息。有部分银行还在使用3DES算法和RC4算法。3DES算法抵抗攻击的密钥长度不足[8],RC4是一种不安全的密码算法[3],采用这些加密算法进行通信可能会破解;大多数银行使用消息摘要算法为MD5或SHA1的加密套件, MD5算法的碰撞攻击在普通计算机上很容易实现[4],个人网银使用消息摘要算法为MD5的加密套件存在很大的安全隐患。SHA1算法的攻击成本很低[5],应该选用消息摘要算法为SHA256或SHA384的加密套件。

2.2 nmap扫描分析

为进一步了解个人网银服务器配置的加密套件、数字证书以及Poodle漏洞情况,利用nmap工具对个人网银相关的443端口进行扫描,扫描语句为:

nmap --script ssl-cert,ssl-enum-ciphers,ssl-poodle -p 443 <网银URL>

nmap通过不断重复的SSL/TLS连接,测试服务器对新的加密套件接受情况并记录,同时依据所采用的加密套件安全性,进行由A至F评分,其中A表示安全程度最高,F表示安全程度最低。

使用nmap扫描器扫描了110个网银入口的443端口(包含5个大型商业银行、12个股份制商业银行以及93个城市商业银行),结果如下:①网银采用F类的加密套件12套次,E类加密套件36套次,D类加密套件43套次;②支持SSL3.0的网银入口53个;③存在疑似CVE-2014-3566的POODLE攻击漏洞加密套件(SSLv3下的CBC加密工作模式)53套次;④使用不安全的MD5哈希函数的加密套件88套次。

扫描结果表明,部分银行的HTTPS配置存在安全隐患,如安全程度低的加密套件、SSL3.0支持、不安全的哈希函数使用等[2-4,8]。图1显示一著名上市银行的个人网银服务扫描结果,发现该服务器支持现有的SSL3.0、TLS1.0、TLS1.1和TLS1.2协议,然而除了TLS1.1外,均支持匿名的DH算法。由于该加密套件不支持身份验证,因此采用这些支持匿名DH套件组合时,可能导致中间人攻击。同时,可支持的加密套件包括了不安全的56位DES算法,增加了黑客破解通信的机会。

3 对策

网银HTTPS存在的主要威胁为协议或密码的降级攻击,尤其是SSLv3协议存在很大的安全隐患[2],建议浏览器禁用SSLv3协议,但这有可能影响用户选择。

利用入侵检测系统进行检测报警,可以帮助安全管理员进行更细致的分析。例如,可针对SSLv3下可能引发POODLE攻击的加密套件进行额外检测, Snort规则如下:

依据这条规则,对某银行的个人网银进行了测试,使用IE浏览器访问,开启Wireshare进行对比检测。结果表明,Snort检测到了实验中所有SSLv3下的加密套件TLS_RSA_WITH_3DES_EDE_CBC_SHA的8次SSL连接,如图2所示(为保护隐私抹去了IP地址的中间两位)。

4 结语

本文对个人网银进行了实证分析。首先通过银行的网址进入个人网银页面,通过浏览器显示和Wireshark捕获的网络踪迹对SSL/TLS握手信息进行分析;然后通过Nmap扫描工具对相应的服务器端口进行详细扫描,发现部分网银可能被利用的安全隐患,并据此设计了Snort检测规则,提出了相应的解决方案。

参考文献:

[1]CODENOMICON.The heartbleed bug[EB/OL].http://heartbleed.com/.

[2]BODO MLLER,THAI DUONG,KRZYSZTOF KOTOWICZ.This POODLE bites:exploiting the SSL 3.0 fallback[EB/OL].https://www.openssl.org/~bodo/ssl-poodle.pdf.

[3]侯整风,孟毛广,朱晓玲,等.RC4 流密码算法的分析与改进[J].计算机工程与应用,2015,51(24):97-101.

[4]TAO XIE,DENGGUO FENG.How to find weak input differences for md5 collision attacks[EB/OL].http://eprint.iacr.org/2009/223.pdf.

[5]BRUCE SCHNEIER.When will we see collisions for SHA-1 [EB/OL].https://www.schneier.com/blog/archives/2012/10/when_will_we_se.html.

[6]RFC 7568-2015.Deprecating secure sockets layer version 3.0[S].2015.

[7]RFC 5246-2008.The transport layer security (TLS) protocol version 1.2[S].2008.

[8]NIST.Recommendation for key management[EB/OL].http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57-Part1-revised 2_Mar08-2007.pdf.

[9]THAI DUONG,JULIANO RIZZO.Here come the Ninjas[EB/OL].http://netifera.com/research/beast/beast_DRAFT_0621.pdf.

[10]THAI DUONG,JULIANO RIZZO.The CRIME attack[EB/OL].https://www.ekoparty.org/archive/2012/CRIME_ekoparty2012.pdf.

[11]STEVEN J FREAK.Another day,another serious SSL security hole[EB/OL].http://www.zdnet.com/article/freak-another-day-another-serious-ssl-security-hole/.

[12]CHRIS PALMER.Gradually sunsetting SHA-1[EB/OL].https://security.googleblog.com/2014/09/gradually-sunsetting-sha-1.html.

[13]GLOBALSIGN.Compare SSL certificates[EB/OL].https://www.globalsign.com/en/ssl/compare-ssl-certificates/.

(責任编辑:杜能钢)

英文摘要Abstract:The HTTPS protocol which is based on SSL/TLS protocol is the basis of modern e-commerce and modem e- government,and its security depends on the SSL/TLS configurations of client and server.This work empirical studies the HTTPS protocols configurations of more than one hundred personal online banking by analyzing the network traffics and the data obtained from scan target servers port.It discusses the shortcomings of the HTTPS protocols configurations,and defines a kind of detection rule.This detection rule can generating warning logs,when using the SSL/TLS protocol and its corresponding cipher suite that may exists safety risks.

英文关键词Key Words:Security of Online Banking; HTTPS; Cipher Suite; Detection Rule