安全管理硬件资源的主机CPU架构系统和方法技术方案

技术编号:26376959 阅读:27 留言:0更新日期:2020-11-19 23:45
提供安全管理主机CPU架构系统中硬件资源的系统和方法,该系统包括主机CPU以及安全处理器,其中,该安全处理器与主机CPU不同且分离,该安全处理器控制与物理内存页面管理相关的特定寄存器,且该安全处理器被配置为:响应于主机CPU发送的对与物理内存页面管理相关的特定寄存器的操作请求,基于特定寄存器的类型,拒绝主机CPU的操作请求或只允许主机CPU读取特定寄存器。

【技术实现步骤摘要】
安全管理硬件资源的主机CPU架构系统和方法
本专利技术涉及处理器技术,特别涉及安全管理硬件资源的主机CPU架构系统和方法。
技术介绍
现有的商用操作系统大部分都是基于宏内核设计的,所有进程共享同一个内核空间,内核拥有中央处理单元(centralprocessingunit,CPU)最高特权级,同时管理所有硬件资源,进程的页表信息和上下文信息。这可能会存在安全隐患。
技术实现思路
技术问题目前大部分的操作系统内核具有最高的CPU特权级,直接管理进程的页表,包括页表的创建,CR3寄存器的更新等。恶意代码利用操作系统内核漏洞,就能够获取足够的特权来访问所有内核数据和硬件资源,降低系统安全性。而利用可信的专有内核程序来负责处理内存管理单元(MemoryManagementUnit,MMU)/CR3,为了排除非可信程序对于特定硬件资源的访问,引入了额外的二进制文件扫描开销,导致进程切换延迟,影响系统整体性能;而可信内核程序与主机操作系统内核工作在统一特权级,共享CPU地址空间,故可信内核程序也存在被恶意代码攻击的风险。本文档来自技高网...

【技术保护点】
1.一种安全管理硬件资源的主机CPU架构系统,包括:/n主机CPU,以及,/n安全处理器,其中,所述安全处理器与主机CPU不同且分离,所述安全处理器控制与物理内存页面管理相关的特定寄存器,所述安全处理器被配置为:/n接收主机CPU发送的对所述与物理内存页面管理相关的特定寄存器的操作请求;/n响应于所述操作请求,基于所述特定寄存器的类型,拒绝主机CPU的所述操作请求或只允许主机CPU读取所述特定寄存器。/n

【技术特征摘要】
1.一种安全管理硬件资源的主机CPU架构系统,包括:
主机CPU,以及,
安全处理器,其中,所述安全处理器与主机CPU不同且分离,所述安全处理器控制与物理内存页面管理相关的特定寄存器,所述安全处理器被配置为:
接收主机CPU发送的对所述与物理内存页面管理相关的特定寄存器的操作请求;
响应于所述操作请求,基于所述特定寄存器的类型,拒绝主机CPU的所述操作请求或只允许主机CPU读取所述特定寄存器。


2.根据权利要求1所述的系统,其中,所述特定寄存器包括寄存器MSR_SP_MMU_EN,所述寄存器MSR_SP_MMU_EN用于寄存用于使能所述安全处理器对各种特定寄存器的访问权限的代码,
其中,在所述安全处理器进行初始化时使能所述寄存器MSR_SP_MMU_EN,
当所述寄存器MSR_SP_MMU_EN被使能时,所述安全处理器控制所述特定寄存器;
当所述寄存器MSR_SP_MMU_EN不被使能时,所述安全处理器不控制所述特定寄存器。


3.根据权利要求1所述的系统,其中,所述特定寄存器包括寄存器CR0,所述寄存器CR0用于寄存主机CPU操作模式和状态的系统控制标志,以供所述安全处理器使用,
其中,响应于主机CPU发送的对所述与物理内存页面管理相关的特定寄存器的操作请求,基于所述特定寄存器的类型,拒绝主机CPU的所述操作请求或只允许主机CPU读取所述特定寄存器的步骤包括:
响应于主机CPU发送的对所述寄存器CR0的访问请求,拒绝主机CPU的所述操作请求。


4.根据权利要求3所述的系统,其中,在所述安全处理器进行初始化时,初始化所述寄存器CR0,使能所述寄存器CR0的分页功能PG位和写保护功能WP位,从而使得响应于主机CPU发送的对所述寄存器CR0的访问,根据所述寄存器CR0的分页功能PG和写保护功能WP的使能,所述安全处理器拒绝主机CPU的所述操作请求。


