CN111949995A - 安全管理硬件资源的主机cpu架构系统和方法 - Google Patents

安全管理硬件资源的主机cpu架构系统和方法 Download PDF

Info

Publication number
CN111949995A
CN111949995A CN202010861989.0A CN202010861989A CN111949995A CN 111949995 A CN111949995 A CN 111949995A CN 202010861989 A CN202010861989 A CN 202010861989A CN 111949995 A CN111949995 A CN 111949995A
Authority
CN
China
Prior art keywords
register
host cpu
ptp
page
secure processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010861989.0A
Other languages
English (en)
Other versions
CN111949995B (zh
Inventor
姜新
应志伟
刘子行
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202010861989.0A priority Critical patent/CN111949995B/zh
Publication of CN111949995A publication Critical patent/CN111949995A/zh
Application granted granted Critical
Publication of CN111949995B publication Critical patent/CN111949995B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

提供安全管理主机CPU架构系统中硬件资源的系统和方法,该系统包括主机CPU以及安全处理器,其中,该安全处理器与主机CPU不同且分离,该安全处理器控制与物理内存页面管理相关的特定寄存器,且该安全处理器被配置为:响应于主机CPU发送的对与物理内存页面管理相关的特定寄存器的操作请求,基于特定寄存器的类型,拒绝主机CPU的操作请求或只允许主机CPU读取特定寄存器。

Description

安全管理硬件资源的主机CPU架构系统和方法
技术领域
本发明涉及处理器技术,特别涉及安全管理硬件资源的主机CPU架构系统和方法。
背景技术
现有的商用操作系统大部分都是基于宏内核设计的,所有进程共享同一个内核空间,内核拥有中央处理单元(central processing unit,CPU)最高特权级,同时管理所有硬件资源,进程的页表信息和上下文信息。这可能会存在安全隐患。
发明内容
技术问题
目前大部分的操作系统内核具有最高的CPU特权级,直接管理进程的页表,包括页表的创建,CR3寄存器的更新等。恶意代码利用操作系统内核漏洞,就能够获取足够的特权来访问所有内核数据和硬件资源,降低系统安全性。而利用可信的专有内核程序来负责处理内存管理单元(Memory Management Unit,MMU)/CR3,为了排除非可信程序对于特定硬件资源的访问,引入了额外的二进制文件扫描开销,导致进程切换延迟,影响系统整体性能;而可信内核程序与主机操作系统内核工作在统一特权级,共享CPU地址空间,故可信内核程序也存在被恶意代码攻击的风险。
解决问题的技术方案
本方案从CPU架构角度出发,将CR0/CR3/CR4/MSR等与安全相关的特定硬件资源由安全处理器专门管理,而安全处理器拥有其独享的内存SRAM,避免主机CPU对安全处理器内存的非法访问。同时CPU增加对硬件资源的保护,当CPU尝试访问CR3/CR0/CR4/MSR等资源,拒绝访问(例如产生安全异常GP)、或只允许读取特定寄存器。通过本方案,有效避免了现有方案对于特定指令的扫描开销,同时引入安全处理器彻底隔离主机CPU和内存空间,利用安全处理器来管理MMU以及CR3,保护页表完整性,极大地提高了系统安全性。
根据本发明的一方面,提出了一种安全管理硬件资源的主机CPU架构系统,包括主机CPU和安全处理器,其中,安全处理器与主机CPU不同且分离,该安全处理器控制与物理内存页面管理相关的特定寄存器,且该安全处理器被配置为:接收主机CPU发送的对所述与物理内存页面管理相关的特定寄存器的操作请求;响应于主机CPU发送的对与物理内存页面管理相关的特定寄存器的操作请求,基于特定寄存器的类型,拒绝主机CPU的操作请求或只允许主机CPU读取特定寄存器。
根据本发明的另一方面,提出了一种安全管理主机CPU架构系统中硬件资源的方法,其中,系统包括主机CPU和安全处理器,其中,安全处理器与主机CPU不同且分离,该安全处理器控制与物理内存页面管理相关的特定寄存器,该方法包括:接收主机CPU发送的对所述与物理内存页面管理相关的特定寄存器的操作请求;响应于主机CPU发送的对与物理内存页面管理相关的特定寄存器的操作请求,基于特定寄存器的类型,拒绝主机CPU的操作请求或只允许主机CPU读取特定寄存器。
发明的有益效果
本技术从CPU架构上有效提升了计算机系统的安全性,防止恶意代码利用内核漏洞访问并篡改进程页表或其他特定寄存器的内容。
附图说明
当结合附图时,根据以下详细描述,本公开的上述和其他方面、特征和优点将更加清楚。
图1示出了管理硬件资源的传统CPU架构系统的框图;
图2A示出了根据本发明的安全管理硬件资源的主机CPU架构系统的框图;
图2B示出了根据本发明的安全管理硬件资源的主机CPU架构系统的操作时序图;
图3示出了根据本发明的安全管理硬件资源的主机CPU架构系统的一个示意图;
图4示出了根据本发明的主机CPU架构系统,安全处理器和主机CPU之间交互的操作时序图;
图5示出了根据本发明的实施例的安全处理器和主机CPU之间的初始化的时序图;
图6示出了根据本发明的实施例的安全处理器执行内存申请的操作时序图;
图7示出了根据本发明的实施例的安全处理器执行缺页异常的操作时序图;
图8出了根据本发明的实施例的安全处理器执行进程切换的操作时序图;
图9示出了根据本发明的实施例的安全管理硬件资源的安全处理器的操作的流程图;
图10示出了根据本发明的实施例的安全处理器执行缺页异常的流程图;
图11示出了根据本发明的实施例的安全处理器执行页表删除的流程图;以及
图12示出了根据本发明的实施例的安全处理器执行进程切换的流程图。
具体实施方式
下面参考附图详细描述本公开的实施例。相同或相似的组件可以用相似的附图标记来表示,尽管它们在不同的附图中示出。可以省略对本领域已知的构造或过程的详细描述,以避免模糊本公开的主题。
主机CPU架构系统
图1示出了管理硬件资源的传统CPU架构系统100的框图。
如果利用可信的专有内核程序来负责处理MMU/CR3,为了排除非可信程序对于特定硬件资源的访问,引入了额外的二进制文件扫描开销,导致进程切换延迟,影响系统整体性能;而可信内核程序与主机操作系统内核工作在统一特权级,共享CPU地址空间,故可信内核程序也存在被恶意代码攻击的风险。
利用内核漏洞就可以轻松获取最高特权,访问整个系统的内存及相关硬件资源,内核恶意代码能够随意篡改数据,非法控制计算机硬件,削弱计算机系统的安全性。
为了提升计算机系统的安全性,解决宏内核大量系统服务共享内核地址空间引起的安全问题,业内早期引入了微内核架构。微内核将内核功能最小化,只在内核实现基本功能,把进程管理、文件系统、设备驱动和虚拟内存管理等功能放在应用层实现,减小内核漏洞风险。由于应用进程地址空间相互隔离,因此能够有效避免个别进程漏洞非法访问整个系统硬件资源。但是目前没有成熟的商用微内核操作系统,而且微内核进程间通信的延迟大,效率低。此外,许多系统服务进程化后,一些频繁使用的系统服务引起的进程上下文切换对操作系统来说是一个巨大的负担。
另一方面,为了防止恶意代码利用内核漏洞篡改页表数据,一些研究机构基于宏内核操作系统,在主机CPU内部署可信的内核程序,专门负责内存管理单元MMU/控制寄存器CR3的管理。可信内核程序和操作系统内核隔离,只提供MMU相关的操作接口,供操作系统内核调用。可信内核程序和操作系统内存,都运行在主机CPU且共享整个CPU地址空间。所有的进程页表以及CR3的更新都由可信内核程序负责,利用x86_64的不执行NX/写入保护WP等功能,来保护页表,防止操作系统内核修改页表。在进程调度切换CR3时,可信内核程序扫描CR3指向的页面中是否包括特定指令(CR3/CR0/CR4/MSR等操作),而这些指定只能由可信内核程序执行,如果发现CR3指向的页面包含这些特定指令,则拒绝CR3更新。该方法页面扫描的时间开销非常大,导致进程切换延迟,降低系统响应速度,不适合商业应用。
例如,参考图1,传统的主机CPU架构系统100的内核里运行着多个不同的进程,例如进程A、进程B和进程C等等。如本领域普通技术人员所熟知的,主机CPU架构系统100的内核中存在页表,即内核页表,其在内核中是一段内存,这些内存存放在主内核页全局目录中,不由特定硬件(MMU/CR3)直接使用;而当这些内核页表被主机CPU架构系统100内的进程(例如,进程A、B和C)使用时,对于进程A、B、C中的每一个,分别具有相应的进程页表,这些进程页表存放在进程自身的页目录中,如图1所示,各种不同的进程页表可以由特定硬件(CR3)管理和控制,并且被映射到内核中的内核页表(内存)上,即所有的进程页表共享同一个内核空间。其中,进程A可以包括页表建立,进程B可以包括页表删除,且进程C可以包括页表更新,由于这些与进程页表相关的操作由特定硬件资源(CR3)管理和控制,所以主机CPU架构系统100直接管理这些进程的页表,包括页表的创建、CR3寄存器的更新等。
但是一旦主机CPU系统的内核被恶意代码入侵,由于内核拥有主机CPU架构系统100的最高特权级,同时管理所有特定硬件资源、进程的页表信息,所以恶意代码可以直接获得最高访问权限,能够直接对页表A、B和C进行控制和修改,进一步的控制和管理主机CPU架构系统100内的特定硬件资源CR3,使系统安全性受到损害。
下面将参考图2A、图2B和图3对根据本发明的主机CPU系统架构200进行详细描述。
图2A示出了根据本发明的安全管理硬件资源的主机CPU架构系统200的框图。
参考图2A,安全管理硬件资源的主机CPU架构系统200包括:主机CPU 201以及安全处理器202。其中,安全处理器202与主机CPU 201不同且分离,安全处理器202控制与物理内存页面管理相关的特定寄存器,且安全处理器202被配置为:接收主机CPU 201发送的对与物理内存页面管理相关的特定寄存器的操作请求;响应于主机CPU 201发送的对与物理内存页面管理相关的特定寄存器的操作请求,基于特定寄存器的类型,拒绝主机CPU 201的操作请求或只允许主机CPU 201读取特定寄存器。
图2B示出了根据本发明的实施例的安全管理硬件资源的主机CPU架构系统200的操作的时序图。
具体地,参考图2B,在步骤203中,主机CPU 201需要访问特定寄存器,则在步骤204中,向安全处理器202发送与物理内存页面管理相关的特定寄存器的操作请求。在步骤205中,安全处理器202接收主机CPU 201发送的对与物理内存页面管理相关的特定寄存器的操作请求;基于特定寄存器的类型,来拒绝主机CPU 201的操作请求或只允许主机CPU 201读取特定寄存器,并在步骤206中,向主机CPU 201发送响应信息。
如此,由于安全处理器202拒绝主机CPU 201对某些特定寄存器的某些类型的操作或只允许主机CPU 201的读取,避免了由于主机CPU 201被恶意软件操纵而强行修改某些与安全相关的特定寄存器的情况,提高了主机CPU 201的安全性。
具体地,图3是更清楚地示出了基于上述技术方案能够阻止恶意代码所带来的安全问题的示意图。
参考图3,本发明通过单独的安全处理器202来管理MMU/CR3,可以有效阻止恶意代码利用主机CPU 201的对特定寄存器CR3中的页表的篡改和重映射,保护进程安全。其中,安全处理器202用于启用主机CPU架构系统200中特定硬件资源里与本发明的方法相关的功能。图中的内存中的各种不同阴影表示主机CPU 201的内核中的不同进程A、B和C的页表分别占用的不同的内存。
当主机CPU架构系统200的内核被恶意代码入侵且发生图1中所示的进程建立、删除和切换(分别对应于进程A中的页表建立、进程B中的页表删除和进程C中的页表更新操作)时,恶意代码不能直接对安全处理器202所管理的这些进程页表进行操作,因为这些进程页表的建立完全由安全处理器202负责,且安全处理器202维护PTP页链表,通过检查机制,确保PTP不被映射成进程(例如,恶意进程)数据页面,即,恶意代码向安全处理器202发送对寄存器CR3中的进程页表进行操作的请求被安全处理器202拒绝,当发生进程切换而需要更新CR3寄存器时,由于主机CPU系统200也没有权限更新CR3,主机CPU系统200中的主机CPU 201自己更新CR3的操作请求会被安全处理器202拒绝,主机CPU 201只能将待更新CR3的消息转发到安全处理器202,安全处理器202负责把新的进程页表、例如页面全局目录PGD更新到CR3。
当然,图3所示的寄存器CR3仅是本申请中的特定寄存器的一个实施例。根据各个实施例,根据本发明的CPU架构系统增加了安全处理器访问各种与安全相关的特定寄存器(例如,CR0/CR3/CR4/MSR等)通道,使得安全处理器有能力设置各种特定寄存器(见表1)。为了保护特定寄存器不被主机CPU修改或是被恶意代码攻击,可以为CPU架构系统新增如表1所示的安全处理器和主机CPU对特定寄存器的控制权限,但是本发明中的特定寄存器和对特定寄存器的控制权限不限于此,可以根据所要实现的功能进行适应性的修改。
下表1示出了如上所述的主机CPU 201与安全处理器202对各种特定寄存器的访问权限的示例:
表1处理器对特定寄存器的访问权限
Figure BDA0002648448040000061
Figure BDA0002648448040000071
图4示出了根据本发明的主机CPU架构系统200,安全处理器202和主机CPU 201之间交互的操作时序图。参考图4,其示出了根据CPU架构系统200,安全处理器202和主机操作系统需要增加的相应的软件功能。下面结合图5-图11将分别对图4中的系统初始化400、内存申请410、缺页异常420、页表删除430和进程切换440进行详细的描述。
图5示出了根据本发明的实施例的安全处理器202和主机CPU 201之间的初始化的时序图,例如图4中的系统初始化400部分的具体实施例。
参考图5,根据实施例,首先,在主机CPU架构系统200中增加模型特定寄存器(Model Specific Register,MSR),其被定义为例如64位的寄存器MSR_SP_MMU_EN,用于寄存用于使能安全处理器202对特定寄存器的访问权限的代码。对于64位的寄存器MSR_SP_MMU_EN,可以通过将其中的任意一位设置为1来使能该寄存器(即,使MSR_SP_MMU_EN=1),并且通过其他预先设定的设置方式来使能该寄存器也是可能的。对于需要支持本发明的功能,则可以把支持本发明功能的固件烧入到安全处理器202中,设置MSR_SP_MMU_EN=1;而对于不需要支持本发明所属的功能,则不需要烧入本发明的固件,设置MSR_SP_MMU_EN=0。注意,此处的“MSR_SP_MMU_EN”仅是寄存器的名称,便于标识,但是其不是限定,实际上,任何寄存器只要能实现寄存上述代码的目的都是可行的。
当MSR_SP_MMU_EN被使能(MSR_SP_MMU_EN=1)时,安全处理器202可以控制主机CPU 201中的特定寄存器,当主机CPU 201违反表1的权限去访问表1中的特定寄存器时,由安全处理器202拒绝访问操作(例如产生安全异常GP)或只允许主机CPU 201读取;当MSR_SP_MMU_EN不被使能(MSR_SP_MMU_EN=0)时,禁用本方法中安全处理器202实现的功能。
在图4的系统初始化400中,安全处理器202响应于主机CPU 201发送的对与物理内存页面管理相关的特定寄存器的操作请求,基于特定寄存器的类型,拒绝主机CPU 201的操作请求或只允许主机CPU 201读取特定寄存器的步骤包括:响应于主机CPU 201发送的对寄存器CR0的访问请求,拒绝主机CPU 201的操作请求。
具体地,参考图5,根据实施例,在步骤501,强制使能MSR_SP_MMU_EN=1,使安全处理器202可以管理MMU,并在安全处理器202访问主机CPU 201中的寄存器CR0之前,安全处理器202使能寄存器CR0的分页PG功能和写保护WP功能,即,在步骤502,CR0初始化,设置CR0.PG=1且CR0.WP=1,其中,寄存器CR0用于寄存主机CPU架构系统200和安全处理器202初始化后、包括主机CPU 201当前运行状态的控制标志位;接着,在步骤503,安全处理器202设置拒绝主机CPU 201对寄存器CR0的操作请求,此时,如果主机CPU 201尝试违反表1的权限访问寄存器CR0,则由主机CPU 201产生安全异常,以使安全处理器202响应于主机CPU201发送的对寄存器CR0的访问,拒绝主机CPU 201的操作请求,以实现由安全处理器202安全管理硬件资源的功能。
在图4的系统初始化400中,安全处理器202响应于主机CPU 201发送的对与物理内存页面管理相关的特定寄存器的操作请求,基于特定寄存器的类型,拒绝主机CPU 201的操作请求或只允许主机CPU 201读取特定寄存器的步骤包括:响应于主机CPU 201发送的对寄存器CR4的访问请求,拒绝主机CPU 201的操作请求。
具体地,参考图5,根据实施例,在步骤501之后,且在安全处理器202访问主机CPU201中的寄存器CR4之前,在步骤504,安全处理器202强制使能寄存器CR4中的物理地址扩展PAE位(即,设置CR4.PAE=1),以通过使能的PAE位,进一步使能不执行(No-eXecute,NX)功能,该不执行NX功能在PAE模式下工作。NX功能指示某一页内存的内容是否可以执行,如果NX=1,则表示该内存页面的内容是不可执行的;如果NX=0,则表示该内存页面的内存是可执行的。对于一个应用程序来说,里面存在有代码和数据,且代码和数据都是在内存中的,代码是可以执行的,而数据只需要读写,不需要执行。通过把代码所在的内存页的NX设置为0,表示可以执行;把数据所在的内存页的NX设置为1,表示不可执行。如果程序被恶意代码攻击,即使恶意代码把其程序写入到数据页面,那也不能执行,这样就保证了CPU特定硬件资源的安全性。其中,寄存器CR4用于寄存主机CPU架构系统200和安全处理器200初始化后、包括主机CPU 201和安全处理器202的扩展功能的标志位。安全处理器202强制使能寄存器CR4中的PAE位是为了防止当CR4.PAE被恶意代码修改时,恶意代码可以利用栈溢出漏洞,在栈上进行执行。
接着,在步骤505,安全处理器202设置拒绝主机CPU 201对寄存器CR4的操作请求,此时,如果主机CPU 201尝试违反表1的权限访问寄存器CR4,则由主机CPU 201产生安全异常,以使安全处理器202响应于主机CPU 201发送的对寄存器CR4的访问,拒绝主机CPU 201的操作请求,以实现由安全处理器202安全管理硬件资源的功能。
在图4的系统初始化400中,安全处理器202响应于主机CPU 201发送的对与物理内存页面管理相关的特定寄存器的操作请求,基于特定寄存器的类型,拒绝主机CPU 201的操作请求或只允许主机CPU 201读取特定寄存器的步骤包括:响应于主机CPU 201发送的对寄存器MSR_EFER的访问请求,拒绝主机CPU 201的操作请求。
具体地,参考图5,根据实施例,在步骤501之后,且在安全处理器202访问主机CPU201中的寄存器MSR_EFER之前,在步骤506中,安全处理器202强制使能寄存器MSR_EFER中的不执行使能(No-eXecute Eable,NXE)位(即,设置MSR_EFER.NXE=1),以通过使能的NXE位,进一步使能不执行NX功能。其中,寄存器MSR_EFER用于寄存用于控制最近新增的CPU功能(诸如上述寄存器CR4和寄存器MSR_EFER中提到的不执行NX功能)的标志位。寄存器MSR_EFER不能由主机CPU 201修改,而是需要由安全处理器202修改,以保证主机CPU架构系统200的特定硬件资源的安全。例如,如果由恶意代码修改的主机CPU 201操作修改了寄存器MSR_EFER,恶意代码可以禁用NX功能位,则主机CPU 201向数据页面植入的恶意代码就可以执行,这样就产生了安全漏洞。
接着,在步骤507,安全处理器202设置拒绝主机CPU 201对寄存器MSR_EFER的操作请求,此时,如果主机CPU 201尝试违反表1的权限访问寄存器MSR_EFER,则由主机CPU 201产生安全异常,以使安全处理器202响应于主机CPU 201发送的对寄存器MSR_EFER的访问,拒绝主机CPU 201的操作请求,以实现由安全处理器202安全管理硬件资源的功能。
如上所述,本发明通过同时使能寄存器CR4中的PAE位和寄存器MSR_EFER中的NXE位来使能不执行NX功能,以起到一个双重保护的效果。应当理解的是,不执行NX功能仅由CR4中的PAE位或仅由寄存器MSR_EFER中的NXE位来使能的方式也是可能的。
应当理解的是,对于本领域技术人员而言,上述参考图5描述的步骤502、504、506可以不按图示的顺序执行,步骤503、505、507也可以不按图示的顺序执行。
在主机CPU 201和安全处理器202的初始化后,安全处理器202检查以下寄存器的功能位是否使能:
·CR0.PG=1
·CR0.WP=1
·CR4.PAE=1
·MSR_EFER.NXE=1
如果不满足上述使能条件,则系统初始化400失败,由主机CPU 201产生安全异常。然后,可以重新进行初始化或其他步骤。
图6示出了根据本发明的实施例的安全处理器202执行内存申请410的操作时序图,例如图4中的内存申请410部分的具体实施例。
参考图6,根据实施例,在主机CPU架构系统200和安全处理器202的初始化之后,在步骤601,主机CPU 201紧接着向安全处理器202申请物理内存,并在步骤602,主机CPU 201向安全处理器202发送物理内存申请请求,以在步骤603进行页面声明,在步骤604,请求安全处理器202将申请的内存声明为页表页(Page Table Page,PTP),只有声明为PTP的物理内存才可以作为PTP使用,同时,PTP不允许被映射到进程的数据页面上,以防止恶意代码篡改页表,实现安全保护主机CPU 201的特定硬件资源的效果。在声明完成之后,在步骤605,安全处理器202在自己的内存SRAM中维护PTP页链表,记录所有PTP的信息和使用情况,其中,页表是主机CPU 201中的MMU硬件的查询表,用于保存虚拟地址(virtual address,va)到物理地址(physical address,pa)的映射关系,而页链表仅是安全处理器202用来管理特殊内存区域的数据组织方式,通过页链表,安全处理器202可以方便地判断一个页面是否属于特殊内存区域。
图7示出了根据本发明的实施例的安全处理器202执行缺页异常420的操作时序图,例如图4中的缺页异常420部分的具体实施例。在图4的缺页异常420过程中,安全处理器202响应于主机CPU 201发送的对与物理内存页面管理相关的特定寄存器的操作请求,基于特定寄存器的类型,拒绝主机CPU 201的操作请求或只允许主机CPU 201读取特定寄存器的步骤包括:响应于主机CPU 201发送的对寄存器CR2的访问,只允许主机CPU 201读取寄存器CR2。
具体地,参考图7,根据实施例,在步骤701,当主机CPU 201内核中的进程发生缺页异常时,根据本方法的实施例,主机CPU 201无法直接处理进程页表,所以为了处理进程页表,在步骤702,主机CPU 201需要将缺页信息转发至安全处理器,其中,缺页信息包括虚拟地址va和物理地址pa,且在1)虚拟地址在寄存器CR3中找不到对应的物理页面,即,就是MMU在进行地址翻译的时候,发现虚拟地址没有对应的物理页面,以及2)虚拟地址在CR3中有对应的物理页面,但是没有访问权限,且必须一个只读的物理页面需要写入的情况下,缺页异常420发生。
所以,基于上表1示出的安全处理器202仅能读取寄存器CR2,响应于主机CPU 201由于发生缺页异常而向安全处理器202发送的缺页信息,安全处理器202检查PTP页链表中是否存在空闲PTP。
当在步骤703检查到PTP页链表中不存在空闲PTP时,说明主机CPU 201发送的缺页信息中的虚拟地址va在主机CPU 201之前申请的内存中找不到对应的物理页面(即,对应于上述情况1)),则安全处理器202将PTP缺页信息返回给主机CPU 201,然后,在步骤704,由主机CPU 201重新申请物理内存并请求安全处理器202将重新申请的物理内存申请为PTP,使得安全处理器202在步骤705在自己的SRAM中维护的PTP页链表中添加新的PTP,即PTP页链表中存在空闲PTP,用于安全处理器202进一步校验由主机CPU 201发送的缺页信息的一致性。
当存在空闲PTP时,安全处理器202查询其维护的PTP页链表,然后安全处理器202检查主机CPU 201发送的缺页信息中的物理地址pa是否属于其维护的PTP页链表中的PTP。当物理地址pa属于PTP时,则说明不存在缺页异常,先前由主机CPU 201发送的缺页消息可能是恶意代码伪造的,安全处理器202拒绝更新PTP页表;当物理地址pa不属于PTP时,安全处理器202读取寄存器CR2,校验缺页信息中的va与寄存器CR2中寄存的线性地址是否一致。如果一致,说明主机CPU中缺页异常确实发生,则在步骤706,安全处理器202更新PTP页表,并且安全处理器202将PTP设置为不可执行(NX=1)且对于主机CPU 201是只读的;如果不一致,安全处理器202拒绝更新PTP页表。
参考图4,在图4的页表删除430部分中,安全处理器202响应于主机CPU 201发送的对与物理内存页面管理相关的特定寄存器的操作请求,基于特定寄存器的类型,拒绝主机CPU 201的操作请求或只允许主机CPU 201读取特定寄存器的步骤包括:响应于主机CPU201发送的对寄存器CR2的访问,禁止主机CPU 201对寄存器CR3的访问。
具体地,根据实施例,当CPU进程退出或发生内存回收时,发生页表删除430,根据本方法的实施例,由于CPU写入保护WP使能(WP=1),且进程PTP被设置为对主机CPU 201只读,所以主机CPU 201无法直接修改页表,因此,主机CPU 201只能将PTP删除消息发送给安全处理器202。安全处理器202基于主机CPU 201发送的PTP删除消息,解除页表中相应的映射关系,同时从PTP页链表中移除指定的物理内存页面。
图8示出了根据本发明的实施例的安全处理器202执行进程切换440的操作时序图,例如图4中的进程切换440部分的具体实施例。
在图4的进程切换440过程中,安全处理器202响应于主机CPU 201发送的对与物理内存页面管理相关的特定寄存器的操作请求,基于特定寄存器的类型,拒绝主机CPU 201的操作请求或只允许主机CPU 201读取特定寄存器的步骤包括:响应于主机CPU 201发送的对寄存器CR3的访问,拒绝主机CPU 201的操作。
参考图8,根据实施例,响应于主机CPU 201发送的对寄存器CR3的操作请求,当安全处理器202访问主机CPU 201中的寄存器CR3,且MSR_SP_MMU_EN=1时,安全处理器202从寄存器CR3读取数据或将数据写入寄存器CR3,使寄存器CR3的读写完全由安全处理器202管理。其中,寄存器CR3用于寄存分页机制中当前进程页表的根目录(即,页面全局目录(PageGlobal Directory,PGD)),是进程虚拟地址va到物理地址pa转换的关键。这样,可以有效地避免主机恶意代码的攻击。如果主机CPU 201尝试违反表1的权限去读写CR3,则由主机CPU201产生安全异常GP。
参考图8,当主机CPU 201中发生进程切换440时,根据本方法的实施例,在步骤801,主机CPU 201访问寄存器CR3,但由于上表1中设置的访问权限,主机CPU 201无法直接将待更新的页全局目录PGD更新到CR3,所以在步骤802,主机CPU 201需要将PGD更新请求转发给安全处理器202。在步骤803,安全处理器202首先检查待更新的PGD的PTP是否都在PTP页链表中。如果都在PTP页链表中,则安全处理器202将待更新PGD更新到CR3,完成MMU页表切换。如果存在PTP不在PTP页链表中,则安全处理器202拒绝将待更新的PGD更新到CR3,因为此时很可能是恶意代码伪造的页表替换了进程的真实页表,这样实现对寄存器CR3的安全管理。
安全处理器管理MMU/CR3
下面将根据上述CPU架构的调整,对安全处理器固件和主机操作系统内核需要增加的相应软件功能进行详细的描述,具体如图9至图12所示。
根据实施例,首先,安全处理器202固件初始化,使能寄存器MSR_SP_MMU_EN,即,MSR_SP_MMU_EN=1,以赋予安全处理器202读写MMU和CR3的能力。然后,主机CPU 201初始化,之后,安全处理器202检查以下寄存器的功能位是否使能:
·CR0.PG=1
·CR0.WP=1
·CR4.PAE=1
·MSR_EFER.NXE=1
以使用安全处理器202进行如图4所示的内存申请410、缺页异常420、页表删除430和进程切换440等操作。
图9示出了根据本发明的实施例的安全管理硬件资源的安全处理器202的操作的流程图。参考图9,在步骤901,开始。在步骤902,安全处理器202接收主机CPU 201发送的与物理内存页面管理相关的特定寄存器的操作请求。在步骤903,安全处理器202响应于该操作请求,基于特定寄存器的类型,拒绝主机CPU 201的操作请求或只允许主机CPU 201读取特定寄存器。步骤904,结束。
图10示出了根据本发明的实施例的安全处理器202执行缺页异常420的流程图。参考图10,根据实施例,在步骤1001,开始。在步骤1002,安全处理器202响应于主机CPU 201发送的对寄存器CR2的访问,只允许主机CPU 201读取寄存器CR2并接收缺页信息(va,pa)。然后在步骤1003,安全处理器202检查页表页PTP页链表中是否存在空闲PTP:当不存在空闲PTP时,在步骤1004,安全处理器202将PTP缺页信息返回给主机CPU 201,接着在步骤1005,在主机CPU 201再次申请物理内存之后,安全处理器202将申请的物理内存申请为PTP,之后返回到步骤1003操作;当存在空闲PTP时,在步骤1006,安全处理器202查询PTP页链表,判断缺页信息中的物理地址pa是否属于PTP页链表的PTP:当物理地址pa属于PTP时,在步骤1007,安全处理器202拒绝更新PTP页链表;当物理地址pa不属于PTP时,在步骤1008,安全处理器202读取寄存器CR2,校验缺页信息中的va与寄存器CR2中的线性地址是否一致:如果一致,则安全处理202在步骤1009更新PTP页表,且安全处理器202设置PTP为不可执行且对于主机CPU 201是只读的;并且如果不一致,则安全处理202在步骤1007拒绝更新PTP页表;步骤1007和步骤1009的执行结束后,缺页异常420在步骤1010结束。
图11示出了根据本发明的实施例的安全处理器202执行页表删除430的流程图。参考图11,根据实施例,在步骤1101,开始。在步骤1102,安全处理器202响应于进程退出或发生内存回收,接收到页面删除请求并访问寄存器CR3。在步骤1103,安全处理器202解除PGD中物理地址和相应的虚拟地址之间的映射关系,同时从PTP页链表中移除由该物理地址指定的物理内存页面。页表删除430然后在步骤1104结束。
图12示出了根据本发明的实施例的安全处理器202执行进程切换440的流程图。参考图12,根据实施例,在步骤1201,开始。在步骤1202,安全处理器202响应于进程切换,接收到对待更新的PGD的PTP的PTP页链表的更新请求且访问寄存器CR3。在步骤1203,安全处理器202检查待更新的PGD的PTP是否都在PTP页链表中:如果所有待更新的PGD的PTP都在PTP页链表中,则在步骤1204,安全处理器202更新待更新的PGD到寄存器CR3,以完成进程切换440;如果存在待更新的PGD的PTP不在PTP页链表中,则在步骤1205,安全处理器202拒绝更新待更新的PGD到寄存器CR3。进程切换440然后在步骤1206结束。
本技术从CPU架构上有效提升了计算机系统的安全性,防止恶意代码利用内核漏洞访问并篡改进程页表或其他特定寄存器的内容。
注意,全文中提到的寄存器的名称或代码的名称,例如CR0-CR4、MSR_EFER、MSR_SP_MMU_EN、WP、PG、PAE、NX、NXE等均是示例,为了标识作用,而非限制,事实上根据本发明的原理,实现相同功能的其他代码也是可行的。
应当理解,本发明的方法中的步骤的特定顺序或层次是示例性过程的说明。基于设计偏好,可以理解,方法中步骤的特定顺序或层次可以被重新排列。所附的方法权利要求以示例顺序呈现各种步骤的元素,并且不意味着限于所呈现的特定顺序或层次,除非在其中具体陈述。
以上公开的主题将被认为是例示性的而不是限制性的,并且所附权利要求意图覆盖落入本发明构思的真实精神和范围的所有这样的修改、增强、和其它实施例。因此,本发明构思的范围被对所附权利要求及其等同物的最广泛可允许解释确定到法律所允许的最大程度,并且不应该被前述详细描述所约束或限制。

