当前位置:首页 > 资讯&知识 > 云计算 云计算

CSRF攻击的原理解析与防御方法的研究

本文摘要

全球知名企业和媒体的网站或数据库一度遭恶搞或者被搞垮。企业和政府内部的资料,被窃取后上传到网络上,任由网友们查阅。6月16日,美国中央情报局(CIA)网站遭到“分布式拒绝服务(DDoS)”的攻击,网站掉线一个小时。有袭击者宣布对此负责,并兴奋地宣称:“让我们为成功入侵CIA跳起探戈吧!”

  跨站点请求伪造(Cross—Site Request Forgery).以下简称CSRF。是一种广泛存在的网站漏洞。Gmail、YouTube等著名网站都有过CSRF漏洞.甚至包括“ING DIRECT”这样的荚国第四大储蓄银行的金融机构网站。2009年3月著名网络安全机构SANS与MITRE结合来自全球超过30个软件工作者及安全专家,将CSRF列为最危险的25个编程错误之一。

  Web安全策略

  与CSRF有关的主要有三个Web安全策略:同源策略、Cookie安全策略和Flash安全策略。

  同源策略

  同源指的是:同协议,同域名和同端口。同源策略,简单地说就是要求动态内容(例如,JavaScript或者VBScript)只能读取或者修改与之同源的那些HTTP应答和Cookie.而不能读取来自不同源的内容。浏览器的同源策路限制了脚本只能访问同源下的资源。

  同源策略仅仅阻止了脚本读取来自其他站点的内容.但是却没有防止脚本向其他站点发出请求。因为CSRF攻击是由于某些请求被发出,而引起在服务器端执行了某些动作所引起的,所以同源策略无法防止CSRF攻击。

  Cookie安全策略

  RFC2109定义了Cookie的安全策略。服务器设置Cookie值并为Cookie设置安全属性。Cookie的安全属性包括了Domain、Path、Secure、Expires、MaxAge和HttpOnly等。Cookie安全策略类似于同源策略并且要比同源策略更安全一些,但是利用脚本,可以把Cookie的安全级别降低.甚至Cookie的path属性可以被完全绕过。如果一位攻击者可以突破或绕过两源策略的话,就可以通过DOM的变量document.cookie轻松读取Cookie。

  Flash安全策略

  默认时,Flash的安全策略与同源策略非常类似,来自于某个域的Flash应用只可以读取来自该域的响应。但是Flash的安全策略并不被同源策略限制.Adobe公司定义了F1ash的跨域策略,该策略通常定义在一个名为crossdomain.xml的策略文件中。该文件定义了哪些域可以和当前域通信。错误的配置文件可能导致兀ash突破同源策略。导致受到迸一步的攻击。安全研究人员曾经对500个顶级网站进行了分析.发现其中有143个站点使用了crossdomain.xml策略文件。而在这143个站点中。又有47个站点对来自第三方站点的连接完全接受,这可能导致CSRF漏洞。

  Web认证方式和浏览器的安全缺陷

  现在的Web应用程序几乎都是使用Cookie来识别用户身份以及保存会话状态。浏览器在最初加入Cookie功能时并没有考虑安全因素。假设一个网站使用了Cookie,当一个用户完成身份验证之后.浏览器得到一个标识用户身份的Cookie,只要不退出或关闭浏览器。以后访问相同网站下的页面的时候,对每一个请求浏览器都会“智能”地主动附带上该网站的Cookie来标识自己,用户不需要重新认证就可以被网站识别。当第三方WEB页面产生了指向当前网站域下的请求时,该请求也会带上当前网站的Cookie。这种认证方式,称之为隐式认证。

  不同浏览器对于Cookie的处理不尽相同,Internet Explorer默认阻止向第三方发送当前的Cookie(见213节),而Firefox和Chrome则默认没有限制。

  现在很多用户上网使用多窗口或多标签页浏览器,例如傲游、Firefox、Opera等。这些浏览器在方便用户的同时也增大了风险,因为它们只有一个进程运行,Cookie在各个窗121或标签页之问是共享的。

  除了Cookie认证方式之外,其他Web认证机制也面临同样的问题。比如HTTP基本认证,用户通过认证后。浏览器仍会“智能”地把用户名和口令附加到之后第三方发给站点的请求中。即使网站使用了安全套接字(SSL)来加密连接.浏览器也会”智能“地自动把SSL认证信息加到第三方发给站点的请求中。

  P3P的副作用

  Internet Explorer在处理Cookie时,还遵守P3P(Platform forPrivaey Preferenees)规范。P3P是W3C制定的一项关于Cookie的隐私保护标准,要求网站向用户表明它对用户隐私的处理。比如将收集哪些信息。信息做何用途等。如果该站点的信息收集行为同用户设定的标准相符,则两者之闻关于个人隐私信息的协定就可以自动地缔结,而用户可毫无阻碍地浏览该站点;如果不符,浏览器会提醒用户,由用户决定是否对自己制定的个人隐私策略作出修改以进入该网站,双方最终通过一个双向的选择达成用户个人隐私策略。

  P3P策略产生了一个副作用:如果一个网站设置了有效的P3P策略,Internet Explorer允许第三方到它的Web请求自动带上Cookie。网站可能遭到CSRF攻击;如果一个网站没有设置P3P策略或者P3P策略无效,第三方到它的Web请求不会带有该网站的Cookie,反而免受CSRF攻击。

[返回]
沪ICP备12032527号-1 | 沪公网安备 31011002002007号