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

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

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

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