Claims (18)

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.一种安全管理主机CPU架构系统中硬件资源的方法,其中,所述系统包括主机CPU以及安全处理器,其中,所述安全处理器与主机CPU不同且分离,所述安全处理器控制与物理内存页面管理相关的特定寄存器,所述方法包括:
所述安全处理器接收主机CPU发送的对所述与物理内存页面管理相关的特定寄存器的操作请求;
所述安全处理器响应于所述操作请求,基于所述特定寄存器的类型,拒绝主机CPU的所述操作请求或只允许主机CPU读取所述特定寄存器。
11.根据权利要求10所述的方法,其中,所述特定寄存器包括寄存器MSR_SP_MMU_EN,所述寄存器MSR_SP_MMU_EN用于寄存用于使能所述安全处理器对所述特定寄存器的访问权限的代码,
其中,所述安全处理器进行初始化包括使能所述寄存器MSR_SP_MMU_EN,
当所述寄存器MSR_SP_MMU_EN被使能时,所述安全处理器控制所述特定寄存器;
当所述寄存器MSR_SP_MMU_EN不被使能时,所述安全处理器不控制所述特定寄存器。
12.根据权利要求10所述的方法,其中,所述特定寄存器包括寄存器CR0,所述寄存器CR0用于寄存主机CPU操作模式和状态的系统控制标志,以供所述安全处理器使用,
其中,响应于主机CPU发送的对所述与物理内存页面管理相关的特定寄存器的操作请求,基于所述特定寄存器的类型,拒绝主机CPU的所述操作请求或只允许主机CPU读取所述特定寄存器的步骤包括:
响应于主机CPU发送的对所述寄存器CR0的访问请求,拒绝主机CPU的所述操作请求。
13.根据权利要求12所述的方法,其中,在所述安全处理器进行初始化时,初始化所述寄存器CR0,使能所述寄存器CR0的分页功能PG位和写保护功能WP位,从而使得响应于主机CPU发送的对所述寄存器CR0的访问,根据所述寄存器CR0的分页功能PG和写保护功能WP的使能,而拒绝主机CPU的所述操作请求。
14.根据权利要求10所述的方法,其中,所述特定寄存器包括寄存器CR4,所述寄存器CR4用于寄存主机CPU的部分结构的扩展,所述扩展指示对特定处理器和操作系统的执行的支持,
其中,响应于主机CPU发送的对所述与物理内存页面管理相关的特定寄存器的操作请求,基于所述特定寄存器的类型,拒绝主机CPU的所述操作请求或只允许主机CPU读取所述特定寄存器的步骤包括:
响应于主机CPU发送的对所述寄存器CR4的访问,拒绝主机CPU的所述操作请求。
15.根据权利要求14所述的方法,其中,在所述安全处理器进行初始化时初始化所述寄存器CR4,使能所述寄存器CR4中物理地址扩展PAE位,以使能主机CPU的不执行NX功能,从而使得响应于主机CPU发送的对所述寄存器CR4的访问,根据所述寄存器CR4中物理地址扩展PAE位的使能,拒绝主机CPU的所述操作请求。
16.根据权利要求10所述的方法,其中,所述特定寄存器包括寄存器MSR_EFER,所述寄存器MSR_EFER用于寄存使能不执行NX功能位,
其中,在所述安全处理器进行初始化时初始化所述寄存器MSR_EFER,使能所述寄存器MSR_EFER中的不执行使能NXE位,
其中,响应于主机CPU发送的对所述与物理内存页面管理相关的特定寄存器的操作请求,基于所述特定寄存器的类型,拒绝主机CPU的所述操作请求或只允许主机CPU读取所述特定寄存器的步骤包括:
响应于主机CPU发送的对寄存器MSR_EFER的访问,拒绝主机CPU的所述操作请求。
17.根据权利要求10所述的方法,其中,所述特定寄存器包括寄存器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页表。
18.根据权利要求10所述的方法,其中,所述特定寄存器包括寄存器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。
CN202010861989.0A 2020-08-25 2020-08-25 安全管理硬件资源的主机cpu架构系统和方法 Active CN111949995B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010861989.0A CN111949995B (zh) 2020-08-25 2020-08-25 安全管理硬件资源的主机cpu架构系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010861989.0A CN111949995B (zh) 2020-08-25 2020-08-25 安全管理硬件资源的主机cpu架构系统和方法

