用户空间虚拟化系统技术方案

技术编号:5445532 阅读:188 留言:0更新日期:2012-04-11 18:40
提供了用户空间虚拟化(USV)程序以允许嵌入式系统中的遗产应用共享资源而不必修改,不会损害安全性。计算机实现的USV程序可以用户空间中的方法为特征,所述方法包括取回应用的本地代码(ST101),并且识别指令序列。此外,识别指令序列包括首先确定执行用于执行处理的指令序列是否可能为安全风险(ST102)。如果它是可能的安全风险,那么确认存在用于活动应用的执行权限。执行权限可由安全管理器或处理器确认(ST104)。如果安全管理器确认活动应用具有用于处理的执行权限,那么用处理器执行指令序列(ST103)。如果活动应用没有用于处理的执行权限,那么不执行指令序列(ST108)。另一方面,如果执行用于执行处理的指令序列不是可能的安全风险,那么用处理器执行指令序列(ST107)。

【技术实现步骤摘要】
【国外来华专利技术】用户空间虚拟化系统相关申请的交叉引用本申请是美国非临时申请,其要求于2006年11月17日提交的编号为 60/859,673的美国临时专利申请的优先权,并且还要求对于2006年7月24 日提交的编号为2006-201037的日本专利申请的优先权,这两者通过引用 整体结合于此。
技术介绍
本专利技术涉及用于创建用户空间虚拟化程序的仿真和动态编译技术。用于嵌入式系统的最新平台要求资源管理系统来仲裁和保护系统资 源。这些资源管理系统通常提供应用编程接口 (API),用于仲裁或保护 系统资源。然而,为了最大化嵌入系统的功能性,有时候期望执行非置信 (imtrusted)应用,或遗产(legacy)应用,其不使用平台的资源管理系 统。因此,在嵌入式系统中也需要为前述应用控制平台的系统资源并且扩 展它的安全策略的方法。传统上,访问控制机制已合并到除了嵌入式产品之外的许多现有操作 系统中。众所周知的示例包括LinuxTM中的用户权限检查。在该情况下, 每个文件相关于所有者用户的ID和权限模式,所述权限模式用作为某些 用户是否可访问文件的指示。另外地,可能限制某些系统调用,使得它们 仅可从超级用户ID来调用。此外,Linux chroot系统调用可限制一部 分文件系统被某些进程看见。现有Linux中利用用户ID和权限的方法中的问题在于它不能充分地控 制限制粒度。例如,不管安全策略,拥有文件的任何人可访问他/她自己的 文件并且任意地改变访问限制。SELinux子系统通过实现强制访问控制来 克服该问题。使用强制访问控制,用户不能随意地改变访问限制,即使对 于他们自己的文件。而且,即使对于特权用户(例如根权限)也可限制访问。然而,使用SELinux,必须调整和重编译Linux内核,这要求复杂的 安装和处理。相反,存在许多未合并访问控制机制的嵌入式操作系统。例如, Symbian (版本9.1和更低的)或者WinCE不包括用户ID的思想。它们文 件系统中的大部分(除了仅仅可从内核访问的系统文件)在用户模式的进 程中是可访问的。在SymbianOS版本9.1中,修改内核以加强OS安全 性。然而,对于OS内核需要重大的修改以实现这种OS安全性。因此, 难于避免由修改而出现程序缺陷的风险。此外,在内核中访问控制特征的 每次修改时,出现程序缺陷的风险是不可避免的,这将因此需要高成本并 且可导致设计访问控制特征中灵活性的损失。然而,不管SELinux或最新 的SymbianOS,访问控制系统和资源管理系统是依赖于OS实现的,并且 这些访问控制系统通常不是无关于OS类型而可应用的。最近,已提出了虚拟化技术,例如VMWare和Xen,用于在桌面和服 务器系统上划分资源。这些技术可实现访问控制特征。然而,因为这些方 法要求几乎整个操作系统映像的副本,它们对于具有有限计算资源(例如 存储器等)的嵌入式平台来说不是理想的。因此,期望方法和装置来允许遗产应用共享资源,而不必在嵌入式系 统中进行修改。这里提及的所有专利、申请、公开的申请和其它出版物全部合并在此作为参考,包括以下参考SELinux, Kerry Thompson, System Admin Magazine, March 2003, http:〃www.samag.com/documents/s=7835/sam0303a/0303a.htmPlatform Security _ a Technical Overview, Version 1.2, Mark Shackman, Symbian Ltd, http:〃www.symbian.com/developer/techlib/papers/plat—sec—tech—overview/platf orm—security—a—technical—overview.pdfQEMU Internals, Fabrice Bellard, http:〃fabrice.bellard.free.fr/qemu/qemu-tech.html6The Xen Virtual Machine Monitor,http:〃www.c1.cam.ac.uk/Research/SRG/netos/xen/VMWare, http:〃vmware.com/User-Mode Li叫 http:〃user-mode-linux.sourceforge.net/
技术实现思路
本专利技术的实施例共享资源,而不必在如用户空间虚拟化(usv)的嵌入式系统中进行修改,例如用于移动电话和个人数字助理。本专利技术的实施 例也允许可包含非置信的和恶意的代码的应用执行而不会影响系统安全性 或保密性。此外,专利技术实施例使用仿真和动态编译技术来严格地控制应用对资源的使用并且实现执行速度接近于执行原始本地(native)代码的速 度的高性能。用户空间虚拟化是用于嵌入式平台上的资源仲裁和保护的新 颖方法。它在用户空间中实现并且可灵活地根据操作者/OEM资源管理策 略来定制。它需要很少的操作系统支持,所以它可运行在许多流行的智能 手机平台上。同时,它使用动态编译技术来获得与候选技术(例如修改 QS内核)相同的性能水平。本专利技术的实施例提供了用户空间虚拟化(USV)程序以允许遗产应用 共享资源,而不必在嵌入式系统中进行修改。计算机实现的USV程序可 以用户空间中的方法为特征,所述方法包括取回应用的本地代码,并且识 别指令序列。识别指令序列包括首先确定执行指令序列以执行处理是否可 能为安全风险。如果它是安全风险,那么用安全管理器或处理器确认存在 用于活动应用的执行权限。如果确认活动应用具有用于处理的执行权限, 那么用处理器执行指令序列。如果活动应用没有用于处理的执行权限,那 么不执行指令序列。另一方面,如果执行指令序列以执行处理不是可能的 安全风险,那么用处理器执行指令序列。此外,在如果活动应用不具有用于处理的执行权限那么不执行指令序 列之后,方法可包括在活动应用不具有用于处理的执行权限的情况下执行 错误。另外,在如果活动应用不具有用于处理的执行权限那么不执行指令 序列之后,方法可还包括执行用执行处理的指令序列来代替指令序列。执行权限关联于活动应用,并且用处理器执行所代替的指令序列。还可能允 许这样的配置,其中如果安全管理器确认活动应用具有用于处理的执行权 限,己为应用的执行权限确认了本地代码,那么上面用处理器执行指令序 列下一次直接用处理器执行,不必用安全管理器确认。在该情况下,可能 减少用安全管理器为相同命令确认权限多次而引起的开销。此外,在其它实施例中,可能允许检测执行可影响应用的本地代码安 全性的处理的指令序列。另外,可能生成指令序列的本地代码,以在根据 所检测指令序列的本地代码确认应用的执行权限之后,执行可影响安全性 的处理,并且用CPU执行所生成代码。附图说明图1示出了示出根据本专利技术实施例的嵌入式系统的配置的示意图; 图2示出了根据本专利技术实施例的每个软件模块的交互的框图; 图3示出了根据本专利技术实施例的每个模块的行为的流程图; 图4示出了安全检查指令的生成的实施例;图5示出了根据本专利技术实施例的在先前已生成安全检查指令之后执行 指令序列;图6示出了根据本专利技术实施例的调用系统调用的指令本文档来自技高网
...

