CN112241309B - 一种数据安全方法、装置、cpu、芯片及计算机设备 - Google Patents

一种数据安全方法、装置、cpu、芯片及计算机设备 Download PDF

Info

Publication number
CN112241309B
CN112241309B CN202011131321.7A CN202011131321A CN112241309B CN 112241309 B CN112241309 B CN 112241309B CN 202011131321 A CN202011131321 A CN 202011131321A CN 112241309 B CN112241309 B CN 112241309B
Authority
CN
China
Prior art keywords
sandbox
virtual address
data
address space
host
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.)
Active
Application number
CN202011131321.7A
Other languages
English (en)
Other versions
CN112241309A (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 CN202011131321.7A priority Critical patent/CN112241309B/zh
Publication of CN112241309A publication Critical patent/CN112241309A/zh
Application granted granted Critical
Publication of CN112241309B publication Critical patent/CN112241309B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/45562Creating, deleting, cloning virtual machine instances
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例提供一种数据安全方法、装置、CPU、芯片及计算机设备,其中方法包括:获取沙箱创建指令,基于所述沙箱创建指令创建沙箱,为沙箱的沙箱数据在主机虚拟地址中映射第一主机虚拟地址空间;在所述主机虚拟地址中申请第二主机虚拟地址空间,所述第二主机虚拟地址空间不同于所述第一主机虚拟地址空间;拷贝所述沙箱数据,将拷贝的沙箱数据映射到所述第二主机虚拟地址空间,其中,沙箱在主机模式使用所述第一主机虚拟地址空间映射的沙箱数据,并以沙箱在主机模式的第一密钥进行加密,沙箱在客户机模式使用所述第二主机虚拟地址空间映射的沙箱数据。本申请实施例可在保障沙箱的数据安全性的基础上,保障沙箱在guest模式下的功能正常实现。

Description

一种数据安全方法、装置、CPU、芯片及计算机设备
技术领域
本申请实施例涉及数据处理技术领域,具体涉及一种数据安全方法、装置、CPU、芯片及计算机设备。
背景技术
容器(Container)技术作为一种操作***级别的虚拟化技术,可以有效的将单个操作***的资源划分到孤立的组中,以便在孤立的组之间平衡有冲突的资源使用需求;然而,容器建立在操作***之上,每个容器共享操作***内核,执行文件和库等,这导致容器之间在进行***调用时共享同一内核,为黑客攻击容器提供了很大的攻击面;基于此,目前可通过沙箱(Sandbox)技术将容器绝大部分的***调用限制在沙箱内部,使得容器运行受限在沙箱内部,从而降低黑客对容器的攻击面,提升容器的安全性。
沙箱(Sandbox)作为一种安全机制,虽然能在容器虚拟化技术中,为容器提供隔离环境,但是在存在***漏洞,侧信道攻击等情况时,沙箱数据极可能逃逸出沙箱,导致沙箱数据被窃取;因此,如何提供数据安全方案,以提升沙箱数据的安全性,成为了本领域技术人员亟需解决的技术问题。
发明内容
有鉴于此,本申请实施例提供一种数据安全方法、装置、CPU、芯片及计算机设备,以提升沙箱数据的安全性。
为实现上述目的,本申请实施例提供如下技术方案:
一种数据安全方法,包括:
获取沙箱创建指令,基于所述沙箱创建指令创建沙箱,为沙箱的沙箱数据在主机虚拟地址中映射第一主机虚拟地址空间;
在所述主机虚拟地址中申请第二主机虚拟地址空间,所述第二主机虚拟地址空间不同于所述第一主机虚拟地址空间;
拷贝所述沙箱数据,将拷贝的沙箱数据映射到所述第二主机虚拟地址空间,其中,沙箱在主机模式使用所述第一主机虚拟地址空间映射的沙箱数据,并以沙箱在主机模式的第一密钥进行加密,沙箱在客户机模式使用所述第二主机虚拟地址空间映射的沙箱数据。
可选的,在为沙箱的沙箱数据在主机虚拟地址中映射第一主机虚拟地址空间之后,所述方法还包括:
建立所述沙箱数据的客户机虚拟地址到所述第一主机虚拟地址空间的页表映射,在嵌套页表中映射所述第一主机虚拟地址空间对应的第一主机物理地址空间。
可选的,在将拷贝的沙箱数据映射到所述第二主机虚拟地址空间之后,所述方法还包括:
建立所述拷贝的沙箱数据的客户机虚拟地址到所述第二主机虚拟地址空间的页表映射,在嵌套页表中映射所述第二主机虚拟地址空间对应的第二主机物理地址空间。
可选的,在将拷贝的沙箱数据映射到所述第二主机虚拟地址空间之后,所述方法还包括:
使用沙箱在主机模式的第一密钥,对所述第一主机虚拟地址空间映射的沙箱数据进行加密。
可选的,所述方法还包括:
获取沙箱启动指令,基于所述沙箱启动指令启动沙箱,其中,沙箱启动时处于客户机模式;
使用沙箱在客户机模式的第二密钥,对所述第二主机虚拟地址空间映射的沙箱数据进行加密。
可选的,所述第二主机虚拟地址空间包括:高位地址的第三主机虚拟地址空间,和低位地址的第四主机虚拟地址空间;所述将拷贝的沙箱数据映射到所述第二主机虚拟地址空间包括:
将拷贝的沙箱数据中的高位地址数据,映射到所述第三主机虚拟地址空间;将拷贝的沙箱数据中的低位地址数据,映射到所述第四主机虚拟地址空间。
本申请实施例还提供一种数据安全装置,包括:
沙箱创建模块,用于获取沙箱创建指令,基于所述沙箱创建指令创建沙箱,为沙箱的沙箱数据在主机虚拟地址中映射第一主机虚拟地址空间;
虚拟地址空间申请模块,用于在所述主机虚拟地址中申请第二主机虚拟地址空间,所述第二主机虚拟地址空间不同于所述第一主机虚拟地址空间;
拷贝映射模块,用于拷贝所述沙箱数据,将拷贝的沙箱数据映射到所述第二主机虚拟地址空间,其中,沙箱在主机模式使用所述第一主机虚拟地址空间映射的沙箱数据,并以沙箱在主机模式的第一密钥进行加密,沙箱在客户机模式使用所述第二主机虚拟地址空间映射的沙箱数据。
可选的,所述装置还包括:
第一加密模块,用于在所述拷贝映射模块将拷贝的沙箱数据映射到所述第二主机虚拟地址空间之后,使用沙箱在主机模式的第一密钥,对所述第一主机虚拟地址空间映射的沙箱数据进行加密。
可选的,所述装置还包括:
沙箱启动模块,用于获取沙箱启动指令,基于所述沙箱启动指令启动沙箱,其中,沙箱启动时处于客户机模式;
第二加密模块,用于使用沙箱在客户机模式的第二密钥,对所述第二主机虚拟地址空间映射的沙箱数据进行加密。
本申请实施例还提供一种CPU,所述CPU被配置为执行上述任一项所述的数据安全方法。
本申请实施例还提供一种芯片,包括:如上述所述的CPU。
本申请实施例还提供一种计算机设备,包括:如上述所述的芯片。
本申请实施例提供的数据安全方法,可在基于沙箱创建指令创建沙箱时,为沙箱的沙箱数据在主机虚拟地址中映射第一主机虚拟地址空间,且沙箱在host模式下,使用所述第一主机虚拟地址空间映射的沙箱数据;在启动沙箱进入guest模式前,本申请实施例可在主机虚拟地址中,申请与第一主机虚拟地址空间不同的第二主机虚拟地址空间,并对沙箱数据进行拷贝,将拷贝的沙箱数据映射到第二主机虚拟地址空间,使得沙箱在guest模式下,使用第二主机虚拟地址空间映射的拷贝的沙箱数据,其中,所述第一主机虚拟地址空间映射的沙箱数据,可基于沙箱在host模式的第一密钥进行加密。基于上述处理,在沙箱的host模式和guest模式使用不同的密钥对沙箱数据进行加密的情况下,由于沙箱在host模式和guest模式下使用内容相同,但不同主机虚拟地址空间映射的沙箱数据,因此沙箱在guest模式下无需解析host模式已加密的沙箱数据,从而本申请实施例可在沙箱数据在host模式使用相应密钥进行加密,以保障沙箱数据安全性的基础上,能够使得沙箱在guest模式下也可使用第二主机虚拟地址空间映射的沙箱数据,来完成guest模式下的功能正常实现。可见,本申请实施例提供的数据安全方法,可在保障沙箱的数据安全性的基础上,保障沙箱在guest模式下的功能正常实现。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为容器虚拟化技术架构示例图;
图2为结合沙箱技术的容器虚拟化技术架构示例图;
图3为基于安全虚拟化的容器虚拟化技术架构示例图;
图4为基于安全虚拟化的沙箱示例架构图;
图5为沙箱创建和启动的示例过程图;
图6为沙箱的地址映射布局示例图;
图7为本申请实施例提供的数据安全方法的流程图;
图8为本申请实施例提供的数据安全方法的另一流程图;
图9为本申请实施例提供的数据安全方法的再一流程图;
图10为沙箱的hva地址示例图;
图11为本申请实施例提供的数据安全装置的框图;
图12为本申请实施例提供的数据安全装置的另一框图;
图13为本申请实施例提供的数据安全装置的再一框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于理解容器虚拟化技术,图1示例了容器虚拟化技术架构,如图1所示,容器虚拟化技术架构主要包括:CPU(Central Processing Unit,中央处理器)10,内存控制器20,物理内存30;
其中,CPU10可通过容器引擎(Docker)11创建容器12,并通过将操作***的资源划分到孤立的组中,以在操作***层面实现资源划分和虚拟化;在可选具体实现中,在容器虚拟化技术下,容器引擎可以将应用程序的镜像发布到物理主机上,从而利用应用程序的镜像快速创建并运行容器,并由容器技术为容器划分操作***资源来完成虚拟化;
在容器创建时,CPU中的gvm(Secure virtual Machine,安全虚拟机)13可在物理内存30中为容器分配内存空间,容器的内存空间主要用于任务消耗及支持虚拟化;需要说明的是,gvm是支持硬件的虚拟化模块,gvm可在处理器上提供硬件资源,允许单个机器更有效的运行多个操作***,并维护安全和资源隔离;
内存控制器20是控制物理内存30,并且使物理内存30与CPU10之间交互数据的硬件;在典型的计算机***中,内存控制器20负责处理内存访问请求,如内存控制器20可检测缓存是否记录内存访问请求对应的地址,若是,则从缓存读取该地址相应的数据,否则,遍历内存的页表查找该地址并读取该地址相应的数据。
在容器虚拟化技术中,容器建立在操作***之上,因此容器之间在进行***调用时共享操作***的同一内核,这就导致黑客可基于容器共享的内核对容器进行攻击,为黑客攻击容器提供了很大的攻击面;基于此,可在容器虚拟化技术上结合沙箱技术,为便于理解,图2示例了结合沙箱技术的容器虚拟化技术架构,结合图1和图2所示,在图1示例架构的基础上,图2示例架构进一步包括:沙箱(Sandbox)14;
由图2可以看出,CPU通过为容器配置沙箱,可使得容器运行限制在沙箱提供的隔离环境,从而降低了黑客对容器的攻击面;在沙箱的可选具体实现中,沙箱可由安全沙箱解决方案gVisor实现;需要说明的是,gVisor是一款新型沙箱解决方案,其能够为容器提供安全的隔离环境,具体的,gVisor通过配合内核虚拟机(Kernel-based Virtual Machine,kvm),将容器运行限制在沙箱内部,容器内部同物理主机隔离,保障容器内部和物理主机的数据安全,并且gVisor借助kvm,利用嵌套页表机制将沙箱内部容器同虚拟机管理器(Hypervisor)页表隔离;
在沙箱机制下,沙箱分为两种模式,分别是guest(客户机)模式和host(主机)模式,其中,guest模式可用来运行虚拟化的客户操作***,在guest模式下,部分指令将改变其特性以方便虚拟化实现;host模式是与guest模式相对应的工作模式,当处理器复位或者guest模式退出之后,则处于host模式。
虽然沙箱能够为容器运行提供隔离环境,但是目前的沙箱技术缺少对沙箱数据(包含沙箱代码段、页表数据等)的机密性保护,当沙箱存在***漏洞,侧信道攻击等情况时,沙箱数据极可能逃逸出沙箱限制而被窃取。
为解决上述技术问题,可以利用安全虚拟化思想,以沙箱为单位,为沙箱分配密钥,从而沙箱数据可使用沙箱的密钥进行加密保护,因此就算沙箱数据因为***漏洞、侧信道攻击等原因而逃逸出沙箱限制,沙箱数据也因为加密保护而无法被黑客解密窃取;然而,由于沙箱存在两种模式,沙箱在guest模式和host模式分配的密钥是不同的,这导致沙箱在guest模式和host模式共用沙箱数据的情况下,衍生出进一步的问题;下面将对此具体展开说明。
为便于理解,图3示例了基于安全虚拟化的容器虚拟化技术架构,结合图2和图3所示,图3所示容器虚拟化技术架构在结合沙箱技术的基础上,还进一步设置:安全处理器40,安全处理器40为基于安全虚拟化技术,专门设置的负责数据安全的处理器;
如图3所示,CPU中的gvm13可与安全处理器40相通信,同时,安全处理器40可为沙箱分配和管理密钥;具体的,在沙箱机制的两种模式下,安全处理器可以沙箱为单位,为沙箱的guest模式和host模式分别分配密钥;也就是说,安全处理器可为不同沙箱分配不同的密钥,且一个沙箱在guest模式和host模式分配的密钥也不同。
进一步,在图3示例架构的基础上,图4示例了基于安全虚拟化的沙箱示例架构,如图4所示:
基于安全虚拟化技术可设置安全处理器,安全处理器可负责数据安全,在沙箱创建时为沙箱分配密钥,且沙箱在host模式和guest模式的密钥不同;内核的svm为支持硬件的虚拟化模块,kvm进行内核驱动并负责svm的硬件资源管理,CPU则处于host模式在ring0层运行;
在沙箱解决方案中,容器引擎可通过沙箱控制组件(如gVisor组件)为容器创建沙箱和启动沙箱,以通过创建和启动的沙箱为容器运行提供隔离环境;具体的,在创建沙箱时,沙箱控制组件(如gVisor组件)启动两个子进程:在host模式处于ring3层运行的Gofer,和在host模式处于ring3层运行的Sentry;其中,Gofer负责统一管控沙箱内部访问***文件的权限;
在沙箱创建后启动时,容器限制在沙箱内部,并在guest模式处于ring3层运行,而Sentry切换到guest模式处于ring0层运行,此时Sentry可用于为沙箱内部容器提供***调用进行支持,具体的,Sentry在guest模式下,若检测到沙箱内部容器的***调用,则Sentry切换到host模式以与gvm进行交互,从而通过内核执行沙箱内部容器的***调用;
需要进一步说明的是,处理器通过多级别的ring层来进行访问控制,ring层一般分为4个级别,按照访问权限由高至低的顺序,ring层分为ring0层到ring3层,ring0层拥有最高的访问权限,ring3层拥有最低的访问权限;一般情况下,应用程序运行在ring3层,只能访问ring3层的数据,而操作***运行在ring0,可以访问所有层的数据,其他驱动程序则运行在ring1、ring2层,每一层只能访问本层以及权限更低层的数据。
基于图4示例的容器加密***软件架构,以沙箱解决方案(如gVisor)按照OCI(Open Container Initiative,开放容器倡议)标准编写为例,图5示出了沙箱创建和启动的示例过程,如图5所示:
gVisor组件接收到容器引擎(如Docker)发送的沙箱创建指令(如CREATE指令)时,gVisor组件启动子进程Gofer和Sentry,此时,Gofer和Sentry运行在host模式;同时,在沙箱创建时,安全处理器可为创建的沙箱分配密钥,具体可以为沙箱分配host模式的密钥和guest模式的密钥;
host模式下运行的Sentry,可基于沙箱在host模式的密钥,对沙箱数据进行加密;在沙箱创建后,沙箱已具有对应的虚拟处理器(vCPU),此时,可等待容器引擎发送沙箱启动指令,以使得沙箱进入guest模式继续运行;
如图5所示,在沙箱创建后,gVisor组件接收到容器引擎发送的沙箱启动指令(如START指令),此时处于host模式的Sentry切换到guest模式运行;在guest模式的Sentry可在检测到沙箱内部容器的***调用时,再次切换到host模式运行,以与gvm进行交互,通过内核执行沙箱内部容器的***调用。
按照上述沙箱创建和启动的过程,沙箱在创建时,沙箱数据使用沙箱在host模式的密钥进行加密,而在沙箱创建后启动时,沙箱运行在guest模式,为沙箱内部容器提供***调用的实现;
然而,沙箱在guest模式的密钥与host模式的密钥不同,而沙箱在guest模式和host模式又共用沙箱数据,这就导致沙箱在guest模式下,无法解密host模式下加密的沙箱数据,造成沙箱在guest模式下的功能异常;具体来说,在图4示例架构和图5示例过程中,如果Sentry在host模式下使用密钥对沙箱数据进行加密,则Sentry切换到guest模式后,由于沙箱在host模式与guest模式的密钥不同,Sentry将无法解密事先在host模式加密的沙箱数据,从而导致Sentry在guest模式下的***调用功能无法实现,造成沙箱在guest模式下的功能异常;
因此,虽然沙箱在host模式下使用密钥加密沙箱数据,能够实现沙箱数据的加密保护,但是,由于沙箱guest模式和host模式又共用沙箱数据,这也将衍生出沙箱在guest模式下的功能异常问题。
为便于说明沙箱在guest模式与host模式共用沙箱数据的情况,图6示例了沙箱的地址映射布局示例,如图6所示,text(代码段)、data(数据段)、bss(bss段,用来存放全局未初化数据,以0初始化)、heap(堆区)作为沙箱的部分沙箱数据,这些沙箱数据在客户机虚拟地址(gva)和主机虚拟地址(hva)中的地址布局是相同的;同时,mmap(文件映射区域,表示文件磁盘地址和进程虚拟地址空间中的一段虚拟地址的映射关系)、stack(栈区)、kernel(内核)在gva和hva的地址空间布局也是相同的;也就是说,沙箱在guest模式与host模式基于相同地址布局的hva,共用沙箱数据;
需要说明的是,沙箱的数据映射涉及到gva到hva(gpa),hva到hpa的映射;其中,gva(guest virtual address)表示客户机虚拟地址,gpa(guest physical address)表示客户机物理地址,hva(host virtual address)表示主机虚拟地址,hpa(host physicaladdress)表示主机物理地址;也就是说,沙箱的客户机虚拟地址(gva)到主机物理地址(hpa)需要经过2层页表映射,即沙箱内部建立客户机虚拟地址到主机虚拟地址的映射,嵌套页表负责将主机虚拟地址转换为主机物理地址,其中,客户机物理地址(gpa)和主机虚拟地址(hva)具有固定的对应关系,即一个客户机物理地址对应确定的一个主机虚拟地址。
通过上述的描述可以看出,在安全虚拟化的思想下,沙箱的host模式和guest模式具有不同的密钥,虽然沙箱创建时,使用host模式的密钥对沙箱数据进行加密,可保障沙箱数据的安全,就算沙箱数据因为***漏洞、侧信道攻击等原因而逃逸出沙箱限制,沙箱数据也因为加密保护而无法被黑客解密窃取;但是,在沙箱的host模式和guest模式共用沙箱数据的情况下,沙箱在guest模式下将无法解密,host模式下加密的沙箱数据,造成沙箱在guest模式的功能异常;基于此,本申请实施例提供改进的数据安全方案,在对沙箱数据进行加密保护的基础上,保障沙箱功能的正常实现,从而保障沙箱的数据安全性和沙箱的功能可靠性。
本申请实施例实现上述目的的一种思路是:在沙箱创建之后且沙箱启动之前,对沙箱数据进行拷贝,并在主机虚拟地址中申请一段新的主机虚拟地址空间,用于映射拷贝的沙箱数据;从而沙箱在host模式下,使用原先的沙箱数据并以host模式的密钥进行加密,沙箱在guest模式下,使用拷贝的沙箱数据并以guest模式的密钥进行加密,以使得沙箱在host模式和guest模式下使用内容相同,但不同主机虚拟地址空间映射的沙箱数据,从而沙箱在guest模式下无需解析host模式已加密的沙箱数据,在保障沙箱的数据安全性的基础上,保障沙箱在guest模式下的功能正常实现。
基于上述思路,在可选实现中,图7示出了本申请实施例提供的数据安全方法的可选流程,该流程可由CPU执行实现,参照图7,该流程可以包括:
步骤S10、获取沙箱创建指令,基于所述沙箱创建指令创建沙箱,为沙箱的沙箱数据在主机虚拟地址中映射第一主机虚拟地址空间。
可选的,本申请实施例可基于容器引擎(Docker)的沙箱创建指令,创建沙箱;在具体的可选实现中,本申请实施例可基于沙箱创建指令,启动Gofer(处于host模式,在ring3层运行)和Sentry(处于host模式,在ring3层运行),以实现沙箱创建。
在沙箱创建时,需为沙箱的沙箱数据进行地址映射,此时,本申请实施例可为沙箱的沙箱数据在主机虚拟地址中映射第一主机虚拟地址空间;
在可选实现中,沙箱数据的完整地址映射可通过2层页表映射实现,即建立沙箱数据的客户机虚拟地址(gva)到主机虚拟地址(hva)的页表映射,在嵌套页面建立主机虚拟地址(hva)到主机物理地址(hpa)的映射,其中客户机物理地址(gpa)和主机虚拟地址(hva)具有固定的对应关系,即一个客户机物理地址对应确定的一个主机虚拟地址。
可选的,步骤S10可在host模式下,为沙箱的沙箱数据在主机虚拟地址中,映射第一主机虚拟地址空间。
步骤S11、在所述主机虚拟地址中申请第二主机虚拟地址空间,所述第二主机虚拟地址空间不同于所述第一主机虚拟地址空间。
步骤S12、拷贝所述沙箱数据,将拷贝的沙箱数据映射到所述第二主机虚拟地址空间,其中,沙箱在host模式使用所述第一主机虚拟地址空间映射的沙箱数据,沙箱在guest模式使用所述第二主机虚拟地址空间映射的沙箱数据。
为避免沙箱在host模式和guest模式共用相同主机虚拟地址空间映射的沙箱数据,本申请实施例可在主机虚拟地址中申请与第一主机虚拟地址空间不同的第二主机虚拟地址空间,该第二主机虚拟地址空间可以是主机虚拟地址中空闲的、且与第一主机虚拟地址空间不同的主机虚拟地址空间;
进而,本申请实施例可由沙箱在host模式,使用步骤S10所创建的沙箱的沙箱数据的基础上,对沙箱数据进行拷贝,并将拷贝的沙箱数据映射到所申请的第二主机虚拟地址空间;从而由沙箱在guest模式下,使用第二主机虚拟地址空间映射的拷贝的沙箱数据,以使得沙箱在host模式和guest模式下使用内容相同,但不同主机虚拟地址空间映射的沙箱数据。
通过上述处理,就算沙箱在host模式下,使用沙箱在host模式的第一密钥,对第一主机虚拟地址空间映射的沙箱数据进行加密,后续沙箱启动进入guest模式时,沙箱也可在guest模式下,使用第二主机虚拟地址空间映射的沙箱数据,而无需对host模式下加密的沙箱数据进行解密,可保障沙箱在guest模式下功能正常实现;可选的,进一步,沙箱启动进入guest模式后,本申请实施例也可基于沙箱在guest模式的第二密钥,对第二主机虚拟地址空间映射的沙箱数据进行加密。为便于说明,沙箱在host模式的密钥可称为第一密钥,沙箱在guest模式的密钥可称为第二密钥,
可选的,步骤S11和步骤S12可在沙箱的host模式下执行,即在沙箱创建且启动沙箱前(启动沙箱则沙箱进入guest模式),执行步骤S11至步骤S12。
本申请实施例提供的数据安全方法,可在基于沙箱创建指令创建沙箱时,为沙箱的沙箱数据在主机虚拟地址中映射第一主机虚拟地址空间,且沙箱在host模式下,使用所述第一主机虚拟地址空间映射的沙箱数据;在启动沙箱进入guest模式前,本申请实施例可在主机虚拟地址中,申请与第一主机虚拟地址空间不同的第二主机虚拟地址空间,并对沙箱数据进行拷贝,将拷贝的沙箱数据映射到第二主机虚拟地址空间,使得沙箱在guest模式下,使用第二主机虚拟地址空间映射的拷贝的沙箱数据,其中,所述第一主机虚拟地址空间映射的沙箱数据,可基于沙箱在host模式的第一密钥进行加密。基于上述处理,在沙箱的host模式和guest模式使用不同的密钥对沙箱数据进行加密的情况下,由于沙箱在host模式和guest模式下使用内容相同,但不同主机虚拟地址空间映射的沙箱数据,因此沙箱在guest模式下无需解析host模式已加密的沙箱数据,从而本申请实施例可在沙箱数据在host模式使用相应密钥进行加密,以保障沙箱数据安全性的基础上,能够使得沙箱在guest模式下也可使用第二主机虚拟地址空间映射的沙箱数据,来完成guest模式下的功能正常实现。可见,本申请实施例提供的数据安全方法,可在保障沙箱的数据安全性的基础上,保障沙箱在guest模式下的功能正常实现。
在进一步的可选实现中,本申请实施例可针对创建的沙箱的沙箱数据实现2层页表映射,以使得创建的沙箱的沙箱数据具有完整的客户机虚拟地址到主机物理地址的映射;并且,本申请实施例也可针对拷贝的沙箱数据实现2层页表映射,以使得拷贝的沙箱数据具有完整的客户机虚拟地址到主机物理地址的映射;可选的,图8示出了本申请实施例提供的数据安全方法的另一可选流程,该流程可由CPU执行实现,参照图8,该流程可以包括:
步骤S20、获取沙箱创建指令,基于所述沙箱创建指令创建沙箱。
步骤S21、为沙箱的沙箱数据在主机虚拟地址中映射第一主机虚拟地址空间,建立所述沙箱数据的客户机虚拟地址到所述第一主机虚拟地址空间的页表映射,在嵌套页表中映射所述第一主机虚拟地址空间对应的第一主机物理地址空间。
本申请实施例在基于沙箱创建指令创建沙箱,并为沙箱的沙箱数据在主机虚拟地址空间映射第一主机虚拟地址空间后,可为沙箱的沙箱数据建立2层页表映射,即建立沙箱数据的客户机虚拟地址到第一主机虚拟地址空间的页表映射,并在嵌套页表中映射第一主机虚拟地址空间对应的第一主机物理地址空间,以实现沙箱数据的客户机虚拟地址到主机物理地址的完整映射。
步骤S22、在所述主机虚拟地址中申请第二主机虚拟地址空间,所述第二主机虚拟地址空间不同于所述第一主机虚拟地址空间。
步骤S23、拷贝所述沙箱数据,将拷贝的沙箱数据映射到所述第二主机虚拟地址空间,建立所述拷贝的沙箱数据的客户机虚拟地址到所述第二主机虚拟地址空间的页表映射,在嵌套页表中映射所述第二主机虚拟地址空间对应的第二主机物理地址空间。
本申请实施例在为沙箱的guest模式,拷贝所使用的沙箱数据,并将拷贝的沙箱数据映射到新申请的第二主机虚拟地址空间后,可为拷贝的沙箱数据建立2层页表映射,即建立拷贝的沙箱数据的客户机虚拟地址到第二主机虚拟地址空间的页表映射,并在嵌套页表中映射第二主机虚拟地址空间对应的第二主机物理地址空间,以实现拷贝的沙箱数据的客户机虚拟地址到主机物理地址的完整映射。可选的,原先的沙箱数据与拷贝的沙箱数据的客户机虚拟地址可以相同。
在完成上述处理后,沙箱在host模式下使用所述第一主机虚拟地址空间映射的沙箱数据,沙箱在guest模式下使用所述第二主机虚拟地址空间映射的沙箱数据。
进一步的,在将拷贝的沙箱数据映射到第二主机虚拟地址空间后,针对原先创建的沙箱的沙箱数据,本申请实施例可使用沙箱在host模式的第一密钥,对创建的沙箱的沙箱数据进行加密保护,从而实现沙箱在host模式使用的沙箱数据的安全保护;而在沙箱启动,沙箱进入guest模式的情况下,本申请实施例可使用沙箱在guest模式的第二密钥,对拷贝的沙箱数据进行加密保护,从而实现沙箱在guest模式使用的沙箱数据的安全保护;
基于上述描述,在可选实现中,图9示出了本申请实施例提供的数据安全方法的再一可选流程,该流程可由CPU执行实现,如图9所示,该流程可以包括:
步骤S30、获取沙箱创建指令,基于所述沙箱创建指令创建沙箱,为沙箱的沙箱数据在主机虚拟地址中映射第一主机虚拟地址空间。
步骤S31、在所述主机虚拟地址中申请第二主机虚拟地址空间,所述第二主机虚拟地址空间不同于所述第一主机虚拟地址空间。
步骤S32、拷贝所述沙箱数据,将拷贝的沙箱数据映射到所述第二主机虚拟地址空间。
可选的,步骤S30至步骤S32的介绍可按照前文相应部分,此处不再赘述。
步骤S33、使用沙箱在host模式的第一密钥,对所述第一主机虚拟地址空间映射的沙箱数据进行加密。
在拷贝沙箱数据,并将拷贝的沙箱数据映射到第二主机虚拟地址空间后,沙箱在guest模式下已具有使用拷贝的沙箱数据的基础,为对沙箱在host模式使用的沙箱数据进行安全保护,本申请实施例可使用沙箱在host模式的第一密钥,对第一主机虚拟地址空间映射的沙箱数据进行加密。
可选的,步骤S33可在沙箱的host模式下执行。
步骤S34、获取沙箱启动指令,基于所述沙箱启动指令启动沙箱。
可选的,本申请实施例可基于容器引擎的沙箱启动指令,启动沙箱;沙箱启动,则进入沙箱的guest模式。
步骤S35、使用沙箱在guest模式的第二密钥,对所述第二主机虚拟地址空间映射的沙箱数据进行加密。
在沙箱启动,沙箱进入guest模式的情况下,沙箱可使用第二主机虚拟地址空间映射的沙箱数据,为对沙箱在guest模式使用的沙箱数据进行安全保护,本申请实施例可使用沙箱在guest模式的第二密钥,对第二主机虚拟地址空间映射的沙箱数据进行加密。
可选的,当沙箱进程结束时,沙箱可主动调用沙箱资源释放接口,对沙箱资源进行释放。
在可选实现中,沙箱的沙箱数据可能包括高位地址数据和低位地址数据,例如沙箱数据中的mmap(文件映射区域,表示文件磁盘地址和进程虚拟地址空间中的一段虚拟地址的映射关系)和stack(栈区)位于高位地址,而text(代码段)和其他数据可能位于低位地址;针对沙箱数据中的高位地址数据和低位地址数据,在可选实现中,本申请实施例可在申请第二主机虚拟地址空间时,申请高位地址的主机虚拟地址空间和低位地址的主机虚拟地址空间,为便于说明,本申请实施例可将第二主机虚拟地址空间分为第三主机虚拟地址空间和第四主机虚拟地址空间,其中,第三主机虚拟地址空间为申请的高位地址的主机虚拟地址空间,用于映射拷贝的沙箱数据中的高位地址数据,第四主机虚拟地址空间为申请的低位地址的主机虚拟地址空间,用于映射拷贝的沙箱数据中的低位地址数据;从而在拷贝沙箱数据后,本申请实施例可将拷贝的沙箱数据中的高位地址数据和低位地址数据,分别映射到高位地址的第三主机虚拟地址空间,和低位地址的第四主机虚拟地址空间;需要说明的是,在沙箱的guest模式下,第三主机虚拟地址空间映射的高位地址数据,和第四主机虚拟地址空间映射的低位地址数据,均基于沙箱在guest模式的第二密钥进行加密;
为便于理解,如图10示例所示,针对低位地址的text(代码段),可在hva(主机虚拟地址)的低位地址中,申请新的主机虚拟地址空间,从而将拷贝的text映射到该新的主机虚拟地址空间;针对高位地址的stack(栈区),可在hva(主机虚拟地址)的高位地址中,申请新的主机虚拟地址空间,从而将拷贝的stack映射到该新的主机虚拟地址空间。
需要进一步说明的是,本申请实施例并不限制采用的加密算法形式,例如可以使用SM2、SM3、SM4等加密算法,当然也可扩展至其他任何加密算法;本申请实施例采用的虚拟化技术也可以扩展至其他硬件或软件虚拟化技术,内核gvm模块可以扩展至任意可正常启动虚拟机的内核模块。
本申请实施例在启动沙箱进入guest模式之前,可将沙箱的自身代码段和guest页表数据等沙箱数据进行拷贝,并将拷贝的沙箱数据映射到主机虚拟地址中新申请的第二主机虚拟地址空间,该第二主机虚拟地址空间可对应拷贝沙箱数据的影子空间,从而在将沙箱数据拷贝至影子空间,并通过2层页表映射完成虚拟机内部虚拟地址到影子空间的物理地址的映射后,则沙箱在host模式可使用原先创建的沙箱的沙箱数据,而在guest模式可使用影子空间拷贝的沙箱数据,达到沙箱在host模式和guest模式下使用内容相同,但不同主机虚拟地址空间映射的沙箱数据的目的;
进而,在按照安全虚拟化的要求,对沙箱数据进行加密时,沙箱在host模式使用的沙箱数据,可使用沙箱在host模式的第一密钥进行加密,沙箱在guest模式使用的拷贝的沙箱数据,可使用沙箱在guest模式的第二密钥进行加密,则沙箱在guest模式下无需解析host模式已加密的沙箱数据,从而可在沙箱数据使用密钥加密,以保障沙箱数据安全性的基础上,沙箱在guest模式下也可使用第二主机虚拟地址空间映射的沙箱数据,来完成guest模式下的功能正常实现。
可见,本申请实施例提供的数据安全方法,可在保障沙箱的数据安全性的基础上,保障沙箱在guest模式下的功能正常实现。
上文描述了本申请实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本申请实施例披露、公开的实施例方案。
下面对本申请实施例提供的数据安全装置进行介绍,下文描述的数据安全装置可以认为是,CPU为实现本申请实施例提供的数据安全方法,所需设置的功能模块。下文描述的数据安全装置的内容,可与上文描述的数据安全方法的内容相互对应参照。
在可选实现中,图11示出了本申请实施例提供的数据安全装置的可选框图,如图11所示,该装置可以包括:
沙箱创建模块100,用于获取沙箱创建指令,基于所述沙箱创建指令创建沙箱,为沙箱的沙箱数据在主机虚拟地址中映射第一主机虚拟地址空间;
虚拟地址空间申请模块110,用于在所述主机虚拟地址中申请第二主机虚拟地址空间,所述第二主机虚拟地址空间不同于所述第一主机虚拟地址空间;
拷贝映射模块120,用于拷贝所述沙箱数据,将拷贝的沙箱数据映射到所述第二主机虚拟地址空间,其中,沙箱在主机模式使用所述第一主机虚拟地址空间映射的沙箱数据,并以沙箱在主机模式的第一密钥进行加密,沙箱在客户机模式使用所述第二主机虚拟地址空间映射的沙箱数据。
可选的,图12示出了本申请实施例提供的数据安全装置的另一可选框图,结合图11和图12所示,该装置还可以包括:
第一页表映射模块130,用于在沙箱创建模块100为沙箱的沙箱数据在主机虚拟地址中映射第一主机虚拟地址空间之后,建立所述沙箱数据的客户机虚拟地址到所述第一主机虚拟地址空间的页表映射,在嵌套页表中映射所述第一主机虚拟地址空间对应的第一主机物理地址空间;
第二页表映射模块140,用于在拷贝映射模块120将拷贝的沙箱数据映射到所述第二主机虚拟地址空间之后,建立所述拷贝的沙箱数据的客户机虚拟地址到所述第二主机虚拟地址空间的页表映射,在嵌套页表中映射所述第二主机虚拟地址空间对应的第二主机物理地址空间。
可选的,图13示出了本申请实施例提供的数据安全装置的再一可选框图,结合图11和图13所示,该装置还可以包括:
第一加密模块150,用于在拷贝映射模块120将拷贝的沙箱数据映射到所述第二主机虚拟地址空间之后,使用沙箱在主机模式的第一密钥,对所述第一主机虚拟地址空间映射的沙箱数据进行加密;
沙箱启动模块160,用于获取沙箱启动指令,基于所述沙箱启动指令启动沙箱,其中,沙箱启动时处于客户机模式;
第二加密模块170,用于使用沙箱在客户机模式的第二密钥,对所述第二主机虚拟地址空间映射的沙箱数据进行加密。
可选的,所述第二主机虚拟地址空间包括:高位地址的第三主机虚拟地址空间,和低位地址的第四主机虚拟地址空间;
拷贝映射模块120,用于将拷贝的沙箱数据映射到所述第二主机虚拟地址空间,可以具体包括:
将拷贝的沙箱数据中的高位地址数据,映射到所述第三主机虚拟地址空间;将拷贝的沙箱数据中的低位地址数据,映射到所述第四主机虚拟地址空间。
本申请实施例提供的数据安全装置,可在保障沙箱的数据安全性的基础上,保障沙箱在guest模式下的功能正常实现。
本申请实施例还提供一种CPU,该CPU可以通过装载上述所述的数据安全装置,以实现本申请实施例提供的数据安全方法。本申请实施例提供的CPU可以被配置为执行本申请实施例提供的数据安全方法。
本申请实施例还提供一种芯片,例如SOC(片上***)芯片等,该芯片可以包括上述所述的CPU。
本申请实施例还提供一种计算机设备,该计算机设备可以包括上述所述的芯片。
虽然本申请实施例披露如上,但本申请并非限定于此。任何本领域技术人员,在不脱离本申请的精神和范围内,均可作各种更动与修改,因此本申请的保护范围应当以权利要求所限定的范围为准。

Claims (12)

1.一种数据安全方法,其特征在于,包括:
获取沙箱创建指令,基于所述沙箱创建指令创建沙箱,为沙箱的沙箱数据在主机虚拟地址中映射第一主机虚拟地址空间;
在所述主机虚拟地址中申请第二主机虚拟地址空间,所述第二主机虚拟地址空间不同于所述第一主机虚拟地址空间;
拷贝所述沙箱数据,将拷贝的沙箱数据映射到所述第二主机虚拟地址空间,其中,沙箱在主机模式使用所述第一主机虚拟地址空间映射的沙箱数据,并以沙箱在主机模式的第一密钥进行加密,沙箱在客户机模式使用所述第二主机虚拟地址空间映射的沙箱数据,并且使用沙箱在客户机模式的第二密钥,对所述第二主机虚拟地址空间映射的沙箱数据进行加密。
2.根据权利要求1所述的数据安全方法,其特征在于,在为沙箱的沙箱数据在主机虚拟地址中映射第一主机虚拟地址空间之后,所述方法还包括:
建立所述沙箱数据的客户机虚拟地址到所述第一主机虚拟地址空间的页表映射,在嵌套页表中映射所述第一主机虚拟地址空间对应的第一主机物理地址空间。
3.根据权利要求1所述的数据安全方法,其特征在于,在将拷贝的沙箱数据映射到所述第二主机虚拟地址空间之后,所述方法还包括:
建立拷贝的沙箱数据的客户机虚拟地址到所述第二主机虚拟地址空间的页表映射,在嵌套页表中映射所述第二主机虚拟地址空间对应的第二主机物理地址空间。
4.根据权利要求1所述的数据安全方法,其特征在于,在将拷贝的沙箱数据映射到所述第二主机虚拟地址空间之后,所述方法还包括:
使用沙箱在主机模式的第一密钥,对所述第一主机虚拟地址空间映射的沙箱数据进行加密。
5.根据权利要求1-4任一项所述的数据安全方法,其特征在于,还包括:
获取沙箱启动指令,基于所述沙箱启动指令启动沙箱,其中,沙箱启动时处于客户机模式。
6.根据权利要求1所述的数据安全方法,其特征在于,所述第二主机虚拟地址空间包括:高位地址的第三主机虚拟地址空间,和低位地址的第四主机虚拟地址空间;所述将拷贝的沙箱数据映射到所述第二主机虚拟地址空间包括:
将拷贝的沙箱数据中的高位地址数据,映射到所述第三主机虚拟地址空间;将拷贝的沙箱数据中的低位地址数据,映射到所述第四主机虚拟地址空间。
7.一种数据安全装置,其特征在于,包括:
沙箱创建模块,用于获取沙箱创建指令,基于所述沙箱创建指令创建沙箱,为沙箱的沙箱数据在主机虚拟地址中映射第一主机虚拟地址空间;
虚拟地址空间申请模块,用于在所述主机虚拟地址中申请第二主机虚拟地址空间,所述第二主机虚拟地址空间不同于所述第一主机虚拟地址空间;
拷贝映射模块,用于拷贝所述沙箱数据,将拷贝的沙箱数据映射到所述第二主机虚拟地址空间,其中,沙箱在主机模式使用所述第一主机虚拟地址空间映射的沙箱数据,并以沙箱在主机模式的第一密钥进行加密,沙箱在客户机模式使用所述第二主机虚拟地址空间映射的沙箱数据,并且使用沙箱在客户机模式的第二密钥,对所述第二主机虚拟地址空间映射的沙箱数据进行加密。
8.根据权利要求7所述的数据安全装置,其特征在于,还包括:
第一加密模块,用于在所述拷贝映射模块将拷贝的沙箱数据映射到所述第二主机虚拟地址空间之后,使用沙箱在主机模式的第一密钥,对所述第一主机虚拟地址空间映射的沙箱数据进行加密。
9.根据权利要求7或8所述的数据安全装置,其特征在于,还包括:
沙箱启动模块,用于获取沙箱启动指令,基于所述沙箱启动指令启动沙箱,其中,沙箱启动时处于客户机模式;
第二加密模块,用于使用沙箱在客户机模式的第二密钥,对所述第二主机虚拟地址空间映射的沙箱数据进行加密。
10.一种CPU,其特征在于,所述CPU被配置为执行权利要求1-6任一项所述的数据安全方法。
11.一种芯片,其特征在于,包括:如权利要求10所述的CPU。
12.一种计算机设备,其特征在于,包括:如权利要求11所述的芯片。
CN202011131321.7A 2020-10-21 2020-10-21 一种数据安全方法、装置、cpu、芯片及计算机设备 Active CN112241309B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011131321.7A CN112241309B (zh) 2020-10-21 2020-10-21 一种数据安全方法、装置、cpu、芯片及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011131321.7A CN112241309B (zh) 2020-10-21 2020-10-21 一种数据安全方法、装置、cpu、芯片及计算机设备

Publications (2)

Publication Number Publication Date
CN112241309A CN112241309A (zh) 2021-01-19
CN112241309B true CN112241309B (zh) 2022-04-01

Family

ID=74169418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011131321.7A Active CN112241309B (zh) 2020-10-21 2020-10-21 一种数据安全方法、装置、cpu、芯片及计算机设备

Country Status (1)

Country Link
CN (1) CN112241309B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115470506B (zh) * 2022-10-28 2023-03-10 山东华翼微电子技术股份有限公司 一种基于同态映射的安全文件***实现方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106030602A (zh) * 2014-03-28 2016-10-12 英特尔公司 基于虚拟化的块内工作负荷隔离
CN106557701A (zh) * 2016-11-28 2017-04-05 北京奇虎科技有限公司 基于虚拟机的内核漏洞检测方法及装置
CN106778244A (zh) * 2016-11-28 2017-05-31 北京奇虎科技有限公司 基于虚拟机的内核漏洞检测进程保护方法及装置
CN106845270A (zh) * 2017-01-17 2017-06-13 北京奇虎科技有限公司 一种无痕浏览方法及装置
CN108133153A (zh) * 2017-11-29 2018-06-08 北京京航计算通讯研究所 基于沙箱技术的云存储安全访问方法
CN108234526A (zh) * 2018-04-12 2018-06-29 厦门安胜网络科技有限公司 一种在沙箱中获取https数据的方法、装置、设备及可读介质
CN109343937A (zh) * 2018-10-07 2019-02-15 张维加 一种跨设备部署的分布式计算***
CN109413189A (zh) * 2018-11-05 2019-03-01 张维加 一种基于底层转译的电子交易***
CN110059453A (zh) * 2019-03-13 2019-07-26 中国科学院计算技术研究所 一种容器虚拟化安全加固装置及方法
CN111523114A (zh) * 2020-03-11 2020-08-11 国网辽宁省电力有限公司大连供电公司 基于安全沙箱技术的移动业务应用数据防泄密***
CN111708660A (zh) * 2020-06-17 2020-09-25 山东山大电力技术股份有限公司 一种基于容器沙箱的备份***、恢复***及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11281767B2 (en) * 2018-03-23 2022-03-22 International Business Machines Corporation Secure system state extraction software extensibility via plugin sandboxing

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106030602A (zh) * 2014-03-28 2016-10-12 英特尔公司 基于虚拟化的块内工作负荷隔离
CN106557701A (zh) * 2016-11-28 2017-04-05 北京奇虎科技有限公司 基于虚拟机的内核漏洞检测方法及装置
CN106778244A (zh) * 2016-11-28 2017-05-31 北京奇虎科技有限公司 基于虚拟机的内核漏洞检测进程保护方法及装置
CN106845270A (zh) * 2017-01-17 2017-06-13 北京奇虎科技有限公司 一种无痕浏览方法及装置
CN108133153A (zh) * 2017-11-29 2018-06-08 北京京航计算通讯研究所 基于沙箱技术的云存储安全访问方法
CN108234526A (zh) * 2018-04-12 2018-06-29 厦门安胜网络科技有限公司 一种在沙箱中获取https数据的方法、装置、设备及可读介质
CN109343937A (zh) * 2018-10-07 2019-02-15 张维加 一种跨设备部署的分布式计算***
CN109413189A (zh) * 2018-11-05 2019-03-01 张维加 一种基于底层转译的电子交易***
CN110059453A (zh) * 2019-03-13 2019-07-26 中国科学院计算技术研究所 一种容器虚拟化安全加固装置及方法
CN111523114A (zh) * 2020-03-11 2020-08-11 国网辽宁省电力有限公司大连供电公司 基于安全沙箱技术的移动业务应用数据防泄密***
CN111708660A (zh) * 2020-06-17 2020-09-25 山东山大电力技术股份有限公司 一种基于容器沙箱的备份***、恢复***及方法

Also Published As

Publication number Publication date
CN112241309A (zh) 2021-01-19

Similar Documents

Publication Publication Date Title
US11100253B2 (en) Enforcing restrictions related to a virtualized computer environment
CN109783188B (zh) 用于安全公共云的密码存储器所有权表
CN107077428B (zh) 保护应用秘密的方法、电子***和计算机存储介质
US9300640B2 (en) Secure virtual machine
EP2913956B1 (en) Management control method and device for virtual machines
US9342343B2 (en) Wrapped nested virtualization
EP3326104B1 (en) Technologies for secure trusted i/o access control
US7428636B1 (en) Selective encryption system and method for I/O operations
CN110348204B (zh) 一种代码保护***、认证方法、装置、芯片及电子设备
US11714895B2 (en) Secure runtime systems and methods
KR101323858B1 (ko) 가상화 시스템에서 메모리 접근을 제어하는 장치 및 방법
US20200409740A1 (en) Systems, methods, and media for trusted hypervisors
US11327782B2 (en) Supporting migration of virtual machines containing enclaves
US20230403299A1 (en) Providing Access to Data in a Secure Communication
CN112241309B (zh) 一种数据安全方法、装置、cpu、芯片及计算机设备
WO2015148834A1 (en) Virtualization based intra-block workload isolation
US20190303305A1 (en) Systems and methods for providing secure memory
US10348500B2 (en) Key material management
CN112256394B (zh) 一种进程安全方法、装置、cpu、芯片及计算机设备
JP2004272816A (ja) マルチタスク実行システム及びマルチタスク実行方法
WO2019209893A1 (en) Operating system on a computing system
CN114499867B (zh) 可信根管理方法、装置、设备及存储介质

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
GR01 Patent grant
GR01 Patent grant