Publications (2)

Publication Number Publication Date
CN111949995A true CN111949995A (zh) 2020-11-17
CN111949995B CN111949995B (zh) 2021-07-16

Family

ID=73359954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010861989.0A Active CN111949995B (zh) 2020-08-25 2020-08-25 安全管理硬件资源的主机cpu架构系统和方法

Country Status (1)

Country Link
CN (1) CN111949995B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114201752A (zh) * 2021-11-29 2022-03-18 海光信息技术股份有限公司 一种安全隔离虚拟机的页表管理方法、装置及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079083A (zh) * 2006-05-25 2007-11-28 中国科学院计算技术研究所 一种对访存操作进行权限检查的系统、装置及方法
CN104298623A (zh) * 2013-07-16 2015-01-21 横河电机株式会社 电子装置、操作系统以及访问控制方法
CN106326130A (zh) * 2015-06-16 2017-01-11 联芯科技有限公司 寄存器地址空间的控制方法、控制器及片上系统
CN109828827A (zh) * 2018-11-22 2019-05-31 海光信息技术有限公司 一种检测方法、装置及相关设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079083A (zh) * 2006-05-25 2007-11-28 中国科学院计算技术研究所 一种对访存操作进行权限检查的系统、装置及方法
CN104298623A (zh) * 2013-07-16 2015-01-21 横河电机株式会社 电子装置、操作系统以及访问控制方法
CN106326130A (zh) * 2015-06-16 2017-01-11 联芯科技有限公司 寄存器地址空间的控制方法、控制器及片上系统
CN109828827A (zh) * 2018-11-22 2019-05-31 海光信息技术有限公司 一种检测方法、装置及相关设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114201752A (zh) * 2021-11-29 2022-03-18 海光信息技术股份有限公司 一种安全隔离虚拟机的页表管理方法、装置及相关设备

