基于ARM TrustZone的容器隔离性增强系统技术方案

技术编号:19319872 阅读:40 留言:0更新日期:2018-11-03 10:40
本发明专利技术提供了一种基于ARM TrustZone的容器隔离性增强系统,包括:运行于用户端的容器管理客户端;运行于服务器端普通世界中的不可信操作系统、不可信容器管理模块以及可信执行环境;运行于服务器端安全世界中的页表管理模块、寄存器保护模块、系统调用挟持模块、文件系统安全增强模块、执行流同步服务安全增强模块、进程间通讯服务安全增强模块、可信容器镜像下载模块以及安全容器启动模块。本发明专利技术将现有应用程序安全运行在被攻击者完全控制的恶意操作系统之上;使得容器内不同用户的不同应用能够进行安全的通信与控制流同步;用户无需对现有镜像做任何修改。

Container isolation enhancement system based on ARM TrustZone

The invention provides a container isolation enhancement system based on ARM TrustZone, which includes: a container management client running on the client side; an untrusted operating system running on the server side in the common world, an untrusted container management module and a trusted execution environment; and a page table management running on the server side in the secure world. Module, register protection module, system call hijacking module, file system security enhancement module, execution stream synchronization service security enhancement module, inter-process communication service security enhancement module, trusted container mirror download module and security container startup module. The present invention runs the existing application program safely on the malicious operating system completely controlled by the attacker, enables different applications of different users in the container to synchronize secure communication and control flow, and the user does not need to make any modification to the existing image.

