用于web运行时刻系统的沙盘技术的制作方法

文档序号:6496736阅读:212来源:国知局
用于web运行时刻系统的沙盘技术的制作方法
【专利摘要】在本发明的第一实施例中,提供了一种在具有处理器和存储器的计算机系统中提供小组件的安全性强制执行的方法,包括:从请求服务的小组件进程提取访问控制信息、生成为该小组件进程定制的访问控制规则,并且向Web运行时刻(WRT)系统的用户代码空间外的计算机系统的可信部分提供访问控制规则;以及,对于任何静态访问控制规则,将小组件进程的安全性检查从WRT系统委托到计算机系统的可信部分。
【专利说明】用于web运行时刻系统的沙盘技术
【技术领域】
[0001]本发明总体上涉及改善web运行时刻(webruntime)系统的安全性。更具体地说,本发明涉及使用沙盘技术来改善web运行时刻系统的安全性。
【背景技术】
[0002]小组件(widget)(通常也称为web小组件)是用于显示和/或更新本地数据或Web上的数据的交互式单目标应用,其以允许在用户的机器或移动设备上进行单个下载和安装的方式被打包。小组件是可以使用web标准来制作(authored)并且被打包用于分发的客户端侧应用。可以将它们下载并且安装在客户端机器上。小组件可以作为单机应用(stand-alone application)来运行(意指它能够在Web浏览器外运行)。小组件是通常使用HTML、JavaScript和CSS编写的可下载应用,并且利用web技术和标准。
[0003]小组件运行所处的运行时刻环境被称为小组件用户代理或Web运行时刻系统(Web Runtime System, WRT)。WRT负责进行小组件的安装/解除安装,并且提供用于小组件的调用和配置的功能。WRT也负责小组件的运行(execution)。例如,典型地以作为独立语言的JavaScript来编写web小组件。WRT包含被称为JavaScript引擎的软件模块,以解释小组件的JavaScript代码并且执行该运行。
[0004]图1图示出基于Limo?平台(即基于Linux?的移动式电话平台)的WRT的简化高层(high level)体系结构图解。在该示例中,在用户界面(UI)层,小组件可以执行诸如提供天气信息、时钟或图片查看器之类的功能。存在Web运行时刻Π。在引擎层,存在小组件引擎和小组件管理器。在核心层,存在Web套件(Webkit)。Web套件是在Web引擎中使用的库。WRT是除核心层的Web引擎之外的组件的集合,需要其来支持所安装的小组件。
[0005]小组件程式包是符合特定标准(例如参见由W3C、万维网联盟2011年8月11日出版的 W3C 建议的推荐 “Widgets:Packaging and Configuration specification”)、包含构成小组件的实施的各种文件(包括配置文档、图标、数字签名等等)的程式包。小组件程式包包含元数据,该元数据在本专利申请中将被称为用于相关联的小组件的清单文件(manifest file)。清单文件描述大量的事情,包括对于小组件的访问限制。由WRT使用访问限制来控制小组件对设备能力、网络资源、文件系统等等的访问。
[0006]存在若干不同的标准团体,其稍有不同地设置用于小组件的规范和标准化以及用于小组件的JavaScript API。设置用于小组件的规范的这些团体包括:W3C、WAC、JIL、B0NDI和Opera等等。结果是,存在不同类型的小组件和小组件运行时刻系统。尽管规范的细节(例如,如何描述访问权限和许可的粒度)不同,但这些小组件系统的通用安全性模型和访问控制强制执行(enforcement)原理非常地类似。
[0007]在运行小组件本身的相同进程中由WRT的用户空间(user-space)代码处理在当前的WRT实施中的访问控制强制执行。例如,如图2中所示的,在Web引擎代码中处理这些控制和强制执行,图2示出在Web引擎层具有访问控制特征的BONDI小组件实施的总体高层体系结构。[0008]参考图3,本专利申请的发明人已经认识到,因为由WRT的用户空间代码一在运行小组件本身的相同进程中——来处理在当前的WRT实施中的访问控制强制执行,所以出现常规WRT中的安全性弱点。例如,在Web引擎(例如Web套件)代码中处理这些控制和强制执行。如图3所图示的,具有合法的访问流的良好的进程将通过安全性检查。然而,受害的进程具有可能导致绕过所提到的安全性检查的破坏的访问流。
[0009]常规WRT中的安全性控制固有地是易损坏的并且可能经由诸如地址空间破坏和代码注入之类的威胁被绕过。例如,Web引擎可能包含一漏洞(bug),该漏洞允许远程攻击者或恶意的小组件注入并运行任意代码或者改变该Web引擎中的合法控制流。因此,攻击者/小组件可以绕过安全性检查并且访问受限资源。
[0010]作为说明性示例,流行的Web浏览器Safari?具有可能导致绕过安全性检查的若干易损坏性类型。Safari?基于被称作Web套件的同一 Web引擎,其用于包括iPhone?平台和Android?平台的许多移动式平台。这些易损坏性包括运行代码易损坏性、溢出易损坏性和存储器破坏易损坏性。Safari?基于在许多移动式平台中使用的相同Web套件Web引擎。因此,存在与常规WRT安全性控制相关联的显著的安全性顾虑。
[0011]大规模应用社区(WAC)定义用于访问设备能力的JavaScript API。WAC规范从诸如JIL、BONDI以及W3C之类的较早规范成就派生而来,并且受其影响。JIL和BONDI小组已经与WAC联合,并且现在所有这些成就和操作当前处于WAC的总括之下。
[0012]WAC API包括被分组成不同模块的若干方法和属性:
[0013]允许使用设备加速度计传感器的加速度计模块API ;
[0014]允许使用设备定向传感器的定向模块API ;
[0015]使得能够通过设备照相机捕捉媒体的照相机模块API ;
[0016]提供对设备状态信息的访问的设备状态模块API ;
[0017]允许访问设备文件系统的文件系统模块API ;
[0018]允许消息发送和调取的消息收发模块API ;
[0019]暴露设备位置的地理定位模块API (如在W3C中规定的);
[0020]暴露不同的PM (个人信息管理)功能的pim模块API ;
[0021]使得能够管理联系人信息的联系人模块API ;
[0022]使得能够管理日历信息的日历模块API ;
[0023]使得能够管理任务信息的任务模块API ;
[0024]使得能够通过不同的设备能力与端用户进行交互的设备交互模块API。
[0025]对这些模块的方法和属性的访问服从不同的策略规则。WAC将这些API中的一些标识为“受限”,也称作“敏感”功能,并且对这些受限API的访问由WAC安全性框架控制并且需要用户同意。
[0026]WAC定义三个安全域:“可信”域(又叫作WAC域)、“不可信”域和“运营商”(又叫作WAC运营商)域。取决于它们所运行的域,应用服从不同的安全性规则。WAC也利用数字签名方案,并且应用的域是基于它的数字签名链被确定的。“运营商”域意图由网络服务供应商使用。如果应用具有源于WAC营办商的数字签名,即,该应用的证书链的根是运营商根证书,那么该应用运行在运营商域中。如果应用的证书链是已知的WAC根证书,则该应用运行在可信域中。否则,如果应用没有被签名或签名链没有扩展到WAC根证书,则其运行在不可信域中。图4对基于哪些情况小组件属于哪个域进行概述。
[0027]由于适当的安全性控制,访问受限API典型地需要用户确认。例如,希望访问地理定位模块API的应用可能需要用户为该应用访问API提供许可。能够以临时性或永久性为基础给出该许可。例如,WAC定义可用于对这些API强加安全性控制的5种不同类型的用户确认需要:
[0028]?允许:能够在不提示用户进行确认的情况下运行功能;
[0029]?一次使用:必须每次提示用户来确认可以运行功能;
[0030]?会话:每一会话必须提示用户一次(B卩,当小组件首先被添加到活动页面时)来确认可以运行功能;
[0031]?覆盖式:在由小组件第一次进行API功能时,必须提示用户进行确认,但是一旦确认,再也不需要提示;
[0032]?拒绝:由运营商使用来指示从不许可API功能。
[0033]下面的表格I描绘用于每个安全域的受限功能和它们的对应的策略规则的例子。能够由运营商修改该表格来个性化体验。此外,用户也能够配置策略并且选择使用与运营商提供的默认策略有区别的策略。
[0034]表格I
[0035]`
【权利要求】
1.一种在具有处理器和存储器的计算机系统中提供小组件的安全性强制执行的方法,包括: 从请求服务的小组件进程提取访问控制信息、生成为该小组件进程定制的访问控制规贝U,并且向Web运行时刻(WRT)系统的用户代码空间外的计算机系统的可信部分提供访问控制规则;以及 对于任何静态访问控制规则,将小组件进程的安全性检查从WRT系统委托到计算机系统的可信部分。
2.根据权利要求1所述的方法,进一步包括: 对于任何非静态访问控制规则: 从安全服务器请求一次性令牌,其中该一次性令牌在小组件进程消耗所请求的服务之后期满;并且 其中,由小组件进程使用一次性令牌来访问服务。
3.根据权利要求1所述的方法,其中,静态访问控制规则包括以下中的一个: 覆盖式提示; 许可提不;和 拒绝提示。
4.根据权利要求2所述的方法,其中,非静态访问控制规则包括以下中的一个: 会话提不;和 一次使用提示。
5.根据权利要求2所述的方法,其中,对于作为会话提示的任何非静态访问控制规则,该方法进一步包括: 在启动小组件进程之前,从用户请求许可; 丢弃WRT的特权;以及 在小组件进程的下一次启动时,重置小组件进程的动态访问控制配置并且请求安全服务器撤回一次性令牌。
6.根据权利要求2所述的方法,其中,对于作为一次性提示的任何非静态访问控制规贝1J,该方法进一步包括: 当小组件进程请求服务时,从用户请求许可; 请求安全服务器仅仅单次兑现一次性令牌。
7.根据权利要求1所述的方法,其中,可信部分是操作系统内核。
8.根据权利要求7所述的方法,其中,访问控制规则被实施为由内核强制执行的强制访问控制规则。
9.根据权利要求7所述的方法,其中,由WRT管理进程来执行提取、生成和提供。
10.根据权利要求1所述的方法,其中,安全服务器是服务位置协议(SLP)访问控制的一部分。
11.一种在具有处理器和存储器的计算机系统中提供小组件的安全性强制执行的方法:包括: 从请求服务的小组件进程提取访问控制信息、生成为该小组件进程定制的访问控制规贝U,并且向Web运行时刻(WRT)系统的用户代码空间外的计算机系统的可信部分提供访问控制规则;以及 对于任何静态访问控制规则,将小组件进程的一些但非所有安全性检查从WRT系统委托到计算机系统的可信部分,使得执行两个级别的安全性检查,一个由WRT系统执行,并且一个由计算机系统的可信部分执行。
12.根据权利要求11所述的方法,其中,可信部分是操作系统内核。
13.根据权利要求12所述的方法,其中,访问控制规则被实施为由内核强制执行的强制访问控制规则。
14.一种具有改善的小组件安全性的计算机系统,包括: 处理器; 存储器; 操作系统;以及 Web运行时刻(WRT)系统,支持小组件的安装和调用,WRT系统被配置为从每个被安装的小组件接收小组件清单并且确定可从WRT委托到与操作系统相关联的计算机系统的更安全的部分的访问控制规则,WRT系统进一步被配置为将可委托的静态访问控制规则的集合传递到更安全的部分以执行安全性检查。
15.根据权利要求14所述的计算机系统,其中,WRT系统包括WRT管理进程,其被配置为与安全服务器通信以对于任何非静态访问控制规则获取一次性令牌。
16.根据权利要求14所述的计算机系统,其中,WRT系统被配置为当小组件被调用时传递可委托的静态访问控制规则的集合。`
17.根据权利要求15所述的计算机系统,其中,WRT管理进程进一步被配置为当为了作为会话提示的任何非静态访问控制规则调用小组件时与安全服务器通信。
18.根据权利要求16所述的计算机系统,其中,WRT管理进程进一步被配置为当小组件对于作为链接到特定服务的一次性提示的任何非静态访问控制规则而请求该特定服务时与安全服务器通信。
19.根据权利要求14所述的计算机系统,其中,可信部分是内核。
20.—种系统,包括: 多个小组件; WRT管理进程; 安全服务器;和 操作系统内核; 其中,WRT管理进程被配置为: 从小组件提取访问控制信息、生成访问控制规则,并且向操作系统内核提供访问控制规则;以及 对于任何静态访问控制规则,将静态访问控制规则的至少一些安全性检查委托到操作系统内核。
21.根据权利要求20所述的系统,其中,WRT管理进程与WRT系统相关联。
22.一种可由机器读取的程序储存设备,该程序储存设备有形地体现可由机器运行以用于执行在具有处理器和存储器的计算机系统中提供小组件的安全性强制执行的方法的指令的程序,该方法包括:从请求服务的小组件进程提取访问控制信息、生成为该小组件进程定制的访问控制规贝U,并且向Web运行时刻(WRT)系统的用户代码空间外的计算机系统的可信部分提供访问控制规则;以及 对于任何静态访问控制规则,将小组件进程的安全性检查从WRT系统委托到计算机系统的可信部分。`
【文档编号】G06F21/57GK103890772SQ201280048863
【公开日】2014年6月25日 申请日期:2012年7月31日 优先权日:2011年8月3日
【发明者】A.C.布莱克, O.阿西克梅兹 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1