Also Published As

Publication number Publication date
CN111949995B (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
US10447728B1 (en) Technique for protecting guest processes using a layered virtualization architecture
US9747172B2 (en) Selective access to executable memory
US10241819B2 (en) Isolating data within a computer system using private shadow mappings
CA2915888C (en) Process evaluation for malware detection in virtual machines
CN109522754B (zh) 一种移动终端可信隔离环境核心控制方法
US7272832B2 (en) Method of protecting user process data in a secure platform inaccessible to the operating system and other tasks on top of the secure platform
KR100927750B1 (ko) 무단 변경 방지 방법, 무단 변경 방지 프로세서, 무단 변경방지 제품, 무단 변경 방지 시스템
US8464252B2 (en) Per process virtual machines
US10860718B2 (en) Protecting computer systems used in virtualization environments against fileless malware
US20050108516A1 (en) By-pass and tampering protection for application wrappers
US7975117B2 (en) Enforcing isolation among plural operating systems
US10360386B2 (en) Hardware enforcement of providing separate operating system environments for mobile devices
CN103907101A (zh) 用于管理器环境中的内核rootkit防护的系统和方法
WO2006039244A2 (en) Mandatory access control scheme with active objects
van de Ven New security enhancements in red hat enterprise linux v. 3, update 3
CN112256396B (zh) 内存管理方法、系统及安全处理装置、数据处理装置
CN111949995B (zh) 安全管理硬件资源的主机cpu架构系统和方法
US10303861B2 (en) Software diversification in external contexts
CN114651244A (zh) 机密计算机制
CN107169375B (zh) 系统数据安全增强方法
CN108241801B (zh) 处理系统调用的方法和装置
Poslušný Signed kernel drivers–Unguarded gateway to Windows’ core
CN107087003B (zh) 基于网络的系统防攻击方法
CN114641761A (zh) 机密计算机制
CN107103257B (zh) 计算机入侵防范方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB02 Change of applicant information

Address after: 300384 industrial incubation-3-8, North 2-204, No. 18, Haitai West Road, Huayuan Industrial Zone, Tianjin

Applicant after: Haiguang Information Technology Co., Ltd

Address before: 300384 industrial incubation-3-8, North 2-204, No. 18, Haitai West Road, Huayuan Industrial Zone, Tianjin

Applicant before: HAIGUANG INFORMATION TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant