专家称:沙箱技术改善安全之余 仍有不足

Adobe系统公司和其他软件厂商已经将沙箱(sandboxing)技术作为其应用程序安全策略的重要组成部分,沙箱技术能够将特定的进程与宿主系统的内存隔离开。采用沙箱技术的目标是阻止攻击者接触关键的系统文件,防止攻击者窃取敏感数据。但最近一位安全研究人员指出,部署沙箱技术的方式存在固有缺陷,精明的黑客能够绕过沙箱进入保存在用户电脑上的Adobe Flash文件。位于弗吉尼亚Fairfax的 Invincea公司创始人兼首席科学家、网络安全专家Anup Ghosh说,沙箱技术开发于20世纪90年代,直到现在才成为主流的应用。除了Adobe,智能手机平台制造商使用沙箱技术隔离应用程序与设备上的不同功能,浏览器供应商采用沙箱技术隔离浏览器的渲染引擎。在本次采访中,Ghosh介绍了沙箱技术的基本知识,解释了为什么使用沙箱是一个正确的方向,并指出了目前此种技术的实现具有的一些弱点。

问:什么是沙箱?为提高安全性,软件供应商们以这样或那样的方式使用沙箱多长时间了?

[[18864]] Anup Ghosh:早在20世纪90年代后期,美国国防高级研究计划局(DARPA)资助了一些项目,发展了沙箱技术。沙箱技术旨在阻止不受信任的代码执行恶意操作。与直接运行程序代码相比,沙箱最重要的属性是能够允许不完美的代码进行运行和被渗透,同时不会对宿主系统造成损害。这就是沙箱的作用。隔离软件与操作系统是很重要的概念,因为对于不在沙箱中运行的软件来说,一个缺陷就可能导致桌面系统的全面崩溃。如今我们在市场上见到的沙箱都是嵌入到主流的商业产品中的。谷歌浏览器内为其渲染引擎部署了一个沙箱。Adobe Reader X内部也有一个沙箱,当你打开一个PDF文件时,Adobe Reader X使用的渲染引擎就会在沙箱中运行。

问:那我们可以认为,软件制造商正在试着开发独立运行、不依赖于操作系统和服务器的应用程序,对吗?

Ghosh:这确实是目前某些沙箱系统的工作,但实际上这是虚拟化技术应该做的,而非沙箱技术。Java虚拟机(JVM)就是这样一个例子。例如,利用沙箱,Google可以发现你将要访问的网页(含有JavaScript内容)存在的恶意内容。Google知道在其JavaScript引擎中会存在缺陷,而且他们不可能全部发现这些缺陷,也不可能提前发现。使用沙箱背后的想法在于,即使JavaScript引擎中存在缺陷,即使有黑客程序能够利用这个缺陷,那么鉴于JavaScript引擎运行于谷歌浏览器的沙箱之内,黑客行为也不可能成功。简单地说,他们的想法就是将恶意行为包裹在沙箱之内。这是朝着正确方向迈进的一步,程序员可以不用再苛求完美的代码——我们知道他们也写不出完美的代码。但是,应用程序级的沙箱还远远不够。沙箱的基本功能设计涉及截断所有被认为有可能被黑客利用的系统调用。举个例子,对Adobe Flash插件的分析表明,该插件会将所有被Adobe Flash调用的通信协议列入黑名单,已知的是他们至少忘记列入某一个协议了,谁知道未知的还有多少。所以从根本上来说,试图列出所有可能被黑客利用的系统调用并尝试截断它们的方法是不够鲁棒(robust)的。对于隔离用户可能从桌面运行的未授信代码,我们做得还远远不够。

问:当谷歌浏览器推出的时候它就具有沙箱功能吗?他们在沙箱中运行第三方组件?

Ghosh:实际上,他们在沙箱中运行他们自己的渲染器。至少在推出浏览器的时候,他们没有支持在沙箱中运行第三方组件。后来,Adobe公司为谷歌浏览器的Flash插件加入了沙箱。

问:我们并没有在许多应用程序中看到有沙箱。对程序员来说创建沙箱功能真的很难吗?

Ghosh:创建沙箱功能确实需要重新设计和重写应用程序。如果你分析一下Adobe Reader X,你会发现它是与Adobe Reader 9.x不同的全新的代码库。这就是建立沙箱不那么容易的部分原因。因为目前人们采用的沙箱实现办法,要求程序员思考出所有可能被攻击者用来攻击系统的代码运行方式。他们建立了一个模型,显示某段代码可能会调用文件系统,而我们可能会要求允许这些文件读取操作,但不要让该段代码获得任何系统权限。于是,程序员们不得不编写代码,绕过系统权限。Reader X的沙箱有一个明显之处,开发它的程序员决定不试图阻止程序对文件的读取,而是阻止机器将这些文件发送给某些远端服务器。

问:当谈论Android、Apple甚至是Windows的智能手机时,我们不时会听到沙箱。这里所说的沙箱与我们前面说的是同一个概念吗?

Ghosh:是的。Android为运行应用程序部署了一个名为Dalvik的JVM。当你运行Andorid应用的时候,Java虚拟机就如同沙箱,而且Java虚拟机很优秀,它已经使用了很长一段时间。问题是许多应用要求沙箱之外的权限。作为用户,当你下载这样一个应用时,你将被要求给予该应用程序打破沙箱的权限。当然,作为用户,你的回答几乎总会是“是”,因为你想使用该应用的全部功能。你需要给它GPS、摄像头、麦克风或者电话的权限。所有这些操作基本上打破了整个沙箱。所以,让用户为应用程序授权这样的模型并不能保护用户,因为大多数时候用户并没受到做出良好安全决策的必要训练。

问:Adobe正在使用的是协议处理黑名单(protocol handler blacklists),安全研究员Billy Rios指出这是一个弱点。什么是协议处理黑名单?还有其他方法可以屏蔽特定的协议吗?

Ghosh:他们为用户从磁盘加载的所有Flash文件设定了一个要求。要求是当Flash文件运行时,该文件不能够进行任何出站通信。他们担心的风险是,Flash文件有可能隐藏着恶意软件,能在用户毫无察觉的情况下读取敏感文件,然后通过网络发送出去。这是安全性上的要求。他们实现了一个沙箱来防止这种数据外泄的发生。实现的方法是举出所有你能够向外发送数据的方式。他们列举了不同的网络协议。我们并不知道他们都列出了哪些协议,但我们知道他们不可能列出所有的。Billy Rios知道这种方法不是完备的,所以,他只需要找到一种不在黑名单上的协议即可(破解Adobe的沙箱)。他需要的只是一种泄漏桌面上所有数据的协议。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/134448.html<

(0)
管理的头像管理
上一篇2025-03-01 04:05
下一篇 2025-03-01 04:06

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注