【技术实现步骤摘要】
基于ARMTrustZone的容器隔离性增强系统
本专利技术涉及虚拟化
,具体地,涉及一种基于ARMTrustZone的容器隔离性增强系统。
技术介绍
虚拟化技术能够在一台物理计算机上模拟出多个虚拟计算机,从而提升硬件的利用率,方便多个用户共享同一台物理设备。容器则是一种轻量级的虚拟化技术。不同的容器将会共享同一个操作系统内核,但是每个容器都拥有自己独立的文件系统、用户空间、进程空间等。相较于传统的虚拟化技术,容器拥有更短的启动时间、更快的性能以及更加便捷的部署方法。由于这些显著的优点,容器目前已经被广泛应用于服务器领域。基于容器,云端服务器能够快速、便捷地为每个用户创建其独立的运行环境。而越来越多的用户也选择将自己的数据存入位于云端的容器之中,从而得到更为快速、方便的用户体验。在拥有更快性能与更便捷部署方法的同时,容器的安全性一直饱受诟病。不同容器之间需要共享同一个操作系统内核,一旦该内核被攻破,那么容器之间的隔离性将被破坏。与此同时,操作系统内核因其庞大的代码量,一直存在着数以千计的漏洞数量。在云计算环境下,一旦攻击者通过一个容器攻陷了操作系统内核,其将能操控云端中的所有容器。目前,ARM架构由于其较好的能源利用率,较高的性价比,正逐渐受到服务器领域的青睐。市场上已经存在了一系列基于ARM体系结构的处理器芯片。随之也引入了一个新的安全问题,一旦基于ARM的云端服务器中的操作系统被攻破,如何保证用户容器的安全性,防止攻击者控制用户容器中应用的执行流、窃取用户储存于容器中的敏感数据等等,成为本领域面临的重大问题。经过检索发现:1、Owen等人利用硬件虚拟化技术设计并实现了一个安全系统InkTag,能够保护应用程序,防止其受到不可信操作系统内核的攻击。InkTag为每个应用提供了一个独立的安全运行环境,阻止操作系统直接访问安全运行环境中的内存数据,从而保护应用程序的数据不被窃取、控制流不被篡改。同时,对于部分依赖于操作系统完成的服务,InkTag也将对其进行检查。但是,InkTag虽然防止了操作系统对于单一应用程序的攻击,但是其并不适用于容器环境。首先,该系统无法直接启动现有容器镜像,使得其具备保护容器的能力。其次,该系统也未考虑到容器本身多用户、多应用的复杂使用环境,无法保证容器内部不同用户应用之间通信、共享信息、权限控制的安全。2、为了保护容器的安全性,Arnautov等人利用Intel的SGX技术,设计实现了一个安全的容器保护系统SCONE。该系统利用SGX技术提供的可信执行环境enclave,保护每个单独的容器进程。由于硬件保证了任何enclave外部的软件(包括操作系统)都无法访问encalve的内存,干涉encalve内部的执行流,因此SCONE能够有效的保护一个容器应用的安全性,防止其受到不可信操作系统的攻击。但是,SCONE存在两个缺点:首先,其只能支持单应用单进程的容器。也就是说,一个容器中仅能够运行一个单进程的应用程序,极大的限制了容器的应用场景。同时SCONE也没有考虑多用户、多应用环境下,不同应用之间如何安全协同工作的问题;其次,SCONE要求对原有的容器镜像进行修改,因此不能直接运行原有的镜像。这一缺点使得用户无法运行Docker仓库中数百万的容器镜像,限制了容器的使用场景。综上所述,如何利用ARM平台自身体系结构的特点,为容器维护任意多个可信执行环境、如何在依赖不可信操作系统提供服务的同时防止其对容器应用进行攻击、如何兼容现有的容器镜像,成为本领域亟待解决的问题。目前没有发现同本专利技术类似技术的说明或报道,也尚未收集到国内外类似的资料
技术实现思路
针对现有技术中存在的上述不足,本专利技术的目的是提供一种基于ARMTrustZone的容器隔离性增强系统。该系统利用ARM平台自身体系结构的特点,为容器维护任意多个可信执行环境;在依赖不可信操作系统提供服务的同时,能够防止其对容器应用进行攻击;能够兼容现有的容器镜像。本专利技术是通过以下技术方案实现的。根据本专利技术的一个方面,提供了一种基于ARMTrustZone的容器隔离性增强系统,包括:运行于用户端的容器管理客户端;运行于服务器端普通世界中的不可信操作系统、不可信容器管理模块以及可信执行环境;运行于服务器端安全世界中的页表管理模块、寄存器保护模块、系统调用挟持模块、文件系统安全增强模块、执行流同步服务安全增强模块、进程间通讯服务安全增强模块、可信容器镜像下载模块以及安全容器启动模块;其中:所述容器管理客户端与服务器端普通环境中的任意数量的容器进行连接,并向容器发送用户指令;每一个容器均运行在一个可信执行环境中;所述不可信操作系统为容器的应用程序提供运行环境以及所需的服务;所述不可信容器管理模块提供了基本的容器管理操作;所述页表管理模块,寄存器保护模块以及系统调用挟持模块共同完成对任意数量的可信执行环境的维护;所述文件系统安全增强模块、执行流同步服务安全增强模块以及进程间通讯服务安全增强模块共同完成对不可信操作系统服务的安全性的增强,防止不可信操作系统通过提供恶意系统服务,窃取容器进程隐私数据和/或篡改容器进程控制流;所述可信容器镜像下载模块和安全容器启动模块共同完成对安全的容器管理功能的提供。优选地,所述可信执行环境中的硬件资源均不可被不可信操作系统直接访问。优选地,所述页表管理模块独占式管理整个不可信操作系统的所有页表,通过控制页表,保护容器进程的内存,限制不可信操作系统访问容器进程的内存。优选地,所述页表管理模块搜索不可信操作系统内核中所有管理页表的指令,并将这些替换为向页表管理模块发送对应请求;页表管理模块确保储存页表的物理内存页对于普通世界为只读,同时确保不可信操作系统内核的代码为不可写,实现页表管理模块对页表的独占式管理。优选地,所述寄存器保护模块保证不可信操作系统无法直接访问或修改可信执行环境的寄存器信息;其中,寄存器保护模块截获所有用户态进程与内核态的不可信操作系统内核之间的切换;在切换过程中,寄存器保护模块负责完成可信运行环境的寄存器保存以及恢复工作,从而保证不可信操作系统无法任意篡改和/或窃取可信运行环境的寄存器信息。优选地,所述用户态进程与内核态的不可信操作系统内核之间的切换,包括如下过程:所有用户态进入不可信操作系统内核的操作,均通过对异常的处理实现;对所有异常的处理均由被储存在异常向量表中的异常处理函数完成,所述异常向量表的地址被存储在物理寄存器中;寄存器保护模块将不可信操作系统中所有修改物理寄存器的指令替换为向寄存器保护模块发送对应请求,并在异常向量表维护的异常处理函数中插入一条切换指令(该指令为smc指令,是ARM处理器中的一条标准指令,其能够切换至安全世界,从而进入寄存器保护模块),确保所有进入不可信操作系统内核的行为都将被寄存器保护模块截获;由内核态退出至用户态,采用eret指令完成;寄存器保护模块确保不可信操作系统内核代码中不存在任何退出内核态的指令,所有退出操作均转发至寄存器保护模块完成,从而能够截获所有退出不可信操作系统内核的操作。优选地,所述系统调用挟持模块在对系统调用时触发的异常进行处理的处理函数处植入一个特定指令(该特定指令也称为特定钩子,是指一条smc指令,该指令将进入安全世界,从本文档来自技高网
...

【技术保护点】
1.一种基于ARM TrustZone的容器隔离性增强系统,其特征在于,包括:运行于用户端的容器管理客户端;运行于服务器端普通世界中的不可信操作系统、不可信容器管理模块以及可信执行环境;运行于服务器端安全世界中的页表管理模块、寄存器保护模块、系统调用挟持模块、文件系统安全增强模块、执行流同步服务安全增强模块、进程间通讯服务安全增强模块、可信容器镜像下载模块以及安全容器启动模块;其中:所述容器管理客户端与服务器端普通环境中的任意数量的容器进行连接,并向容器发送用户指令;每一个容器均运行在一个可信执行环境中;所述不可信操作系统为容器的应用程序提供运行环境以及所需的服务;所述不可信容器管理模块提供了基本的容器管理操作;所述页表管理模块,寄存器保护模块以及系统调用挟持模块共同完成对任意数量的可信执行环境的维护;所述文件系统安全增强模块、执行流同步服务安全增强模块以及进程间通讯服务安全增强模块共同完成对不可信操作系统服务的安全性的增强,防止不可信操作系统通过提供恶意系统服务,窃取容器进程隐私数据和/或篡改容器进程控制流;所述可信容器镜像下载模块和安全容器启动模块共同完成对安全的容器管理功能的提供...

【技术特征摘要】
1.一种基于ARMTrustZone的容器隔离性增强系统,其特征在于,包括:运行于用户端的容器管理客户端;运行于服务器端普通世界中的不可信操作系统、不可信容器管理模块以及可信执行环境;运行于服务器端安全世界中的页表管理模块、寄存器保护模块、系统调用挟持模块、文件系统安全增强模块、执行流同步服务安全增强模块、进程间通讯服务安全增强模块、可信容器镜像下载模块以及安全容器启动模块;其中:所述容器管理客户端与服务器端普通环境中的任意数量的容器进行连接,并向容器发送用户指令;每一个容器均运行在一个可信执行环境中;所述不可信操作系统为容器的应用程序提供运行环境以及所需的服务;所述不可信容器管理模块提供了基本的容器管理操作;所述页表管理模块,寄存器保护模块以及系统调用挟持模块共同完成对任意数量的可信执行环境的维护;所述文件系统安全增强模块、执行流同步服务安全增强模块以及进程间通讯服务安全增强模块共同完成对不可信操作系统服务的安全性的增强,防止不可信操作系统通过提供恶意系统服务,窃取容器进程隐私数据和/或篡改容器进程控制流;所述可信容器镜像下载模块和安全容器启动模块共同完成对安全的容器管理功能的提供。2.根据权利要求1所述的基于ARMTrustZone的容器隔离性增强系统,其特征在于,所述可信执行环境中的硬件资源均不能被不可信操作系统直接访问。3.根据权利要求1所述的基于ARMTrustZone的容器隔离性增强系统,其特征在于,所述页表管理模块独占式管理整个不可信操作系统的所有页表,通过控制页表,保护容器进程的内存,限制不可信操作系统访问容器进程的内存;所述页表管理模块搜索不可信操作系统内核中所有管理页表的指令,并将这些替换为向页表管理模块发送对应请求;页表管理模块确保储存页表的物理内存页对于普通世界为只读,同时确保不可信操作系统内核的代码为不可写,实现页表管理模块对页表的独占式管理。4.根据权利要求1所述的基于ARMTrustZone的容器隔离性增强系统,其特征在于,所述寄存器保护模块保证不可信操作系统无法直接访问或修改可信执行环境的寄存器信息;其中,寄存器保护模块截获所有用户态进程与内核态的不可信操作系统内核之间的切换;在切换过程中,寄存器保护模块负责完成可信运行环境的寄存器保存以及恢复工作,从而保证不可信操作系统无法任意篡改和/或窃取可信运行环境的寄存器信息;所述用户态进程与内核态的不可信操作系统内核之间的切换,包括如下过程:所有用户态进入不可信操作系统内核的操作,均通过对异常的处理实现;对所有异常的处理均由被储存在异常向量表中的异常处理函数完成,所述异常向量表的地址被存储在物理寄存器中;寄存器保护模块将不可信操作系统中所有修改物理寄存器的指令替换为向寄存器保护模块发送对应请求,并在异常向量表维护的异常处理函数中插入一条切换指令,确保所有进入不可信操作系统内核的行为都将被寄存器保护模块截获;由内核态退出至用户态,采用eret指令完成;寄存器保护模块确保不可信操作系统内核代码中不存在任何退出内核态的指令,所有退出操作均转发至寄存器保护模块完成,从而能够截获所有退出不可信操作系统内核的操作。5.根据权利要求1所述的基于ARMTrustZone的容器隔离性增强系统,其特征在于,所述系统调用挟持模块在对系统调用时触发的异常进行处理的处理函数处植入一个特定指令,确保所有的系统调用均由系统调用挟持模块处理。6.根据权利要求1所述的基于ARMTrustZone的容器隔离性增强系统,其特征在于,所述文件系统安全增强模块保证容器应用...

【专利技术属性】
技术研发人员:夏虞斌华志超陈海波臧斌宁
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海,31

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

1