主流电子邮件系统安全与缺陷改进设计
2013-04-29龚茜茹
龚茜茹
摘 要: 由于电子邮件厂商大都将电子邮件的运营转为免费模式,愈来愈多的安全隐患与用户不断提高的安全需求形成了很大的矛盾。文章对邮件使用过程中的诸多安全问题以及身份认证过程进行了分析,论证了其中存在的安全隐患。提出了采用安全登录控件来防范客户端入侵;SSL安全协议保证传输过程安全;采用时间戳来防范重放登录攻击;采用有仲裁的双向数字签名系统进行身份认证的电子邮件登录模型等。从邮件收发的各个环节,进行了有效的安全设计。
关键词: 电子邮件; 系统; 缺陷; 安全; 登录模型
中图分类号:TP316.81 文献标志码:A 文章编号:1006-8228(2013)07-21-03
0 引言
电子邮件是互联网的基础应用之一。近年来,由于对电子数据的认可度不断提高,在企业合同交换、文件传输中,电子邮件所扮演的角色越来越重要。但是,由于大多数电子邮件厂商转为免费,对面临的安全隐患重视不够,造成安全投入不足,其安全水平大都停留到05-06年的水平。因此,电子邮件系统整体安全不容忽视。
早期的邮件服务器由于安全措施有限,暴力破解曾经风行一时。暴力破解密码,就是使用某种暴力破解软件,一个接一个地穷举,直到试验出正确的密码,破解成功。为了提高破解成功率,通常配合密码字典使用。现在的邮件系统,已经对这种攻击手段进行了充分的预防。邮件厂商可以对每个IP设置合理的登录次数、每个账户设置合理的登录次数,再加上验证码等措施。这些措施能够有效地对付暴力破解。
1 邮件登录传输过程分析
对于电子邮件账户信息的传输,大体分为明文传输、口令加密传输、SSL安全传输。
1.1 明文传输
所谓的明文传输,就是在互联网上传送信息的时候,使用标准的http协议在网络中传送。这种协议仅仅进行简单的编码转换,对账户的任何信息都不进行加密。因此,在互联网传输信息的任意环节,都很容易被传输环节的人员所截获。这种传输方式被多数厂商广泛采用。
1.2 口令加密传输
所谓的口令加密传输,就是在客户端网页使用Javascript等技术,使用单向加密算法[1],对发送的密码进行加密之后的传输。由于使用成熟的单向加密算法,所以我们无法通过这行字符得到真正的密码。这样,即使在传输过程中捕获了用户名和加密后的口令,但是由于口令无法破解,因此无法直接登录邮箱。雅虎等邮箱采用的是这种技术。
1.3 SSL安全传输
SSL是一种成熟、可靠的邮箱安全技术,能够最有效地保护用户的机密信息,彻底杜绝从浏览器到服务器之间密码被非法窃取和篡改的技术。由于这种技术对传输的所有数据都进行了加密,因此,我们无法截获账户信息。Gmail邮件采用的就是这种技术。
2 邮件登录攻击验证
2.1 邮件明文传输的捕获
明文传输很容易捕获,使用普通的嗅探软件即可完成[2],如Wireshark、Sniffer、HttpWatch,如果在无线网络中使用,要使用无线Sniffer软件如WinAircrackPack等。这里推荐使用HttpWatch,HttpWatch作为IE的一个插件,主要的功能就是对通过浏览器发送的http请求进行监控和分析,和网关的捕获信息一样,又可以不需要网关的配合在本地进行。HttpWatch专门捕获http请求,能够极大减轻数据分析工作量,当捕获到数据之后,单击POST Data选项卡就可以看到用户名和密码。如图1所示。
从图1中可以看出,用户名、密码等信息在HttpWatch中被暴露得一清二楚,没有什么秘密可言。
2.2 口令加密账户攻击
使用口令加密账户后,捕获到的内容如图2所示。
从图2中可以看出,用户名很容易辨别,但是密码变成了一行无法读懂的字符,因此无法登录。
2.3 重放攻击
假设X为客户端,X加密后的口令消息为EKUy([MX]。在上面的传输过程中,我们捕获了EKUy([MX]),由于每个用户的EKUy([MX])为固定值。可以使用工具对邮件系统第二次发送EKUy([MX]),用来欺骗系统,实现登录。
在前面的案例中,在IE浏览器中打开雅虎网站,输入捕获到的用户名,密码任意取,不要单击登录;然后单击Paros的Trap,选择Trap request,接着将EKUy([MX])替换为以POST开头的请求头部分和以TPL_username开头的主体部分。即可使用重放攻击登录雅虎邮箱。
2.4 SSL安全传输的捕获
对于SSL安全传输来说,传输过程相对比较安全。但是,客户端本身的安全不容忽略,如果在客户端中安装键盘记录工具木马,账户信息很容易被窃取。键盘记录在系统中使用全局键盘钩子,记录用户的按键操作,并根据用户窗口的标题来确定是否为感兴趣的信息。如果为感兴趣的信息,木马可以将信息发送到指定的邮箱。
3 电子邮件安全登录模型的重构
3.1 客户端设计
为了防止客户端木马,可以采用ActiveX安全输入控件,控件采用虚拟键盘等手段,来保护输入不被键盘记录和伪造的系统消息获取。目前,大型的电子商务网站,如工商银行,淘宝等,都采用了安全控件来防止客户端木马[3]。
3.2 传输过程的安全技术
SSL是一种成熟、可靠的邮箱安全技术,它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输[4]。SSL协议位于TCP/IP协议与应用层协议之间,可以为应用层传输提供透明支持。SSL协议成本低,安全性好,因此,这种协议应该作为邮箱首选安全技术。
3.3 重放攻击的防范
为应付重放攻击,应该在电子邮件协商的时候加入时间戳或者特殊的随机数。T.Burrows等人于1989年提出一种基于单钥体制的协议Yahalom协议[5]。在可信赖第三方的参与下,它实现两个主体,之间建立会话密钥的任务,而且不使用时间戳。当整个过程无可信赖的第三方参与时,可以使用时间戳。
系统可以采用有仲裁的双向数字签名系统。假定客户端为X,网站为Y,MX为电子邮件账户信息,EKUx为X的公开密钥,EKRx为X的私钥,EKUy为Y的公开密钥,EKRy为Y的私钥,,T为时间戳。具体过程如下:
X->Y |EKRx[EKUy(EKRx[MX]) T]
当发送电子邮件账户信息MX的时候,第一步是用Y的公钥对MX进行加密,Y的公钥可以从网站上直接取得;第二步在生产的消息上添加时间戳;第三步使用X的私钥EKRx对消息进行加密,形成一个经过签名且保密的消息。这个信息捕获之后,如果没有Y的公钥,将无法解读。
网站Y在收到账户信息以后,先用KUx解密,得到X的信息和时间戳,此时,如果连续收到相同的时间戳,则认为发生了重放攻击,系统将拒绝本次登录;如果正常,则使用私钥EKRy解密后登录系统。
4 结束语
本文所述电子邮件安全登录模型,从客户端、传输过程、身份认证过程、防止重放攻击等方面,作了有效的防范,能够有效抵抗已知的攻击。
如果主流电子邮件系统采用该登录模型的身份认证系统,结合使用客户端安全控件进行防范,其安全水平将大大提高。同时也期待相关部门对电子邮件系统的安全性作一个总体的评估,尽快将其升级为安全的电子邮件系统。
参考文献:
[1] 陈小辉.钩子技术在信息窥探中的使用[J].计算机与现代化,2009.9:97-99
[2] 赵建超.校园无线网络安全综合防御[J].制造业自动化,2011.2:35-37
[3] KeithJ.Albert. Field-Deployable Sniffer for 2,4-Dinitrotoluene Detection[D]. Environ. Sci. Technol,2001.35(15):3193-3200
[4] 卿斯漢.安全协议20年研究进展[J].软件学报,2003.14(10):1740-1749
[5] 王正才.抗重放攻击认证协议的设计原则和方法研究[J].计算机工程与设计,2008.20(29):5163-5165