5.根据权利要求1所述的系统,其中,所述特定寄存器包括寄存器CR4,所述寄存器CR4用于寄存主机CPU的部分结构的扩展,所述扩展指示对特定处理器和操作系统的执行的支持,
其中,响应于主机CPU发送的对所述与物理内存页面管理相关的特定寄存器的操作请求,基于所述特定寄存器的类型,拒绝主机CPU的所述操作请求或只允许主机CPU读取所述特定寄存器的步骤包括:
响应于主机CPU发送的对所述寄存器CR4的访问,拒绝主机CPU的所述操作请求。


6.根据权利要求5所述的系统,其中,在所述安全处理器进行初始化时初始化所述寄存器CR4,使能所述寄存器CR4中物理地址扩展PAE位,以使能主机CPU的不执行NX功能,从而使得响应于主机CPU发送的对所述寄存器CR4的访问,根据所述寄存器CR4中物理地址扩展PAE位的使能,拒绝主机CPU的所述操作请求。


7.根据权利要求1所述的系统,其中,所述特定寄存器包括寄存器MSR_EFER,所述寄存器MSR_EFER用于寄存使能不执行NX功能位,
其中,在所述安全处理器进行初始化时初始化所述寄存器MSR_EFER,使能所述寄存器MSR_EFER中的不执行使能NXE位,
其中,响应于主机CPU发送的对所述与物理内存页面管理相关的特定寄存器的操作请求,基于所述特定寄存器的类型,拒绝主机CPU的所述操作请求或只允许主机CPU读取所述特定寄存器的步骤包括:
响应于主机CPU发送的对寄存器MSR_EFER的访问,拒绝主机CPU的所述操作请求。


8.根据权利要求1所述的系统,其中,所述特定寄存器包括寄存器CR2,所述寄存器CR2用于寄存主机CPU中发生缺页异常的内存页面的线性地址,
其中,在所述安全处理器进行初始化时初始化所述寄存器CR2,
响应于主机CPU发送的对所述与物理内存页面管理相关的特定寄存器的操作请求,基于所述特定寄存器的类型,拒绝主机CPU的所述操作请求或只允许主机CPU读取所述特定寄存器的步骤包括:
响应于主机CPU发送的对所述寄存器CR2的访问,只允许主机CPU读取所述寄存器CR2;
其中,响应于主机CPU由于发生缺页异常而发送的缺页信息,所述缺页信息包括发生缺页异常的虚拟地址va和物理地址pa:所述安全处理器检查页表页PTP页链表中是否存在空闲PTP,以:
当不存在空闲PTP时,将PTP缺页信息返回给主机CPU,由主机CPU申请物理内存并请求所述安全处理器将申请的物理内存申请为PTP;
当存在空闲PTP时,查询PTP页链表,所述安全处理器检查所述缺页信息中的物理地址pa是否属于PTP,其中
当物理地址pa属于PTP时,所述安全处理器拒绝更新PTP页链表,
当物理地址pa不属于PTP时,所述安全处理器读取所述寄存器CR2,校验缺页信息中的va与所述寄存器CR2中的线性地址是否一致:
如果一致则所述安全处理器更新PTP页表,且所述安全处理器设置PTP为不可执行且对于主机CPU是只读的,以及
如果不一致则所述安全处理器拒绝更新PTP页表。


9.根据权利要求1所述的系统,其中,所述特定寄存器包括寄存器CR3,所述寄存器CR3用于寄存物理地址pa和虚拟地址va之间的映射关系的页面全局目录PGD,
其中,响应于主机CPU发送的对所述与物理内存页面管理相关的特定寄存器的操作请求,基于所述特定寄存器的类型,拒绝主机CPU的所述操作请求或只允许主机CPU读取所述特定寄存器的步骤包括:
响应于主机CPU发送对所述寄存器CR3的访问,禁止主机CPU对所述寄存器CR3的访问,
其中,响应于主机CPU由于退出或发生内存回收而向所述安全处理器发送对物理地址的页面删除请求,所述安全处理器访问所述寄存器CR3,解除所述PGD中所述物理地址和相应的虚拟地址之间的映射关系,同时从PTP页链表中移除由所述物理地址指定的物理内存页面;
其中,响应于主机CPU由于发生进程切换而向所述安全处理器发送针对待更新的PGD的PTP的PTP页链表更新请求,所述安全处理器访问所述寄存器CR3,检查待更新的PGD的PTP是否都在PTP页链表中,
如果所有待更新的PGD的PTP都在PTP页链表中,则所述安全处理器更新所述待更新的PGD到所述寄存器CR3,以完成进程切换,以及
如果存在待更新的PGD的PTP不在PTP页链表中,则所述安全处理器拒绝更新所述待更新的PGD到所述寄存器CR3。


10....

【专利技术属性】
技术研发人员:姜新应志伟刘子行
申请(专利权)人:海光信息技术有限公司
类型:发明
国别省市:天津;12

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

1