acm-header
登录

ACM通信

研究突出了

技术视角:攻击目标Web服务器逻辑和猎物的XCS弱点


系统是安全的,只有当整个系统是安全的。

虽然这听起来似乎是显而易见的,但当您考虑到许多真实世界的系统都在不断发展时,实现整个系统的完全安全性很少是微不足道的。在以下文章《跨渠道脚本语言的出现》(the Emergence of Cross Channel Scripting, XCS)中,Hristo Bojinov, Elie Bursztein和Dan Boneh强调了这个问题。

本文中研究的系统是嵌入式Web服务器,它在消费电子设备(如数字相框、无线路由器和网络连接存储设备)的系统管理和配置中已经非常流行。

Web应用程序长期以来一直存在跨站脚本(XSS)漏洞。Web应用程序的XSS漏洞允许攻击者将攻击脚本注入到Web应用程序中,然后攻击脚本在浏览器上以Web站点的特权执行。一种特别有害的XSS类型是持久XSS,在这种类型中,注入的脚本在浏览会话之外和不同浏览用户之间持久存在。例如,臭名昭著的Samy蠕虫利用了MySpace.com中的XSS漏洞,攻击者(在这种情况下是Samy)注入了一个脚本作为Samy(持久)用户配置文件的一部分。浏览萨米个人资料的人发现他们的个人资料被感染了,浏览他们个人资料的人也发现了,以此类推。

XSS问题在嵌入式Web服务器设置中被放大,在该设置中,Web服务器与其他服务共存,共享底层设备资源,比如文件系统。例如,一些NAS设备既公开用于系统管理的Web接口,又允许通过FTP、SMB或P2P服务上传文件。由于文件系统是在Web服务器和这些其他文件上传服务之间共享的,攻击者可以上传具有特殊文件名的文件,该文件名包含恶意JavaScript。之后,当设备管理员通过Web界面对设备进行配置时,地址栏会加载恶意文件,并执行恶意JavaScript脚本。

对于具有这种服务共存位置的设备,即使每个服务本身都是安全的,但在一起运行它们会产生新的安全漏洞,因为每个服务都没有假设全局状态(比如文件系统)是与其他服务共享的。更糟糕的是,如果任何服务存在安全漏洞,那么所有服务都会受到影响。在这里,作者讨论了反向XCS漏洞,其中Web服务器的XSS漏洞可能导致来自其他服务的私有数据被泄露。


跨站点脚本编制(XSS)问题在嵌入式Web服务器设置中被放大,在该设置中,服务器与其他服务共存,共享底层设备资源,比如文件系统。


基于这些敏锐的观察,作者发现了许多嵌入式系统中真实的XCS漏洞,包括几个NAS设备、熄灯管理系统(LOM)和相框。作者还探索了基于手机的XCS,其中Palm Pre很容易受到XCS攻击,通过日历标题或内容注入其有效载荷。

作者指出了防御XCS的一些初始方向,主要是沿着通过限制传出网络消息的目的地来防止信息泄漏的路线。这确实是一个有趣的方向。问题的核心在于制定这样一项政策。在我看来,更根本的解决方案是解决问题的根本原因,消除独立设计的服务的任何状态共享。如果需要跨服务共享,服务设计人员必须显式地启用这种共享。

通过突出仍然存在的漏洞,本文提供了一个有价值的教训和有趣的阅读关于系统安全。

回到顶部

作者

海伦王helenw@microsoft.com)是西澳雷德蒙德微软研究院安全与隐私研究小组的高级研究员。

回到顶部

脚注

DOI: http://doi.acm.org/10.1145/1787234.1787256


©2010 acm 0001-0782/10/0800 $10.00

允许制作本作品的全部或部分的数字或硬拷贝用于个人或课堂使用,但前提是该拷贝不是为了盈利或商业利益而制作或分发,并且该拷贝在第一页上带有本通知和完整引用。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,需要事先获得特定的许可和/或付费。

数字图书馆是由计算机协会出版的。版权所有©2010 ACM有限公司


没有发现记录

登录为完全访问
»忘记密码? *创建ACM Web帐户
文章内容:
Baidu
map