CN116893873A - 能够增强内存保护的方法及计算系统 - Google Patents

能够增强内存保护的方法及计算系统 Download PDF

Info

Publication number
CN116893873A
CN116893873A CN202211494504.4A CN202211494504A CN116893873A CN 116893873 A CN116893873 A CN 116893873A CN 202211494504 A CN202211494504 A CN 202211494504A CN 116893873 A CN116893873 A CN 116893873A
Authority
CN
China
Prior art keywords
manager
physical address
size information
virtual
virtual machine
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.)
Pending
Application number
CN202211494504.4A
Other languages
English (en)
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.)
MediaTek Inc
Original Assignee
MediaTek Inc
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
Priority claimed from US17/978,995 external-priority patent/US20230091722A1/en
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of CN116893873A publication Critical patent/CN116893873A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

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

Abstract

本发明提供能够增强与操作系统内核相关的内存保护的方法及计算系统,可保证系统的安全性。本发明提供的一种计算系统可包括:处理器,被配置为执行客户虚拟机(VM),其中一操作系统(OS)运行于该客户VM上,一应用程序(APP)运行于该OS上,该OS的内核包括:保护服务模块,被配置为接收该APP的客户端发送的至少一个虚拟地址和第一尺寸信息;和内存管理单元(MMU)管理器;该计算系统还包括虚拟机管理器,被配置为接收由该保护服务模块发送的该至少一个虚拟地址和该第一尺寸信息;该计算系统还包括主VM,该主VM包括:保护管理器,被配置为接收并根据该至少一个虚拟地址和该第一尺寸信息获取物理地址阵列和第二尺寸信息来保护由该OS的内核分配的内存。

Description

