XSS攻击挑战Web安全
发布时间:2008-12-31   录入:启明星辰

【CNW.com.cn 专稿】当前,跨站脚本攻击XSS已经成为Web安全界的公害,对于企业用户而言,对于XSS的防御需要新的思路,并且要进一步提高认识。

 

疯狂的攻击

 

2008年注定是不平凡的一年,在网络安全界也是一样。2008年初,SQL群注事件使得SQL注入重新成为网络安全界的一个关注焦点,机械化的入工具的出现,数以十万计的网站在数天内被攻击。SQL群注风暴硝烟未散,跨站脚本攻击XSS又提马杀到:6月25日,来自Darkreading.com 的消息,Yahoo Mail中存在XSS漏洞,同一天来自Theregister.com的消息,安全网站xssed.com声称,英国汇丰银行的多个网页上都存在跨站脚本漏洞,攻击者可以藉由这些跨站脚本漏洞,访问这些合法银行网站的用户欺骗到其精心构建的网络钓鱼网站上,从而获取用户敏感的银行账户和密码信息。由于汇丰银行在修补网站漏洞方面动作缓慢,因此这些网站上存在的漏洞将在较长的时间内对网站用户的安全造成较大威胁。

 

XSS是一种经常出现在Web应用中的计算机安全漏洞,它允许恶意Web用户将代码植入到提供给其他用户使用的页面中,比如HTML代码和客户端脚本。攻击者利用XSS漏洞,访问控制策略——例如同源策略(Same Origin Policy)。这种类型的漏洞由于被骇客用来编写危害性更大的钓鱼攻击而变得广为人知。

 

对于XSS攻击,记者曾经走访了启明星辰总工程师万卿,他的看法是:XSS是新型的“缓冲区溢出攻击”。

 

XSS攻击和前段时间甚嚣尘上的SQL注入攻击一样,都是由于Web业务的代码编写人员不严谨的字符限制而导致的。当某个站点允许用户提交Java Script脚本(这在Web 2.0年代非常普遍),而又没有对这些脚本进行严格分析,就有可能存在XSS漏洞。换句话说,决定了XSS漏洞的独特性,任何允许提交脚本的页面都可能存在XSS漏洞,而且这些漏洞可能各不相同。

 

防御XSS

 

据万卿介绍,目前业内对XSS漏洞的防御一般有两种方式。第一种方式就是代码修改,对用户所有提交内容进行验证,包括URL、查询关键字、HTTP头、POST数据等。而且仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。

 

接下来就是实现Session标记、CAPTCHA系统或者HTTP引用头检查,以防功能被第三方网站所执行。最后一步就是确认接收的内容被妥善地规范化,仅包含最小的、安全的标记,去掉任何对远程内容的引用,使用HTTP的Cookie。

 

不过,这种方法将降低Web业务的交互能力,用户仅能提交少量指定的字符,不适应那些交互性要求较高的业务系统。而且Web业务的编码人员很少有受过正规的安全培训,即便是专业的安全公司,由于侧重点的不同,也很难完全避免XSS。2008年1月,xssed.com的一份报告指出:McAfee、 Symantec、VeriSign这三家安全公司的官方站点存在约30个XSS漏洞。

 

第二种方式就是部署专业的防御设备,目前较为流行的有入侵防御产品,利用的就是入侵防御产品对应用层攻击的检测防御能力。用户在选择相应的产品之前,最好先了解一下相关产品的XSS、SQL注入等Web威胁的检测方式。有一些入侵防御产品采用的还是传统的特征匹配方法,如对经典的XSS攻击—— IMG SRC="javascript:alert('XSS');"——来说,就是定义“Javascript”这个关键字进行检索,一旦发现提交信息中包含 “Javascript”,就认定为XSS攻击。

 

这种模式匹配的缺点显而易见:通过编码或插入TAB键方式可以轻易躲避,而且还存在极大的误报可能,如“http://www.xxx.com /javascript/kkk.asp?id=2345”这样一个URL,由于包含了关键字“Javascript”,也将会触发报警。

 

对此万卿表示,比较好的方式是选择那些基于攻击手法或者说基于攻击原理检测的入侵防御产品。比如没有采用传统的特征匹配方式,而是采用了行为特征分析方式,通过分析XSS所有可能的攻击手法,建立一个XSS攻击行为库来分析判断XSS攻击。采用了这种方法的入侵防御产品可以避免传统安全产品在XSS 攻击检测上的漏报和误报,实现精确阻断,为面临XSS威胁的广大网络管理员提供一个很好的选择。

文章来源:http://www.venustech.com.cn/
  • 公司总部 | 分支机构 | 法律声明 | 投资者关系 | 400-624-3900 800-810-6038
  • © 启明星辰1996-2015 版权所有 京ICP备05032414号 京公网安备110108003435号