从IE到Google Chrome看跨站脚本攻击/Cross-site scripting (XSS)

现在的浏览器安全性已经得到了明显的提高,但是当讨论影响用户的安全威胁问题时,跨站脚本攻击依然高居榜首。

我们注意到,浏览器供应商已经开始通过向浏览器建立更多保护来解决浏览器安全问题,例如,微软公司在其IE8浏览器中就增加了跨站脚本过滤器,这种技术面 临的挑战就是使Web应用程序接受复杂的HTML输入同时阻止恶意脚本,现在,位于美国伊力诺依州的两名研究人员正在考虑采用新的方式通过减少对不可靠 web浏览器解析器上的web应用程序的依赖来加强浏览器的保护。

在美国加州奥克兰召开的IEEE安全与隐私研讨会上,这两名研究人员Mike Ter Louw和V.N. Venkatakrishnan提出了抵御跨站脚本攻击的新方法,被称为BluePrint。作为插入web应用程序与浏览器之间的软件 层,BluePrint使用安全的HTML元素的白名单来确定和移除不可信的内容。为了避免潜在的脚本注入攻击,白名单内容在浏览器中被非常小心的传输和 复制。

在一份文件中,这两名研究人员表示,目前的web浏览器并不能进行可信的脚本识别(不能识别涉及可疑HTML的内容),因为浏览器的不可信的解析功能。出于这个原因,两人设计了BluePrint从根本上对解析进行控制。

“在应用程序服务器上,解析树是从不可信的HTML生成的,需要采取必要的预防措施来确保解析树中没有动态内容(如脚本)节点,”研究人员表示,“在客户端浏览器中,生成的解析树被传给浏览器的文件生成器,没有采取不可信路径,但却涉及不可靠的浏览器解析行为。”

他们表示,“这两个步骤能够确保浏览器生成的不可信内容符合web应用程序对该内容的理解,生成的文件能够反映出应用程序的意图,不可信内容不包含脚本内容,因此所有的未经授权的脚本执行都被制止。”

研究人员在Google Chrome、Firefox 2和3、Opera 9.6、Safari3.1和3.2以及IE6和IE7中测试了他们的软件,从原则上说,BluePrint能够与目前所有支持JavaScript的浏 览器兼容,Venkatakrishnan表示。

“我们使用BluePrint将大规模应用程序(如MediaWiki和WordPress)进行转换,测试结果表明对查看BluePrint 转换网页的用户几乎没有实际影响,”他表示,“BluePrint没有修改任何可信赖的内容,如果网页包含动态可信任内容,BluePrint将不会影响 这些网页。”

发表评论?

0 条评论。

发表评论