能够增强内存保护的方法及计算系统
技术领域
本发明涉及内存保护技术领域,进一步地涉及能够增强与操作系统内核相关的内存保护的方法及计算系统。
背景技术
对于使用单体操作系统(例如Linux)作为内核(kernel)的传统Android高阶操作系统(Operating System,OS),资源(例如Linux内核分配的内存(memory),其中Linux可针对应用程序(application,APP)、驱动程序和正在使用的服务控制该内存)的保护由Linux内核或可信的执行环境(Trusted Execution Environment,TEE)实现。在Linux内核实现资源保护的情况下,由于Linux内核的安全隐患(vulnerability),很容易成为攻击者的跳板,导致资源保护失效。另外,在由TEE实现资源保护的情况下,虽然TEE可能具有较高的安全性,但TEE可能资源有限,开销较大,不利于功能发展。因此,迫切需要一种不会降低内核性能和不会增加成本的新的系统来保护由操作系统内核分配的内存。
发明内容
本发明提供能够增强与操作系统内核相关的内存保护的方法及计算系统,可保证系统的安全性。
在一个实施例中,本发明提供的一种计算系统可包括:处理器,被配置为执行客户虚拟机(VM),其中一操作系统(OS)运行于该客户VM上,一应用程序(APP)运行于该OS上,其中该OS的内核包括:保护服务模块,被配置为接收该APP的客户端发送的至少一个虚拟地址和第一尺寸信息;和内存管理单元(MMU)管理器,被配置为管理MMU;该计算系统还包括虚拟机管理器,被配置为接收由该保护服务模块发送的该至少一个虚拟地址和该第一尺寸信息;该计算系统还包括主VM,该主VM包括:保护管理器,被配置为接收该虚拟机管理器发送的该至少一个虚拟地址和该第一尺寸信息,根据该至少一个虚拟地址和该第一尺寸信息获取物理地址阵列和对应于该物理地址阵列的第二尺寸信息,并根据该物理地址阵列和该第二尺寸信息保护由该OS的内核分配的内存。
在一个实施例中,本发明提供的一种能够增强内存保护的方法,实施于包括处理器的计算系统中,该方法包括:在客户虚拟机(VM)上运行操作系统(OS);在该OS上运行一应用程序(APP);由虚拟机管理器接收该APP的客户端发送的至少一个虚拟地址和第一尺寸信息;由主VM接收该虚拟机管理器发送的该至少一个虚拟地址和该第一尺寸信息;由该主VM根据该至少一个虚拟地址和该第一尺寸信息获取物理地址阵列和对应于该物理地址阵列的第二尺寸信息,并根据该物理地址阵列和该第二尺寸信息保护由该OS的内核分配的内存。
附图说明
图1依据本发明的一个实施例示出电子设备10的图标。
图2示出根据本发明实施例的能够增强与操作系统的内核相关联的内存保护的系统20。
图3依据本发明的另一个实施例示出能够增强与操作系统内核相关的内存保护的系统30。
图4依据本发明的另一个实施例示出能够增强与操作系统内核相关的内存保护的系统40。
具体实施方式
下面的描述是为了说明本发明的一般原理而作出的,故不应被理解为是限制性的。本发明的范围最好通过参考所附申请专利范围来确定。
图1依据本发明的一个实施例示出电子设备10的图标。作为举例而非限制,电子设备10可为便携式设备,例如智能手机或平板计算机。电子设备10可包括处理器12、存储设备(storage device)14和硬件电路16。处理器12可以是单核处理器或多核处理器。存储设备14是计算器可读介质,用于存储计算器程序代码PROG。处理器12配备有软件执行能力。计算器程序代码PROG可以包括多个软件模块。因此,当由处理器12加载并执行时,计算器程序代码PROG指示处理器12执行软件模块的指定功能。电子设备10可视为使用计算器程序产品的计算器系统,该计算器程序产品包括包含计算器程序代码的计算器可读介质。硬件电路16是纯硬件,可以仅由逻辑门组成,并且无需软件执行即可执行指定功能。本发明提出的用于增强与操作系统(OS)的内核相关联的内存(memory)保护的系统可位于电子设备10上。例如,该系统可以包括由在处理器12上运行的计算器程序代码PROG实现的基于软件的功能和由硬件电路16实现的基于硬件的功能。
图2示出根据本发明实施例的能够增强与操作系统的内核相关联的内存保护的系统20。系统20可包括处理器(例如,图1中所示的处理器12)。处理器可被配置为执行软件模块,包括客户(guest)虚拟机(Virtual Machine,VM)200、虚拟机管理器(hypervisor)220和主VM240。Android可以在客户VM 200上运行(即,客户VM 200的操作系统是Android),应用程序(APP)202可以在Android上运行,Android的内核可以是Linux(为简洁起见,以下标记为“Linux内核”)。为了增强对Linux内核分配的内存210的保护(例如,Linux内核可针对APP、驱动器和在使用的服务控制内存),APP 202的客户端204可以向Linux内核发送至少一个虚拟地址(virtual address,VA)和与该至少一个虚拟地址VA对应的第一尺寸信息SIZE_1,其中该至少一个虚拟地址VA可以表示内存210的虚拟地址,并且该第一尺寸信息SIZE_1可以表示内存210的大小。
Linux内核可包括保护服务模块206和内存管理单元(Memory Management Unit,MMU)管理器208。保护服务模块206可用于接收APP 202的客户端204发送的至少一个虚拟地址VA和第一尺寸信息SIZE_1,以用于保护内存210。MMU管理器208可被配置为管理MMU(未在图1中示出)。在该实施例中,MMU管理器208可以包括至少一个逻辑到物理(Logical-to-Physical,L2P)地址映射表209(在图2中标记为“L2P表”),并且MMU管理器208可以被配置为根据至少一个L2P地址映射表209将至少一个虚拟地址VA转换成至少一个物理地址,以产生物理地址阵列PA_ARRAY及对应物理地址阵列PA_ARRAY的第二尺寸信息SIZE_2,其中第二尺寸信息SIZE_2可以表示物理地址阵列PA_ARRAY的大小。虚拟机管理器220可被配置为接收由保护服务模块206发送的至少一个虚拟地址VA和第一尺寸信息SIZE_1。
主VM 240可包括保护管理器242,其中保护管理器242可被配置为:接收虚拟机管理器220发送的至少一个虚拟地址VA和第一尺寸信息SIZE_1;根据至少一个虚拟地址VA和第一尺寸信息SIZE_1从MMU管理器208获取物理地址阵列PA_ARRAY和第二尺寸信息SIZE_2;根据物理地址阵列PA_ARRAY和第二尺寸信息SIZE_2保护内存210。此外,主VM 240可进一步包括MMU完整性保护模块244。MMU完整性保护模块244可以被配置为保护至少一个L2P地址映射表209(在图2中标记为“保护”)。
考虑主VM 240仅包括保护管理器242且从虚拟机管理器220接收物理地址阵列PA_ARRAY和第二尺寸信息SIZE_2的情形(例如,称之为“情形1”),也即,保护服务模块206根据至少一个虚拟地址VA和第一尺寸信息SIZE_1从MMU管理器208获取物理地址阵列PA_ARRAY和第二尺寸信息SIZE_2,并通过虚拟机管理器220将物理地址阵列PA_ARRAY和第二尺寸信息SIZE_2发送到保护管理器242。在该情形中(也即,情形1),在安全方面,从MMU管理器208获取的物理地址阵列PA_ARRAY的可信度无法被确定,并且在通过虚拟机管理器220将获取的物理地址阵列PA_ARRAY传输到保护管理器242的过程中,获取的物理地址阵列PA_ARRAY可能被篡改或攻击(例如,攻击者可能利用虚假的保护服务模块攻击系统20)。在性能方面,通过虚拟机管理器220将物理地址阵列PA_ARRAY传输到保护管理器242可能会降低系统20的性能。例如,为了保护大小为32兆字节(megabytes,MB)的内存,需要传输大小为34千字节(kilobytes,KB)的物理地址阵列。
相较于该情形(也即,情形1),在图2的系统20中,通过虚拟机管理器220将至少一个虚拟地址VA和第一尺寸信息SIZE_1从Linux内核传输到保护管理器242,可以防止系统20在通过虚拟机管理器220将至少一个虚拟地址VA和第一尺寸信息SIZE_1传输到保护管理器242的过程中被篡改或攻击。MMU完整性保护模块244可以被配置为通过保护至少一个L2P地址映射表209来确保至少一个虚拟地址VA和第一尺寸信息SIZE_1的可信度。最终,图2所示的系统20就比这样的情形(也即,情形1)安全得多。此外,保护管理器242可以根据虚拟机管理器220发送的至少一个虚拟地址VA和第一尺寸信息SIZE_1直接从MMU管理器208获得物理地址阵列PA_ARRAY和第二尺寸信息SIZE_2,由此可以提高系统20的性能。
然而,保护至少一个L2P地址映射表209可能降低Linux内核的性能。此外,可以由MMU完整性保护模块244将至少一个L2P地址映射表209的写机制提供给MMU管理器208,其中写机制的高开销可能会影响MMU的性能。为了解决前面提到的问题,可将至少一个虚拟L2P地址映射表提供给MMU管理器。请参考图3,图3依据本发明的另一个实施例示出能够增强与操作系统内核相关的内存保护的系统30。系统30可包括处理器(例如,图1中所示的处理器12)。处理器可被配置为执行软件模块,包括客户VM 300、虚拟机管理器320和主VM 340,其中Android可以在客户VM 300上运行(即,客户VM 300的操作系统是Android),APP 302可以在Android上运行,以及Android的内核可能是Linux。为了保护由Linux内核分配的内存310(例如,Linux内核可针对APP、驱动器和在使用的服务控制内存),APP 302的客户端304可以向Linux内核发送至少一个虚拟地址VA和与该至少一个虚拟地址VA对应的第一尺寸信息SIZE_1,其中至少一个虚拟地址VA可以表示内存310的虚拟地址,并且第一尺寸信息SIZE_1可以表示内存310的大小。
Linux内核可包括保护服务模块306和MMU管理器308。保护服务模块306可被配置为接收APP 302的客户端304发送的至少一个虚拟地址VA和第一尺寸信息SIZE_1,以用于保护内存310。MMU管理器308可被配置为管理MMU(未在图3中示出)。虚拟机管理器320可被配置为接收保护服务模块206发送的至少一个虚拟地址VA和第一尺寸信息SIZE_1。另外,虚拟机管理器320可以包括虚拟L2P地址映射表管理器321,其中虚拟L2P地址映射表管理器321可以被设置为:接收至少一个L2P地址映射表322(在图3中标记为“L2P表”),根据至少一个L2P地址映射表322将至少一个虚拟地址VA转换为至少一个物理地址,以生成物理地址阵列PA_ARRAY和对应物理地址阵列PA_ARRAY的第二尺寸信息SIZE_2,并提供至少一个虚拟L2P地址映射表309(图3中标记为“vL2P表”)给MMU管理器308,其中第二尺寸信息SIZE_2可以表示物理地址阵列PA_ARRAY的大小。
主VM 340可包括保护管理器342,其中保护管理器342可被配置为:接收虚拟机管理器320发送的至少一个虚拟地址VA和第一尺寸信息SIZE_1;根据至少一个虚拟地址VA和第一尺寸信息SIZE_1,从虚拟L2P地址映射表管理器321获取物理地址阵列PA_ARRAY和第二尺寸信息SIZE_2;并根据物理地址阵列PA_ARRAY和第二尺寸信息SIZE_2保护内存310。此外,主VM 340还可包括MMU完整性保护模块344。在本实施例中,MMU完整性保护模块344可被配置为保护虚拟L2P地址映射表管理器321(在图3中标记为“保护”)。
相较于图2中所示的系统20,图3中所示的系统30不需要MMU完整性保护模块344向MMU管理器308提供至少一个L2P映射表的写机制,由此可以避免写机制的高开销影响MMU的性能。此外,MMU完整性保护模块344保护的不是至少一个L2P地址映射表,而是虚拟L2P地址映射表管理器321。这样,保护至少一个L2P地址映射表导致的Linux内核性能下降可以被改善。
图4依据本发明的另一个实施例示出能够增强与操作系统内核相关的内存保护的系统40。系统40可包括处理器(例如,图1中所示的处理器12)。处理器可被配置为执行软件模块,包括客户VM 400、虚拟机管理器420和主VM 440,其中Android可以在客户VM 400上运行(即,客户VM 400的操作系统是Android),APP 402可以在Android上运行,而Android的内核可能是Linux。为了保护由Linux内核分配的内存410(例如,Linux内核可针对APP、驱动器和在使用的服务控制内存),APP 402的客户端404可以向Linux内核发送至少一个虚拟地址VA和与至少一个虚拟地址VA对应的第一尺寸信息SIZE_1,其中,至少一个虚拟地址VA可以表示内存410的虚拟地址,第一尺寸信息SIZE_1可以表示内存410的大小。
Linux内核可包括保护服务模块406和MMU管理器408。保护服务模块406可被配置为接收APP 402的客户端404发送的至少一个虚拟地址VA和第一尺寸信息SIZE_1,以用于保护内存410。MMU管理器408可被配置为管理MMU(图4中未示出)。在本实施例中,MMU管理器408可以包括至少一个L2P地址映射表409(在图4中标记为“L2P表”),并且可以根据至少一L2P地址映射表409将至少一个虚拟地址VA转换为至少一个物理地址,以产生物理地址阵列PA_ARRAY以及对应于物理地址阵列PA_ARRAY的第二尺寸信息SIZE_2,其中第二尺寸信息SIZE_2可代表物理地址阵列PA_ARRAY的大小。虚拟机管理器420可被配置为接收保护服务模块406发送的至少一个虚拟地址VA和第一尺寸信息SIZE_1。
主VM 440可包括保护管理器442,其中保护管理器442可被配置为:接收虚拟机管理器420发送的至少一个虚拟地址VA和第一尺寸信息SIZE_1;根据至少一个虚拟地址VA和第一尺寸信息SIZE_1从MMU管理器408获取物理地址阵列PA_ARRAY和第二尺寸信息SIZE_2;根据物理地址阵列PA_ARRAY和第二尺寸信息SIZE_2保护内存410。图2所示的系统20与图4所示的系统40的区别在于,代替MMU完整性保护模块,主VM 440还可以包括MMU完整性监视器444。MMU管理器408可以注册(register)到虚拟机管理器420(在图4中标记为“注册”)。虚拟机管理器420还可以被设置为向主VM 440(更具体地,MMU完整性监视器444)发送监视信号MS,以用于监视MMU管理器408。
在该实施例中,MMU 408对于系统40是合法的(legal),且MMU完整性监视器444可被配置为根据虚拟机管理器420发送的监视信号MS监视(图4中标记为“监视”)对至少一个L2P地址映射表409的访问(例如读或写),以确定对至少一个L2P地址映射表409的访问对于系统40来说是否是非法的。响应于对至少一个L2P地址映射表409的访问对于系统40来说是非法的,MMU完整性监视器444可以进一步被配置为防止保护管理器442保护Linux内核分配的内存410。与图2所示的系统20相比,图4中所示的系统40具有更好的Linux内核性能。然而,使用MMU管理器408进行监视的系统40并不比使用MMU管理器208保护的系统20安全,并且必须确保MMU管理器408对于系统40是合法的。
在一些实施例中,不需要确保MMU管理器408对于系统40是合法的。无论MMU管理器408对系统40是否合法,MMU完整性监视器444可以被配置为监视MMU管理器408的资源,以确定MMU管理器408的资源对于系统40是否非法。响应于MMU管理器408的资源对于系统40是非法的,MMU完整性监视器444可以进一步被配置为防止保护管理器442保护内存410。
综上所述,由于保护管理器242/442根据虚拟机管理器220/420发送的至少一个虚拟地址VA和第一尺寸信息SIZE_1,直接从MMU管理器208/408获取物理地址阵列PA_ARRAY和第二尺寸信息SIZE_2,可以提高系统20/40的性能。此外,可以防止系统20/40在通过虚拟机管理器220/420向保护管理器242/442传输至少一个虚拟地址VA和第一尺寸信息SIZE_1的过程中被篡改或攻击,并且可以通过保护或监视至少一个L2P地址映射来保证至少一个虚拟地址VA和第一尺寸信息SIZE_1的可信度。结果,可以保证系统20/40的安全性。
虽然已经通过示例和根据优选实施例描述了本发明,但是应当理解,本发明不限于所公开的实施例。相反,它旨在涵盖各种修改和类似的布置(这对于所属技术领域具有通常知识者来说是显而易见的)。因此,所附权利要求的范围应给予最广泛的解释,以涵盖所有此类修改和类似布置。

