安全驱动程序平台制造技术

技术编号:19561687 阅读:27 留言:0更新日期:2018-11-25 00:26
本文描述的技术使得能够实现安全驱动程序框架。在一个示例中,一种方法包括管理包含第一用户模式和第一内核模式的非安全操作系统执行环境。该方法还可包括:管理包括第二用户模式和第二内核模式的安全执行环境;以及响应于来自第一内核模式或第一用户模式中非安全驱动程序的系统调用,在安全执行环境的第二用户模式内执行安全驱动程序,其中安全驱动程序使非安全驱动程序能够与安全设备通信。此外,该方法可以包括向安全驱动程序提供第二内核模式的一个或多个系统服务。

Security Driver Platform

The techniques described in this article enable the implementation of a secure driver framework. In one example, one approach includes managing a non-secure operating system execution environment that includes the first user mode and the first kernel mode. The method may also include: managing the secure execution environment including the second user mode and the second kernel mode; and executing the secure driver in the second user mode of the secure execution environment in response to system calls from the non-secure driver in the first kernel mode or the first user mode, where the secure driver is located. To enable the non-secure driver to communicate with the secure device. In addition, the method may include providing one or more system services in the second kernel mode to the security driver.

【技术实现步骤摘要】
【国外来华专利技术】安全驱动程序平台背景许多应用和硬件设备收集安全数据,期望安全数据将被保护免于未经授权的访问。此外,许多计算体系结构需要在假定驱动程序可被信任的情况下将安全数据暴露给大型驱动程序栈。例如,安全数据可被传送给可具有对系统存储器的完全访问从而具有对存储在系统存储器内的安全数据的访问的任何数目的驱动程序。然而,驱动程序可能易于受到受损和/或恶意系统软件的攻击。概述以下提供了简化概述,以提供对本文中描述的某些方面的基本理解。该概述不是权利要求主题的广泛概览。该概述不旨在标识所要求保护的主题的关键或决定性元素,也不旨在描述所要求保护的主题的范围。该概述的唯一目的是以简化的形式将所要求保护的主题的一些概念表达为下文表达的更详细说明的序言。本文描述的实施例包括用于提供安全驱动程序框架的系统,该安全驱动程序框架包括处理器,该处理器能够管理包括第一用户模式和第一内核模式的非安全操作系统执行环境以及管理包括第二用户模式和第二内核模式的安全执行环境。该处理器还可响应于来自第一内核模式或第一用户模式中的非安全驱动程序的系统调用,在安全执行环境的第二用户模式内执行安全驱动程序。另外,该处理器可以向安全驱动程序提供第二内核模式的一个或多个系统服务。在一个实施例中,一种用于提供安全驱动程序框架的方法可包括管理包含第一用户模式和第一内核模式的非安全操作系统执行环境。该方法还可包括:管理包括第二用户模式和第二内核模式的安全执行环境;以及响应于来自第一内核模式或第一用户模式中非安全驱动程序的系统调用,在安全执行环境的第二用户模式内执行安全驱动程序,其中安全驱动程序使非安全驱动程序能够与安全设备通信。此外,该方法可以包括向安全驱动程序提供第二内核模式的一个或多个系统服务。在又一实施例中,一种或多种用于实现安全驱动程序框架的计算机可读存储器可包括多个指令,该多个指令至少基于由处理器执行来使得该处理器:管理包括第一用户模式和第一内核模式的非安全操作系统执行环境。该多个指令还可使处理器管理包括第二用户模式和第二内核模式的安全执行环境,以及响应于来自第一内核模式或第一用户模式中非安全驱动程序的系统调用,在安全执行环境的第二用户模式内执行安全驱动程序,其中安全驱动程序使非安全驱动程序能够与安全设备通信。此外,该多个指令可以使得处理器向安全驱动程序提供第二内核模式的一个或多个系统服务。下面的描述和附图详细地阐述了所要求保护的主题的某些说明性方面。然而,这些方面只是表示可以使用本专利技术的原理的各种方式中的一些方式,并且所要求保护的主题旨在包括所有这些方面和等效内容。当结合附图考虑下面的本创新的详细描述时,所要求保护的主题的其他优点和新颖特征将变得显而易见。附图简述通过参考附图可以更好地理解下列详细描述,附图包含所公开的主题的众多特征的具体示例。图1是可实现安全驱动程序框架的计算系统的示例的框图;图2是解说可实现安全驱动程序框架的操作系统的框图;图3是对安全驱动程序框架的输入/输出系统调用的框图;图4是用于用安全驱动程序实现PCI配置空间保护的示例方法的过程流程图;图5是用于使用安全驱动程序框架枚举安全设备的示例方法框架的过程流程图;图6是可实现安全驱动程序框架的示例计算机可读存储介质的框图;以及图7是解说用于实现安全驱动程序框架的方法的过程流程图。详细描述在本文描述的各实施例中,一种系统可包括向设备驱动程序提供隔离执行环境的安全驱动程序框架(本文中也称为“SDF”)。在一些示例中,驱动程序可以在非安全或安全执行环境中执行。对于在非安全或安全执行环境中执行的驱动程序,处理器可具有两种不同模式:用户模式和内核模式。处理器的模式可以确定对可被执行的操作的类型和范围的约束。如此,取决于正在执行的驱动程序,处理器可以在这两种模式之间切换。在本文描述的实施例中,安全驱动程序框架可包括设备驱动程序,这些设备驱动程序可与系统中的安全设备安全地交互而没有恶意第三方代码窥探存储器映射输入/输出和直接存储器存取数据话务的风险。安全驱动程序框架中的安全驱动程序的完整度也被保护免遭对第三方代码破坏。如上文引用的,安全驱动程序框架包括安全用户模式和安全内核模式安全内核模式可为安全设备驱动程序提供阻止第三方代码篡改驱动程序逻辑的安全的隔离执行环境。安全内核模式还可保护外围组件互连(本文也被称为“PCI”)配置空间免于任何恶意操纵。相应地,安全内核模式保护PCI配置空间和存储器映射的输入/输出免于归因于恶意代码的修改。安全内核模式还可为安全驱动程序启用直接存储器存取,而不将数据释放给恶意第三方代码。安全驱动程序框架可进一步使非安全驱动程序能够耦合到位于安全使用模式中的安全驱动程序。这使非安全驱动程序的访问敏感代码和数据的部分能够拆分到安全驱动程序。本文描述的技术使系统能够管理包括第一用户模式和第一内核模式的非安全操作系统执行环境。该系统还可管理包括第二用户模式和第二内核模式的安全执行环境。此外,该系统可响应于来自第一内核模式中的非安全驱动程序的系统调用,在安全执行环境的第二用户模式内执行安全驱动程序。例如,非安全驱动程序可请求诸如输入/输出操作以及来自安全驱动程序的其他操作等系统调用。在一些实施例中,安全驱动程序使非安全驱动程序能够执行该系统调用。此外,在一些示例中,该系统可以向安全驱动程序提供第二内核模式的一个或多个系统服务。例如,该系统可以响应于安全驱动程序在第二内核模式中向安全内核传送请求来提供系统服务。系统服务(如在本文中引用的)可包括直接存储器存取操作、存储器映射输入/输出操作、中断操作,等等。本文描述的安全驱动程序框架因而提供使独立的硬件厂商能够编写尤其是与较高安全等级相对应的安全设备(诸如,生物测定设备)的驱动程序的基于虚拟化的安全性。在一些示例中,管理程序可管理非安全执行环境和安全执行环境。此外,管理程序可以提供包括非安全执行环境和安全执行环境的虚拟分区。另外,非安全执行环境和安全执行环境可以利用虚拟分区的客物理地址空间。在一些示例中,管理程序可包括:MicrosoftHyper-CitrixVMWare等等。此外,一个或多个客操作系统可在由管理程序提供的虚拟分区内执行。客操作系统可包括微软OS、Linux/BSD/UNIXOS、OS等等。作为预备事项,一些附图在被称为功能性、模块、特征、元素等的一个或多个结构化组件的上下文中描述了诸概念。附图中示出的各种组件可以用任何方式来实现,例如,通过软件、硬件(例如,分立的逻辑组件等)、固件等等,或这些实现的任意组合。在一个实施例中,各种组件可以反映对应的组件在实际实现中的使用。在其他实施例中,附图中所解说的任何单个组件可由许多实际组件来实现。对附图中的任何两个或更多个单独组件的描绘可以反映由单个实际组件所执行的不同功能。以下讨论的图1提供了关于可用于实现附图中所示的各功能的不同系统的细节。其他附图以流程图形式描述了诸概念。以此形式,某些操作被描述为构成按某一顺序执行的有区别的框。这些实现是示例性而非限制性的。本文中所描述的某些框可被分组在一起并在单个操作中执行,某些框可被分解成多个组件框,并且某些框可以按与本文中所解说的不同的次序来执行(包括以并行方式执行这些框)。流程图中示出的框可以通过软件、硬件、固件等等或这本文档来自技高网...

【技术保护点】
1.一种用于提供安全驱动程序框架的系统,包括:处理器,所述处理器用于:管理包括第一用户模式和第一内核模式的非安全操作系统执行环境;管理包括第二用户模式和第二内核模式的安全执行环境;响应于来自所述第一内核模式或所述第一用户模式中的非安全驱动程序的系统调用,在所述安全执行环境的第二用户模式内执行安全驱动程序;以及将所述第二内核模式的一个或多个系统服务提供给所述安全驱动程序。

【技术特征摘要】
【国外来华专利技术】2016.03.31 US 15/087,5151.一种用于提供安全驱动程序框架的系统,包括:处理器,所述处理器用于:管理包括第一用户模式和第一内核模式的非安全操作系统执行环境;管理包括第二用户模式和第二内核模式的安全执行环境;响应于来自所述第一内核模式或所述第一用户模式中的非安全驱动程序的系统调用,在所述安全执行环境的第二用户模式内执行安全驱动程序;以及将所述第二内核模式的一个或多个系统服务提供给所述安全驱动程序。2.如权利要求1所述的系统,其特征在于,所述非安全驱动程序经由远程过程调用将所述系统调用传送给所述安全驱动程序。3.如权利要求1所述的系统,其特征在于,所述处理器用于通过创建安全设备节点并且在所述安全执行环境的第二用户模式中加载所述安全驱动程序来枚举安全设备。4.如权利要求1所述的系统,其特征在于,所述处理器用于:在所述安全执行环境的第二内核模式中加载高级配置和电源接口表;在所述安全执行环境的第二内核模式中解析存储器映射表;映射所述安全执行环境的配置空间;在所述非安全操作系统执行环境的第一内核模式中启动所述非安全驱动程序;以及在所述第一内核模式中枚举安全设备。5.如权利要求4所述的系统,其特征在于,所述高级配置和电源接口表包括存储器映射配置空间基地址描述表(MCFG)和安全设备表。6.如权利要求5所述的系统,其特征在于,所述处理器用于:从所述非安全操作系统执行环境的第一内核模式向所述安全执行环境的第二内核模式传送配置空间访问请求;修改所述安全执行环境的安全配置空间;以及将所述安全配置空间的修改的结果传送给所述非安全操作系统执行环境的第一内核模式。7.如权利要求1所述的系统,其特征在于,所述处理器用于:经由所述非安全操作系统执行环境的第一内核模式检测中断;以及将远程过程调用传送给所述安全执行环境的第二用户模式中的安全驱动程序,其中所述远程过程调用指示检测到的中断。8.如权利要求1所述的系统,其特征在于,所述处理器用于经由所述安全执行环境的第二内核模式向所述第二用...

【专利技术属性】
技术研发人员:M·金K·拉杰夫J·S·沃勒格姆斯A·H·达肯P·威尔兰
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

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

1