受约束驱动程序平台在用户模式下在沙箱中运行驱动程序的制作方法

文档序号:9693260阅读:397来源:国知局
受约束驱动程序平台在用户模式下在沙箱中运行驱动程序的制作方法
【专利说明】
【背景技术】
[000?]当前,实行底层数据从一个形式到另一个的变换的变形(transmogrifying)驱动程序,诸如虚拟私人网络(VPN)驱动程序,可以具有系统范围特权、高优先级和对敏感数据的访问并且因此可能呈现重大安全性风险。部分由于这些顾虑,用户可能不情愿在其设备上安装这样的驱动程序及相关联的软件。例如,用户可能由于这种类型产品的假定风险而不愿意从在线应用商店下载和安装VPN插件。因此,包含这样的变形驱动程序的产品的贸易和分发可能受阻。

【发明内容】

[0002]本文描述受约束变形驱动程序平台。在一个或多个实现方案中,提供使得能够针对虚拟私人网络(VPN)驱动程序和其它变形驱动程序实现受约束执行环境的平台。平台可以实现为暴露接口的操作系统组件,驱动程序通过该接口可以向平台登记并且被调用以执行由平台支持的功能。受约束执行环境向经由平台操作的变形驱动程序放置一个或多个约束。例如,执行可以在每用户的基础上并且在沙箱内发生在用户模式下。另外,平台使相关联的驱动程序以相对低特权运行在后台进程中。另外,平台可以暂停驱动程序并且通过后台任务的调度控制驱动程序的操作。因此,变形驱动程序向系统的暴露通过平台受到控制和限制。
[0003]提供本
【发明内容】
来以简化形式介绍以下在【具体实施方式】中进一步描述的概念的选择。本
【发明内容】
不意图标识所要求保护的主题的关键特征或必要特征,其也不意图用作帮助确定所要求保护的主题的范围。
【附图说明】
[0004]参照附图描述【具体实施方式】。在图中,参考标号最左边的(多个)数位标识其中参考标号第一次出现的图。相同参考标号在描述和图中的不同实例中的使用可以指示相似或同样的项目。
[0005]图1是依照受约束变形驱动程序平台技术的一个或多个实现方案的环境的图示。
[0006]图2是依照一个或多个实现方案的示例场景的图示。
[0007]图3是描绘出用于采用受约束执行环境以供变形驱动程序的执行的示例过程的流程图。
[0008]图4是描绘出其中控制变形驱动程序的操作的示例过程的流程图。
[0009]图5是描绘出其中经由在线应用商店分发变形驱动程序的示例过程的流程图。
[0010]图6描绘出依照一个或多个实施例的示例计算系统。
【具体实施方式】
[0011]概述部分由于对于虚拟私人网络(VPN)驱动程序和其它变形驱动程序的安全性顾虑,用户可能不情愿在其设备上安装采用变形驱动程序的产品。因此,包含这样的变形驱动程序的产品的贸易和分发可能受阻。
[0012]本文描述受约束变形驱动程序平台。在一个或多个实现方案中,提供使得能够针对私人虚拟网络(VPN)驱动程序和其它变形驱动程序实现受约束执行环境的平台。平台可以实现为暴露接口的操作系统组件,驱动程序通过该接口可以向平台登记并且被调用以执行由平台支持的功能。受约束执行环境在经由平台操作的变形驱动程序上放置一个或多个约束。例如,执行可以在每用户的基础上并且在沙箱内发生在用户模式下。另外,平台使相关联的驱动程序以相对低特权作为后台进程运行。另外,平台可以暂停驱动程序并且通过后台任务的调度控制驱动程序的操作。因此,变形驱动程序向系统的暴露通过平台受到控制和限制。
[0013]在以下讨论中,首先描述可以采用本文描述的技术的示例操作环境。接下来,描述可以在示例环境以及其它环境中实现的示例细节和技术。因此,技术的执行不限于示例环境并且示例环境不限于示例技术的执行。最后,描述可以用于实现一个或多个实施例的示例系统和设备。
[0014]示例操作环境
图1是可操作来采用本文描述的技术的示例实现方案中的环境100的图示。所图示的环境100包括经由网络104通信耦合到服务提供商106的客户端设备102。服务提供商106可以被配置成使各种资源108(例如内容和服务)通过网络104可用于客户端设备102和其它客户端。一般地,使得由服务提供商106可访问的资源108可以包括典型地使得通过网络由一个或多个提供商可用的服务和/或内容的任何适当组合。服务的一些示例包括但不限于搜索服务、电子邮件服务、即时消息传送服务、在线生产力套件以及控制客户端对资源的访问的验证服务。内容可以包括文本、多媒体流、文档、应用文件、照片、音频/视频文件动画、图像、web页面、web应用、设备应用、用于由浏览器或其它客户端应用显示的内容等的各种组合。
[0015]客户端设备102和服务提供商106可以由一个或多个计算设备实现并且还可以代表一个或多个实体。计算设备可以以各种方式配置。例如,计算设备可以配置为能够通过网络通信的计算机,诸如桌上型计算机、移动站、娱乐器具、通信耦合到显示设备的机顶盒、无线电话、游戏控制台等。因而,计算设备的范围可以从具有大量存储器和处理器资源的完整资源设备(例如个人计算机、游戏控制台)到具有有限存储器和/或处理资源的低资源设备(例如传统机顶盒、手持游戏控制台)。附加地,尽管在一些实例中示出单个计算设备,但是计算设备可以代表多个不同设备,诸如由服务提供商106利用的多个服务器。
[0016]客户端设备102还被图示为包括操作系统110。操作系统110被配置成向在客户端设备102上可执行的应用112抽象底层硬件的底层功能性。例如,操作系统110可以抽象处理、存储器、网络和/或显示功能性,使得应用112可以在不知晓“如何”实现该底层功能性的情况下编写。应用112例如可以向操作系统110提供数据以供显示设备在不理解将如何执行再现的情况下进行该再现和显示。
[0017]依照本文描述的技术,客户端设备102还被图示为包括变形驱动程序114和驱动程序安全性平台116,驱动程序安全性平台116可以以各种方式配置以向变形驱动程序114的操作强加约束。变形驱动程序114代表可以由本文描述的驱动程序安全性平台116管理和控制的各个种类的应用模块、插件和/或其它第三方程序。一般地,变形驱动程序114实行底层数据从一个形式向另一个的变换。一种示例类型的变形驱动程序是虚拟私人网络(VPN)驱动程序,其将数据分组变换(例如封装/解封装)成用于VPN客户端与VPN服务器之间的安全VPN通信的专有形式。其它示例可以包括但不限于对数据分组/去分组的网络接口卡驱动程序、识别和处置恶意软件的抗病毒驱动程序、处理/转换图形的图形处理驱动程序、将应用数据翻译成用于打印机的可打印格式的打印机驱动程序等。本文讨论的技术还适用于VPN隧道和其它互联网协议(IP)隧道、数据管道、输运流、防火墙等。
[0018]在传统模型中,变形驱动程序114可以具有系统范围特权、高优先级和对敏感数据的访问。一般地,变形驱动程序紧密耦合到操作系统并且在内核模式下运行。因而,变形驱动程序114可以包括和/或被称为内核模式驱动程序、系统驱动程序和/或类驱动程序。因为变形驱动程序114典型地具有提升的特权和/或在内核模式下的完全系统访问,所以这些种类的驱动程序呈现重大安全性风险并且可能变成由恶意方出于非法目的而采用的目标/手段。以不受约束的特权和访问自由操作的变形驱动程序114还可能不利地影响处理资源和电池寿命。此外,变形驱动程序经由应用商店或其它在线信道的分发可能至少部分地由于刚刚列举的顾虑而受阻。
[0019]然而,依照本文描述的创新原理,可以建立受约束执行环境以使得变形驱动程序114能够以缓解以上顾虑的受约束方式在用户模式下执行。例如,通过控制如上文和下文讨论的受约束执行环境内的变形驱动程序114,向驱动程序的操作强加安全性,所述安全性有效地使系统更为可靠、降低驱动程序操作的资源消耗、防止经由驱动程序对系统的开发利用、使得能够实现每用户安装,并且因此使驱动程序通过互联网信道的分发成为可行选项。
[0020]特别地,驱动程序安全性平台116表示实例化用于变形驱动程序114的受约束执行环境的客户端设备102的功能性。由驱动程序安全性平台116表示的功能性可以以各种方式实现。在一些实现方案中,驱动程序安全性平台116可以提供为操作系统组件,然而,驱动程序安全性平台116也可以实现为如所图示的独立式组件。如所描绘的,驱动程序安全性平台116可以包括驱动程序管理器模块118、应用容器120、后台管理器122和事件代理124或者以其它方式由它们形成以实现平台的各种方面。
[0021]驱动程序管理器模块118表示识别和管理与平台相关联的变形驱动程序114的平台的功能性。驱动程序管理器模块118可以在每用户的基础上通过应用容器120或针对每一个驱动程序所建立的“沙箱”来控制变形驱动程序114在用户模式下的执行。应用容器120限定可以针对各个驱动程序执行的有限任务集并且约束对所限定的任务集的操作。应用容器120还提供双壁沙箱隔离,这意味着从容器内到系统中和从外部实体到容器中两者来约束访问。这防止外部实体劫持应用容器内的沙箱驱动程序和/或获得对其的控制。
[0022]后台管理器122可操作来使用后台进程管理应用容器120(及相关联的驱动程序)。这可以包括但不限于实例化用于容器的后台进程以及处置针对后台进程的任务调度。后台进程可以分派有低特权令牌或者传达相对少的特权和访问权限的相当的控制数据。换言之,驱动程序安全性平台116使相对低的优先级与限制访问和/或操作自由的变形驱动程序114相关联。后台管理器122还可以导致暂停针对未使用时的变形驱动程序114的后台进程,其进一步约束变形驱动程序除了在用户和
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1