Claims (13)

1.一种计算系统,其特征在于,包括:
处理器,被配置为执行客户虚拟机,其中一操作系统运行于该客户虚拟机上,一应用程序运行于该操作系统上,其中该操作系统的内核包括:
保护服务模块,被配置为接收该应用程序的客户端发送的至少一个虚拟地址和第一尺寸信息;和
内存管理单元管理器,被配置为管理内存管理单元;
该计算系统还包括虚拟机管理器,被配置为接收由该保护服务模块发送的该至少一个虚拟地址和该第一尺寸信息;
该计算系统还包括主虚拟机,该主虚拟机包括:
保护管理器,被配置为接收该虚拟机管理器发送的该至少一个虚拟地址和该第一尺寸信息,根据该至少一个虚拟地址和该第一尺寸信息获取物理地址阵列和对应于该物理地址阵列的第二尺寸信息,并根据该物理地址阵列和该第二尺寸信息保护由该操作系统的内核分配的内存。
2.如权利要求1所述的计算系统,其特征在于,该内存管理单元管理器包括至少一个逻辑到物理地址映射表,且该内存管理单元管理器被配置为根据该至少一个逻辑到物理地址映射表将该至少一个虚拟地址转换成该至少一个物理地址,以生成该物理地址阵列和该第二尺寸信息。
3.如权利要求1所述的计算系统,其特征在于,该保护管理器被配置为从该内存管理单元管理器获取该物理地址阵列和该第二尺寸信息。
4.如权利要求2所述的计算系统,其特征在于,该主虚拟机进一步包括:
内存管理单元完整性保护模块,被配置为保护该至少一个逻辑到物理地址映射表。
5.如权利要求1所述的计算系统,其特征在于,该虚拟机管理器包括虚拟逻辑到物理地址映射表管理器,其中该虚拟逻辑到物理地址映射表管理器被设置为:接收至少一个逻辑到物理地址映射表,根据该至少一个逻辑到物理地址映射表将该至少一个虚拟地址转换为该至少一个物理地址,以生成该物理地址阵列和该第二尺寸信息,并提供至少一个虚拟逻辑到物理地址映射表给该内存管理单元管理器。
6.如权利要求5所述的计算系统,其特征在于,该保护管理器被配置为根据该至少一个虚拟地址和该第一尺寸信息从该虚拟逻辑到物理地址映射表获取该物理地址阵列和该第二尺寸信息。
7.如权利要求5所述的计算系统,其特征在于,该主虚拟机进一步包括:
内存管理单元完整性保护模块,被配置为保护该虚拟逻辑到物理地址映射表管理器。
8.如权利要求1所述的计算系统,其特征在于,该保护管理器被配置为根据该至少一个虚拟地址和该第一尺寸信息获取该物理地址和该第二尺寸信息,该内存管理单元管理器注册到该虚拟机管理器,且该虚拟机管理器进一步被配置为向该主虚拟机发送监视信号。
9.如权利要求8所述的计算系统,其特征在于,该内存管理单元管理器对于该系统是合法的,该内存管理单元管理器包括至少一个逻辑到物理地址映射表,该内存管理单元管理器被配置为根据该至少一个逻辑到物理地址映射表将该至少一个虚拟地址转换为至少一个物理地址,以生成该物理地址阵列和该第二尺寸信息,以及该主虚拟机进一步包括:
内存管理单元完整性监视器,被配置为根据该虚拟机管理器发送的该监视信号监视对该至少一个逻辑到物理地址映射表的访问,以确定对该至少一个逻辑到物理地址映射表的该访问对于该系统是否是非法的。
10.如权利要求9所述的计算系统,其特征在于,响应于对该至少一个逻辑到物理地址映射表的该访问对于该系统是非法的,该内存管理单元完整性监视器进一步被配置为防止该保护管理器保护该操作系统的内核分配的该内存。
11.如权利要求8所述的计算系统,其特征在于,该主虚拟机进一步包括:
内存管理单元完整性监视器,被配置为监视该内存管理单元管理器的资源,以确定该内存管理单元管理器的资源对于该系统是否非法。
12.如权利要求11所述的计算系统,其特征在于,响应于该内存管理单元管理器的资源对于该系统是非法的,该内存管理单元完整性监视器进一步被配置为防止该保护管理器保护该操作系统的内核分配的该内存。
13.一种能够增强内存保护的方法,实施于包括处理器的计算系统中,其特征在于,该方法包括:
在客户虚拟机上运行操作系统;
在该操作系统上运行一应用程序;
由虚拟机管理器接收该应用程序的客户端发送的至少一个虚拟地址和第一尺寸信息;
由主虚拟机接收该虚拟机管理器发送的该至少一个虚拟地址和该第一尺寸信息;
由该主虚拟机根据该至少一个虚拟地址和该第一尺寸信息获取物理地址阵列和对应于该物理地址阵列的第二尺寸信息,并根据该物理地址阵列和该第二尺寸信息保护由该操作系统的内核分配的内存。
CN202211494504.4A 2022-03-29 2022-11-25 能够增强内存保护的方法及计算系统 Pending CN116893873A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US63/325,136 2022-03-29
US17/978,995 2022-11-02
US17/978,995 US20230091722A1 (en) 2021-09-17 2022-11-02 System to enhance memory protection associated with kernel of operating system

