HTML5增强网络安全 同时带来新安全漏洞

面对新的安全问题,火狐浏览器的安全团队想到了使用新版本的网络超文本标记语言HTML5。

“HTML5的网络应用程序非常丰富,该浏览器正开始试图管理十分繁杂的应用程序,而不仅仅是网页,”Mozilla安全问题专家Sid Stamm近日在华盛顿召开的Usenix安全专题讨论会上表示。

“也就是说我们有一个很大的攻击面需要考虑,”他说道,而同时他又表示了对HTML5的担忧,Opera浏览器的开发人员正在积极修复一个缓冲区溢出漏洞,这个漏洞可能使用HTML5的画布图像渲染功能被利用。

万维网联盟(W3C)发布新一套渲染网页标准(统称为HTML5)不可避免地会带来全新的安全漏洞吗?至少有一部分安全研究人员正在考虑这个问题。

“HTML5为网络世界带来了很多功能和能量,黑客们现在可以更多地对HTML5和JavaScript发动恶意攻击,甚至比以往任何时候都要容易,”安全研究人员Lavakumar Kuppan表示。

“W3C的重新设计是考虑到我们将开始在浏览器内执行应用程序,多年以来,我们已经见证了浏览器的安全性,”安全咨询公司Secure Ideas渗透测试员Kevin Johnson表示,“我们必须回过头来理解,浏览器是一种恶意环境。”

虽然按照惯例被命名为HTML5,HTML5也常用来形容相互关联标准套的集合,这些标准联合的话,可以用来构建成熟的网络应用程序。它们提供的功能包括页面格式化、离线数据存储、图像移交和其他功能。

所有这些新的功能将开始接受安全研究人员的研究。

在今年夏天,Kuppan和另一位安全研究人员公布了滥用HTML5离线应用程序缓存的方法,谷歌Chrome、Safari、Firefox和Opera浏览器测试版都已经部署了这个功能,并且都很容易被这种方法攻击。

研究人员认为,这是因为任何网站都可以在用户的计算机上创建一个缓存,并且,在某些浏览器中,这种缓存创建根本没有得到用户的明确许可,攻击者可以设置到一个网站的假的登录页面,例如社交网站或者电子商务网站,随后这种假冒页面可以被用来窃取用户的登录凭证信息。

其他研究人员则对这一发现的价值持不同意见。

“这是一个有趣的问题,但它似乎并没有为网络攻击者提供比现在更多的额外利用价值,”Chris Evans表示,他是VSFTP软件的创造者。

安全研究公司Recursion Ventures公司的首席研究人员Dan Kaminsky赞同这种说法,他认为这种攻击是对HTML5出现前的攻击的延续。“浏览器并不只是请求内容、渲染内容并把内容扔掉,浏览器还会存储内容以备日后使用,Lavakumar观察到这个新一代缓存技术也将会有同样的特点。”

评论家一致认为,这种攻击将依赖于没有使用SSL来加密浏览器和网页服务器间的数据的网站,这种网站也很常见。但即使这种攻击没有发掘出新的漏洞类型,它也确实表明以前的漏洞在这种新环境中仍然可以被利用。

Johnson表示,对于HTML5,很多新功能都会对其自身的安全构成威胁,因为这些新功能增加了攻击者利用用户的浏览器发动某种形式的攻击的几率。

“多年以来,安全问题都集中在漏洞缓冲区溢出和SQL注入攻击上,我们必须修复这些漏洞,并且监控这些漏洞,”Johnson表示。但是对于HTML5而言,通常是它本身的功能“可以用来攻击我们”。

例如,Johnson指出谷歌的Gmail,这是HTML5本地存储功能的早期使用者。在HTML5之前,攻击者可能必须窃取计算机的cookies,然后进行解码以获取在线电子邮箱服务的密码。现在,攻击者只需要获取到用户浏览器的信息就能发动攻击,因为在浏览器中,Gmail存储了收件箱的副本。

“这些功能集是很可怕的,”他表示,“如果我能够在你的网络应用程序中找到一个漏洞,并且注入HTML5代码,我就能修改你的网站并且隐藏我不想让你看到的内容。”

对于本地存储,攻击者可以从你的浏览器读取数据,或者在你不知情的情况下插入其他数据。对于地理位置,攻击者可以在你不知情的情况下确定你的位置。对于新版本的CSS(层叠样式表),攻击者可以控制你能够看见的CSS增强网页的要素。HTML5的WebSocket向浏览器提供了一种网络通信协议栈,这可以被滥用来秘密的后门通信。

这并不是说浏览器制造商无视于这个问题。即使他们必须为这个新标准增加新支持,他们正在努力寻找方法来防止攻击者的滥用。在Usenix安全专题座谈会上,Stamm指出火狐团队正在研究的用以缓解这种针对HTML5新技术的攻击的技术。

例如,他们正在研究一种替代插件平台,被称为JetPack,这个平台将可以严格控制插件执行的行动,“如果我们能够完全控制应用程序编程接口,我们就可以说‘这个插件正在访问某某网站,是否允许’,”Stamm表示。

JetPack也可以使用一种声明式安全模式,即插件必须向浏览器声明它将执行的行动,然后浏览器会监测插件来确保它位于这些参数间。

不过,评论家认为,浏览器制造商是否可以采取更多有效措施来确保HTML5的安全仍然还有待观察。

“企业已经开始评估是否应该使用这些新功能来应用于浏览器,”Johnson表示,“这种时候,可能听到平时决不可能听到的话,‘IE6可能比较好’。”