[发明专利]面向应用程序的特权硬件资源访问方法及电子设备有效
申请号: | 202010473124.7 | 申请日: | 2020-05-29 |
公开(公告)号: | CN111737656B | 公开(公告)日: | 2023-10-27 |
发明(设计)人: | 王喆;武成岗;谢梦瑶;张晓峰;赖远明;康妍 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 北京泛华伟业知识产权代理有限公司 11280 | 代理人: | 王勇 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 应用程序 特权 硬件 资源 访问 方法 电子设备 | ||
本发明提供一种面向应用程序的特权硬件资源访问方法及电子设备,其中,所述方法将CPU操作模式划分为根模式和非根模式,每种模式具有相应的内核态与用户态。所述方法包括:在非根模式的内核态下运行所述应用程序;以及限制所述应用程序对非授权特权指令的执行。其中,所述非授权特权指令指的是用于访问所述应用程序无权访问的特权硬件资源的指令。本发明提升了应用程序访问特权硬件资源的性能、安全性以及通用性。
技术领域
本发明涉及计算机系统安全及系统虚拟化技术领域,更具体地,涉及一种面向应用程序的特权硬件资源访问方法以及电子设备。
背景技术
随着各种计算机设备的广泛应用,针对计算机系统的攻击手段也越来越多。为了应对现实世界中的各种安全威胁,人们对计算机系统的安全性提出了更高的要求。目前,部分研究人员提出通过限制应用程序对特权硬件资源的访问来提高计算机系统的安全性,这样做的原因是当应用程序被攻击者攻击时,应用程序拥有的资源越少,攻击者能够利用的资源也越少,因而攻击者的能力将受到限制,使计算机系统免于遭受更大的安全威胁。还有一部分研究人员利用特权硬件资源来增强应用程序的能力,以实现更强的防御机制,例如利用Intel处理器中的记录路径信息的硬件Intel处理器跟踪单元(Intel ProcessorTrace,IPT)实现更精确的控制流完整性检查,利用最后分支记录单元(Last BranchRecording,LBR)防御面向返回地址编程的攻击,利用性能监测单元(PerformanceMonitoring Unit,PMU)检测系统中受到的基于缓存的侧信道攻击等。
由于在现有的操作系统设计中,用户态下的应用程序无法直接访问特权硬件资源,因此对特权硬件资源的利用主要通过使用内核模块或使用虚拟设备的方式来完成。其中,使用内核模块的方式包括在操作系统运行过程中将内核模块装载到内核中,将该内核模块运行在内核态下,由此可以在该内核模块中访问特权硬件资源;使用虚拟设备的方式需要开发者在系统中创建一个虚拟设备,当应用程序访问特权硬件资源时,首先与该虚拟设备通信,然后在虚拟设备中完成对特权硬件资源的访问,最后由虚拟设备将结果返回给应用程序。使用内核模块的方式通常性能较好(即访问效率较高),但由于编写内核模块的过程比较复杂,并且实现不同功能的内核模块之间可能存在冲突而无法共存于同一个计算机系统中,因此该方式的通用性较低。使用虚拟设备的方式通常安全性较高,然而该方式需要陷入内核执行大量的内核代码,这导致性能较差(即访问效率较低),并且不适用于需要频繁访问特权硬件资源的场景;此外,使用虚拟设备的方式需要针对不同的场景创建不同的虚拟设备,因此其通用性也比较低。
另外还有一种利用特权硬件资源的方式,该方式将应用程序放到内核态下运行,其性能较好并且通用性较高(例如Dune,其由小型内核模块组成)。然而,这种方式的安全性较低,这是由于内核态下的所有特权硬件资源都暴露给了应用程序,一旦应用程序被攻击者控制,则攻击者将具有使用所有特权硬件资源的权限,利用这些权限,攻击者可以进行危害更大的攻击,导致应用程序乃至整个计算机系统都会受到影响。
发明内容
为解决上述现有技术中存在的问题,根据本发明的一个实施例,提供一种面向应用程序的特权硬件资源访问方法,该方法将CPU操作模式划分为根模式和非根模式,其中每种模式具有相应的内核态与用户态。该方法包括:在非根模式的内核态下运行所述应用程序;以及限制所述应用程序对非授权特权指令的执行,其中,所述非授权特权指令指的是用于访问所述应用程序无权访问的特权硬件资源的指令。
上述方法中,限制所述应用程序对非授权特权指令的执行可以包括:响应于截获触发虚拟机下陷的非授权特权指令,停止所述非授权特权指令的执行。上述方法还可以包括:响应于确定非授权特权指令是条件下陷指令,将所述非授权特权指令配置为在执行时触发虚拟机下陷。
上述方法还可以包括:将非授权特权指令配置为在执行时引发异常以触发虚拟机下陷,并且限制所述应用程序对非授权特权指令的执行包括:响应于截获引发异常而触发虚拟机下陷的非授权特权指令,停止所述非授权特权指令的执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010473124.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:防脱快速管接头及其防脱连接方法
- 下一篇:合同移动审批实现方法及系统