【技术保护点】
一种计算机实现的方法,用于利用用户空间中的用户空间虚拟化程序来控制系统资源和系统安全性,所述方法包括: 取回应用的本地代码; 根据所述本地代码识别指令序列,其中识别所述指令序列包括: (1):如果执行用于执行处理的所述指令 序列是可能的安全风险,那么确认存在用于所述应用的执行权限; (1-1):如果所述应用具有用于处理的所述执行权限,那么用处理器执行所述指令序列; (1-2):如果所述应用没有用于处理的执行权限,那么不执行所述指令序列;和 ( 2):如果执行用于执行处理的所述指令序列不是可能的安全风险,那么用所述处理器执行所述指令序列。

【技术特征摘要】
【国外来华专利技术】JP 2006-7-24 201037/2006;US 2006-11-17 60/859,6731.一种计算机实现的方法,用于利用用户空间中的用户空间虚拟化程序来控制系统资源和系统安全性,所述方法包括取回应用的本地代码;根据所述本地代码识别指令序列,其中识别所述指令序列包括(1)如果执行用于执行处理的所述指令序列是可能的安全风险,那么确认存在用于所述应用的执行权限;(1-1)如果所述应用具有用于处理的所述执行权限,那么用处理器执行所述指令序列;(1-2)如果所述应用没有用于处理的执行权限,那么不执行所述指令序列;和(2)如果执行用于执行处理的所述指令序列不是可能的安全风险,那么用所述处理器执行所述指令序列。2. 根据权利要求l所述的方法,其中(1-2)还包括以下(1-3):如果所述应用没有用于处理的执行权限,那么提供错误指示。3. 根据权利要求1所述的方法,其中确认存在用于所述应用的执行 权限包括将安全检查指令添加到所述指令序列以生成安全指令序列。4. 根据权利要求3所述的方法,其中所述安全指令序列在用户空间 中执行。5. 根据权利要求3所述的方法,其中所述安全指令序列启动对所述 应用的执行权限的确认。6. 根据权利要求1所述的方法,其中用于所述应用的执行权限由所 述安全管理器确认。7. 根据权利要求1所述的方法,其中用于所述应用的执行权限由所 述处理器确认。8. 根据权利要求l所述的方法,还包括从应用的所述本地代码中检测用于执行与安全性相关联的处理的指令 序列;在根据所检测到的指令序列的本地代码确认存在所述活动应用的执行 权限之后,生成执行与安全性相关联的处理的所述指令序列的本地代码; 禾口用所述处理器执行所生成的代码。9. 根据权利要求8所述的方法,其中检测所述指令序列包括检査用 于所述指令序列注册的安全配置文件。10. —种用指令编码的计算机可读介质,所述指令通过用计算机执行 而用于执行用于利用用户空间中的用户空间虚拟化程序的方法,所述方法包括取回应用的本地代码;根据所述本地代码识别指令序列,其中识别所述指令序列包括(1) :如果执行用于执行处理的所述指令序列是可能的安全风险, 那么确认存在用于所述应用的执行权限;(1-1):如果所...

【专利技术属性】
技术研发人员:艾奥伊拉姆门真淳一
申请(专利权)人:阿普里克斯公司
类型:发明
国别省市:JP[日本]

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利