Publications (1)

Publication Number Publication Date
CN116893873A true CN116893873A (zh) 2023-10-17

Family

ID=88311189

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211494504.4A Pending CN116893873A (zh) 2022-03-29 2022-11-25 能够增强内存保护的方法及计算系统

Country Status (1)

Country Link
CN (1) CN116893873A (zh)

Similar Documents

Publication Publication Date Title
US11436161B2 (en) System for address mapping and translation protection
CN107667350B (zh) 基于虚拟化的平台保护技术
US8397306B1 (en) Security domain in virtual environment
US11443034B2 (en) Trust zone-based operating system and method
KR100938305B1 (ko) 고 신뢰성 펌웨어
US9202046B2 (en) Systems and methods for executing arbitrary applications in secure environments
Markuze et al. True IOMMU protection from DMA attacks: When copy is faster than zero copy
US8745308B2 (en) System and method to enhance memory protection for programs in a virtual machine environment
US8327415B2 (en) Enabling byte-code based image isolation
CN117332461A (zh) 利用隐藏内联元数据的存储器保护
US20070005935A1 (en) Method and apparatus for securing and validating paged memory system
US20080201540A1 (en) Preservation of integrity of data across a storage hierarchy
CN106415574B (zh) 采用用于促进对安全存储器的访问的中间结构
JP5346608B2 (ja) 情報処理装置およびファイル検証システム
CN103460179A (zh) 用于透明地对应用程序进行插桩的方法和设备
EP2965211A1 (en) Method and apparatus for preventing unauthorized access to contents of a register under certain conditions when performing a hardware table walk (hwtw)
KR20170060815A (ko) 메모리의 커널영역을 보호하기 위한 전자장치 및 방법
TWI830522B (zh) 能夠增強記憶體保護的方法及計算系統
CN116893873A (zh) 能够增强内存保护的方法及计算系统
US20230091722A1 (en) System to enhance memory protection associated with kernel of operating system
CN117494108B (zh) 可信执行环境实现方法、计算机设备及存储介质
Gutstein Towards Efficient and Effective IOMMU-based Protection from DMA Attacks
US20230098991A1 (en) Systems, methods, and media for protecting applications from untrusted operating systems
RU2768196C2 (ru) Защищённое запоминающее устройство
KR20200066011A (ko) 중첩 페이징 없이 커널을 보호하는 방법 및 그 장치

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination