APP下载

针对Web-mail邮箱的跨站网络钓鱼攻击的研究

2010-08-06殷水军刘嘉勇

通信技术 2010年8期
关键词:脚本攻击者邮件

殷水军, 刘嘉勇, 刘 亮

(四川大学 信息安全研究所,四川 成都 610065)

0 引言

随着互联网的不断发展以及动态脚本语言的大量使用,当前的商业Web几乎可以做任何事情,比如在线购物、股票交易、网上银行等。大量动态内容的存在,提高了用户的体验,但是却给Web应用程序带来了安全隐患。跨站脚本攻击(XSS)和网络钓鱼(Phishing)攻击就是其中流行的两种攻击方式。国际Web应用安全组织(WASC)最新数据表明,采样分析了10297个网站,其中31.47%站点存在XSS漏洞,且XSS在发现的漏洞中占到总数的41.41%,高居榜首[1]。由中国互联网网络安全报告(2008上半年)指出,2008年上半年国家互联网应急中心(CNCERT)共接收 3291件非扫描类网络安全事件,其中网络仿冒事件的数量达 890件,占27.04%,同比增长 38%,被仿冒的网站大都是国外的著名金融交易机构[2],可见两者危害之大。

跨站脚本攻击可以窃取用户的 cookie,但是窃取的cookie一般不会包含用户的账号、密码等信息,即使有,也是经过加密处理的,获取了的信息也是密文,想恢复成明文几乎不可能,而网络钓鱼攻击正好可以弥补这个不足。通过跨站脚本攻击和网络钓鱼攻击的结合,提出了一种针对Web-mail邮箱的跨站网络钓鱼攻击方法,能够获取用户邮箱的cookie,账号、密码和用户的个人信息。

1 跨站脚本攻击和网络钓鱼攻击

1.1 跨站脚本攻击及防御

跨站脚本攻击,是一种迫使Web站点回显可执行代码的攻击技术,而这些可执行代码由攻击者提供、最终为用户浏览器加载。XSS的攻击目标是为了盗取客户端的cookie或者其他网站用于识别客户端身份的敏感信息,获取到合法用户的信息后,攻击者可以假冒最终用户与网站进行交互。对Web应用程序进行跨站脚本攻击主要有两种类型:持久型XSS和反射型XSS,文献[3]中有详细的介绍。

跨站脚本攻击的防御可以从两个方面来考虑,一个是网络用户客户端,一个是网站的开发服务端。在文献[1,3]中都有介绍,但是这些文献给出的方法都有很大的缺陷和不足。

在网络用户客户端方面,禁止浏览器运行脚本,影响了一些正常网页的显示;在访问敏感网站后,主动清理历史记录、cookie记录、表单记录、密码记录,并重启浏览器后才访问其他网站,在很大程度上都比较繁琐,浪费了用户浏览网页的时间;这些方法不是实质性的措施。在文献[4]中,针对上面的不足提出了解决的方法,它首先在客户端判断输入是否有脚本标签,如果有再进行判断是否存在特殊字符,如果有,则进行跨站代码分析。存在XSS攻击则阻止,不存在则进行正常请求响应,它没有影响正常网页的显示,也没有让用户去做大量繁琐的无用功。

在网站的开发方面,则主要注重在输入数据的验证、过滤、编码等,但一些攻击者还是能够绕过这些机制。在文献[5-6]中,针对Web运用程序提出了一些方案。

1.2 网络钓鱼攻击及防御

网络钓鱼攻击是一种网络诈骗手法,主要通过电子邮件、网页等途径散布虚假信息,诱骗不知情的网络用户连接上仿冒的网站(也称为钓鱼网站),比如假冒的网上银行、在线购物等,骗取用户的网银账号和密码等重要信息。

网络钓鱼攻击可以分成三个步骤:建立一个模仿目标网站的假网站;在假网站上上传钓鱼页面;群发邮件,引诱用户到假网站;在文献[7]中,对上述的三个步骤都做了详细的介绍。

对于网络钓鱼的防御方法,在文献[8]中分了三个方面进行分析:基于邮件服务器;基于浏览器;基于协议的改进。在邮件服务器方面,作者针对 SMTP协议的漏洞,人为地增加对发件人身份的认证机制,进而将钓鱼邮件用类似于过滤垃圾邮件的方法屏蔽掉;在浏览器方面则是防止脚本语言的运行;在协议的改进方面,传统SSL协议只保证回话的机密性,由于证书机构可能错发证书,因此不能保证基于SSL协议会话一定是与合法站点进行的,只有当进一步检查证书内容时才能得出结论,而这一点是一般用户不可能做到的。

1.3 对两种攻击的分析

跨站脚本攻击给Web网络带来了很大的安全隐患,它可以获取cookie,并且可以和网页木马,蠕虫等结合来进行攻击。其中获取 cookie是攻击的重点,但是现在很多的网站基于安全考虑,并不一定把重要的信息(如账号和密码)放在 cookie里,即使有,也进行了加密。而且现在有很多的浏览器(如IE8, IE7, Mozilla Firefox, Netscape Navigator等)都支持 HTTPOnly cookie[9],虽然 HTTPOnly cookie不能阻止XSS攻击,但是它能够阻止客户端利用脚本来窃取一些重要的cookie信息。

网络钓鱼攻击通过诱骗用户提供其个人账号和密码等个人资料,获取用户的某种身份信息,进而窃取用户的个人财产。但是它的不足之处在于要模仿目标网站建立假冒网站,如果用户仔细的话,辨认假冒网站还是很容易的,比如域名就会不同。

如果结合跨站脚本攻击和网络钓鱼攻击,再利用Web-mail邮箱系统,就可以很好的避开了两者的不足。因此提出了一种针对Web-mail邮箱的跨站网络钓鱼攻击方法。

2 一种针对Web-mail邮箱的跨站网络钓鱼攻击

2.1 攻击原理及流程图

攻击者以银行、网上商业公司、系统通知、好友或者广告等形式向用户发送一封恶意的邮件,而这封恶意邮件里嵌入了脚本代码,当用户登录邮箱查看邮件时,点击了攻击者所发送的邮件,从而脚本代码被执行。

被嵌入邮件里的脚本代码有两个功能:一个是发送用户邮箱的 cookie给攻击者。另一个就是链接到攻击者已经做好的网络钓鱼页面。如果想获取用户的账号及密码,那么钓鱼页面可以做成邮箱的超时登录页面,当然脚本中应该设置好超时的时间。如果想获取用户的个人相关信息,那么钓鱼页面可以做成银行或者网上商业公司的调查页面。图1展示了针对邮箱的跨站网络钓鱼攻击的流程。

图1 针对邮箱的跨站网络钓鱼攻击的流程

2.2 攻击的实现过程

2.2.1 构造钓鱼页面

从原理分析里可以知道,钓鱼页面的构造是根据获取信息的要求而定的,如果是想获取用户的个人相关信息,则钓鱼页面可以构造成相关的调查用户的信息。如果想获取用户的账号和密码时,其页面可以构造成邮箱的超时页面,现在的大多数邮箱中,有很多的邮箱都有超时设置,也就是当用户在一段时间内没有对邮箱进行任何操作时,邮箱会自动跳转到超时页面,让用户重新登录。

2.2.2 构造并发送带有恶意脚本的邮件

在发送带有恶意脚本的邮件之前,要测试用户邮箱的漏洞,在文献[10]中已经很详细的介绍了漏洞的测试方法,在文献[11]中有很多测试漏洞的语句。

在测试好漏洞之后,就是构造邮件,在所构造的邮件里面最重要的部分就是跨站脚本代码的编写。跨站脚本的作用在2.1节攻击原理里已经介绍,其部分代码可以如下:

上面的代码链接到超时页面,而超时页面里有接收cookie的程序代码,从而也就获取了用户邮箱的 cookie,另外超时页面也就被用户所调用了。

当被攻击用户浏览该恶意邮件时,也就实现了上面所讲述的攻击过程。

2.2.3 接收用户信息

当用户浏览邮件后,会链接到攻击者所构造的钓鱼页面,如果用户根据钓鱼页面的要求填写了相关的信息并提交,钓鱼页面会把用户信息提交给 receive.php文件,receive.php的作用就是保存用户的信息并链接到真正的邮箱页面。其部分代码[12]如下:

通过receive.php文件,获取并保存用户信息到攻击者建立的数据库。查看数据库就可以看到用户的信息了。

3 防御措施

对于这里所提出的针对 Web-mail邮箱的跨站网络钓鱼攻击方法,其防御方法是比较多的。因为其结合了跨站脚本攻击和网络钓鱼攻击,因此针对两种攻击的防御方法对所提出的攻击方法都是可行的,上面已经介绍,在此不做复述。

另外针对所提出的攻击方法,如果攻击者想要获取用户的密码、账号和个人信息,其中最重要的一步就是受害用户自己去填写这些信息。所以防御方法就显而易见,就是用户不要随便填写自己的相关信息,对于不熟悉和不信任的网站要求自己填写个人调查信息,需慎重。对于 Web-mail邮箱的超时操作要求,不要随意的重新输入账号和密码进行登录,可以直接关掉浏览器,然后再重启浏览器登录邮箱。

4 结语

介绍了跨站脚本攻击和防御,网络钓鱼攻击和防御。通过分析两种攻击在获取信息时的不足,提出了一种针对Web-mail邮箱的跨站网络钓鱼攻击方法。这种攻击方法弥补了两种攻击的不足之处,可以获得更多的用户信息。例如用户邮箱的cookie,账号、密码,及用户的个人信息。还有待于更好完善的地方,比如在获取用户账号和密码时,并没有对账号和密码进行验证,这是需要进一步研究的地方。

[1] 赵旭. 应该了解的跨站脚本十二问[J]. 网络安全技术与应用,2009(03):4-37.

[2] 国家互联网应急中心,CNCERT/CC2008年上半年网络安全工作报告[EB/OL]. (2008-05-01).[2009-08-15].http://www.cert.org.cn/UserFiles/File/CISR2008fh.pdf.

[3] 吴耀斌,王科,龙岳红.基于跨站脚本的网络漏洞攻击与防范[J].计算机系统应用, 2008(01):38-44.

[4] TIWARI S, BANSAL R, BANSAL D. Optimized Client Side Solution for Cross Site Scripting[J]. Networks, 2008(16):1.

[5] HARTLEY D. Secure Ecommerce Web Application Design Principles Beyond PCI DSS[J].Computer Fraud & Security, 2009(06):13-17.

[6] GOLLMANN D.Securing Web Applications[J]. Information Security Technical Report, 2008(I3):1-9.

[7] Forte D. Anatomy of a Phishing Attack: A High-level Overview[J].Network Security,2009(04):17-19.

[8] 倪天华,朱程荣.网络钓鱼防御方法研究[J].计算机技术与发展,2008(09):115-118..

[9] HTTPOnly-OWASP.HTTPOnly[EB/OL].(2009-08-15).[2009-08-15].http://www.owasp.org/index.php/HTTPOnly#Browsers_Supportin g_HTTPOnly.

[10] 王蕊,葛昕.Web应用程序跨站脚本漏洞测试研究[J].科协论坛,2008(06):89-90.

[11] RSNAKE.XSS (Cross Site Scripting) Cheat Sheet Esp: for filter evasion [EB/OL]. (2009-08-15)[2009-08-15]. http://ha.ckers.org/xss.html.

[12] NEXUS.Applying XSS to Phishing Attacks [EB/OL].(2007-05-03)[2009-08-15]. http://www.xssed.com/article/5/Paper_ Applying_XSS_to_Phishing_Attacks/.

猜你喜欢

脚本攻击者邮件
酒驾
基于James的院内邮件管理系统的实现
机动能力受限的目标-攻击-防御定性微分对策
来自朋友的邮件
安奇奇与小cool 龙(第二回)
CMailServer
一封邮件引发的梅赛德斯反弹
正面迎接批判
快乐假期
小编的新年愿望