基于安全芯片的虚拟机监控器动态完整性检测方法与流程

文档序号:12123464阅读:219来源:国知局
基于安全芯片的虚拟机监控器动态完整性检测方法与流程

本发明涉及信息安全的技术领域,尤其涉及一种针对虚拟机监控器在运行过程中的完整性检测方法。



背景技术:

云计算把计算/存储/通讯资源集中在云端,通过互联网为用户提供各自服务。包括:基础设施即服务(Infrastructure-as-a-Service,IaaS),平台即服务(Platform-as-a-Service,PaaS),软件即服务(Software-as-a-Service,SaaS)。其中的基础设施方面的服务,为用户提供可伸缩性的计算/存储/通讯资源,是云计算的基础。

硬件资源的虚拟化是云计算应用中的核心技术,虚拟机监控器自身的安全,是保障运行在它之上的虚拟机的安全性的一个基本前提。因此虚拟机监控器的安全,尤其是虚拟机监控器在计算节点运行过程中的动态安全检测、动态完整性检测,是保障计算节点安全,以及云计算系统安全的关键技术。

如专利申请201310514456.5公布了一种基于VMM的软件完整性校验系统及其方法,该方法是在虚拟机中包括初始检测模块和循环检测模块,虚拟机监控器包括硬盘完整性校验模块、内存完整性校验模块以及哈希值计块。通过采用主动陷入虚拟机监控器的方式能够高效的进行完整性校验,通过创建循环检测线程实现了对内存的完整性校验。本发明可用于检测对软件可执行文件本身的恶意修改、软件的防破解,检测内存补丁对软件在内存中映像的修改。该方法利用虚拟机监控器所具有的系统最高权限,可以对硬盘文件的完整性和内存完整性进行检测,基于该机制,也可以对虚拟机监控器的硬盘文件,以及上载到内存中运行的虚拟机监控器代码进行完整性检测。但这些操作的前提假设是计算节点硬件系统是可信的,没有硬件木马和恶意电路来隐藏和旁路部分硬盘文件或内存区域。

专利申请201410371685.0公布了一种基于虚拟平台的安全可信运行保护方法,该专利申请在虚拟化平台中引入可信计算技术,通过LLVM的虚拟机监控器静态分析、TPM和IPMI的平台完整性远程验证、管理域虚拟机完整性度量、用户虚拟机完整性度量和基于软件行为的数据流一致性分析模块组成实现虚拟平台的安全可信运行保证模型。该申请是以TPM技术为核心,对用户虚拟机和用户进行动态度量,而虚拟机监控器和管理域虚拟机则是在系统启动过程中,基于TPM原理做静态分析。但TPM静态分析存在检测与运行相分离的TOCTOU缺陷,而攻击者所施行的攻击行为,往往是在系统运行过程中进行的,因此对虚拟机监控器的动态安全防护还需要加强。



技术实现要素:

本发明的目的在于提供一种基于安全芯片的虚拟机监控器动态完整性检测方法,该方法解决虚拟机监控器在计算节点运行中的动态完整性和安全性检测缺失的问题,同时在计算节点硬件系统可能存在硬件木马的情况下,对虚拟机监控器进行动态完整性检测,达到保障虚拟机监控器和计算节点安全的目的。

本发明的另一个目的是提供一种基于安全芯片的虚拟机监控器动态完整性检测方法,该方法能够有效地选取系统运行中的关键点进行安全检测,不但提高了检测的效率,同时也提高了检测的准确性。

本发明的目的是通过以下技术方案实现的。

一种基于安全芯片的虚拟机监控器动态完整性检测方法,其特征在于所述方法在虚拟机监控器中设置有安全监控器,同时在与计算节点相连接处设置有独立的硬件安全监控系统,虚拟机监控器与所述硬件安全监控系统进行通信,通过安全监控器和硬件安全监控系统来实现对虚拟机监控器的安全检测。

所述安全监控器采用和虚拟机监控器相同的粒度来监控相关的进程和操作,采集相关的进程和操作的运行参数供硬件安全监控系统做实时的分析,对虚拟机监控器的运行环境进行分析,并对发现的攻击行为采取相关的对策和防护处理。这部分检测操作实质上是起到了态势感知的作用。

进一步,在采集相关的进程和操作的运行参数这些关键的运行节点上,安全监控器采集虚拟机监控器的实时存储映像,通过独立的硬件安全监控系统对其完整性进行快速检测,有效防御恶意软件的入侵。

进一步,所述虚拟机监控器和安全监控器存储在硬件安全监控系统的安全存储区域,系统上电时通过密码安全通道上载到计算节点平台上,系统检测的可信根不依赖于计算节点硬件电路的安全性。

所述硬件安全监控系统是由一个接口与路由芯片和一组安全监控芯片组成,所述安全监控芯片具有多个,通过接口与路由芯片与虚拟机监控器进行通信,同时,芯片之间的通讯均采用安全加密的形式进行,保证了攻击者即使能够侦听和获取芯片间的通讯内容,也无法破解这些加密的通讯数据。

进一步,虚拟机监控器和安全监控器的程序代码均存储在安全监控芯片中,系统上电时通过密码安全通道将这些代码上载到计算节点平台上,保证了系统检测的可信根不依赖于计算节点硬件电路的安全性。

进一步,所述计算节点运行过程中虚拟机监控器进行动态检测。

所述动态检测的步骤为:

101、从硬件安全监控系统上载虚拟机监控器和安全监控器;

102、启动虚拟机监控器和安全监控器,虚拟机监控器和安全监控器的代码通过计算节点和硬件安全监控系统进行交叉校验;

103、虚拟机监控器和安全监控器进行系统管理和系统配置,启动虚拟机的分区配置和安全管理;上载本机操作系统和应用程序到对应分区并启动执行;

104、进行系统态势感知,上载安全监控软件到特定分区,启动该虚拟机并监控本机操作系统和应用程序的操作;

105、如果本机操作系统和应用程序遭到攻击,则虚拟机监控器暂停相关的进程,安全监控器获取虚拟机监控器和安全监控器的存储映像快照,通过硬件安全监控系统验证和分析虚拟机监控器和安全监控器的完整性;

如果虚拟机监控器和安全监控器没有受到入侵,则删除受到入侵的进程,系统回退到上一个安全执行点;如果虚拟机监控器和安全监控器受到入侵,则将攻击现场的相关数据存储到安全芯片中,计算节点强制关机。

106、启动并执行高等级安全应用,在本机操作系统和应用程序没有遭到攻击的情况下,如果用户发出明确的指示,虚拟机监控器和安全监控器将从安全监控芯片上载高安全应用所涉及的精简操作系统、中间件和应用程序到特定的安全分区,启动并执行高等级安全应用。

所述106步骤中,在高安全应用执行期间,该分区中操作系统、中间件和应用程序的完整性,将通过虚拟机监控器和安全监控器中的安全监控器获取它们的快照,并通过硬件安全监控系统的后台处理来进行验证。

进一步,硬件安全监控系统同时获取虚拟机监控器和安全监控器的存储映像快照,验证和分析虚拟机监控器和安全监控器的完整性。

进一步,在高安全应用执行期间,如果虚拟机监控器和安全监控器遭到入侵,或者高安全应用的分区遭到入侵,则硬件安全监控系统进行系统复位,撤销全部的虚拟机运行。

本发明实施例与现有技术相比,本发明具有以下优点:

1、通过检测虚拟机运行状况,获得计算节点当前的安全态势感知,能够有效地选取系统运行中的关键点进行安全检测,不但提高了检测的效率,同时也提高了检测的准确性。

2、采用独立的硬件安全监控系统中的安全存储区来保持虚拟机监控器和安全监控器的代码文件,保证了系统检测的可信根不依赖于计算节点硬件电路的安全性。

3、采用独立的硬件安全监控系统来对采样数据和虚拟机监控器的实时存储映像进行检测,有效规避了计算节点硬件系统自身的安全缺陷、硬件木马/逻辑炸弹,保证了检测操作的独立性和有效性。

4、硬件安全监控系统上执行的安全检测操作是与计算节点的系统运行并行执行的,因此,这样的处理也降低了安全检测运算在计算节点上执行所带来的性能损耗。

附图说明

图1是本发明所实施的系统构成框图。

图2是本发明所实施的独立硬件安全监控系统的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明所实现的虚拟机监控器动态完整性检测方法,是基于图1所示的计算节点安全加固系统来进行的。其中在虚拟机监控器中加入安全监控器,同时连接了用于安全监控和完整性检测的独立的硬件安全监控系统。

本发明的具体实施分为计算节点的安全加固和虚拟机监控器的动态检测两部分:

第1部分:计算节点的安全加固。

计算节点的安全加固包含下面两方面的内容:

(1)虚拟机监控器和安全监控器的功能融合。

由于虚拟机监控器位于操作系统之下,硬件系统之上,它对软件和硬件的调度具有最高的优先权,基于虚拟机监控器就可以实现方便、高效的安全监控机制。如图1所示,我们在虚拟机监控器的基础上加入了一个安全监控器。

对于虚拟机中的操作系统和应用软件的运行而言,由于执行进程的调度和对硬件资源的访问都是通过虚拟机监控器的管理来实现的,因此安全监控器就可以采用和虚拟机监控器相同的粒度来监控相关的进程和操作,采集相关的进程和操作的运行参数供安全监控系统做实时的分析,并对发现的攻击行为采取相关的对策和防护处理。对于虚拟机监控器的检测而言,对虚拟机运行状态的检测,可以起到计算节点当前态势感知的作用,这对于有针对性地选择虚拟机监控器的检测点,提高安全检测的效率,具有重要的作用。

(2)独立的硬件安全监控系统。

不同于目前业界广泛采用的以软件形式实现的虚拟机安全监控器,我们设计并实现了独立的硬件安全监控系统。硬件安全监控系统的组成如图2所示,它由一个接口与路由芯片和一组安全监控芯片组成,这些芯片均采用最高等级的安全防护设计,保证这些芯片即使落入攻击者手里,攻击者也无法破解这些芯片。同时这些芯片之间的通讯均采用安全加密的形式进行,保证了攻击者即使能够侦听和获取芯片间的通讯内容,也无法破解这些加密的通讯数据。

虚拟机监控器和安全监控器的程序代码均存储在安全监控芯片中,系统上电时通过密码安全通道将这些代码上载到计算节点平台上,保证了系统检测的可信根不依赖于计算节点硬件电路的安全性。

第2部分:计算节点运行过程中虚拟机监控器的动态检测。

计算节点运行过程中虚拟机监控器的动态检测包含以下步骤:

101、从独立的硬件安全监控系统上载虚拟机监控器和安全监控器(简称安全微内核或微内核)。虚拟机监控器和安全监控器的代码完整性由安全芯片的安全存储功能来保证,上载之前,硬件安全监控系统对代码的完整性进行检测。计算节点和硬件安全监控系统通过密码安全通道进行代码传输,并对上载的代码进行完整性校验。

102、如果虚拟机监控器和安全监控器的代码通过计算节点和硬件安全监控系统的交叉校验,则启动安全微内核(虚拟机监控器+安全监控器)。否则,计算节点关机。

103、安全微内核进行系统管理和系统配置,启动虚拟机的分区配置和安全管理。

104、微内核从本机存储上载本机操作系统和应用程序到对应分区并启动执行。

105、按特定安全要求,微内核从安全监控芯片上载安全监控软件到特定分区,启动该虚拟机并监控本机操作系统和应用程序的操作。该安全监控软件起到系统态势感知的作用。

106、如果本机操作系统和应用程序遭到攻击,则虚拟机监控器暂停相关的进程,安全监控器获取安全微内核(虚拟机监控器+安全监控器)的存储映像快照,通过硬件安全监控系统验证和分析微内核的完整性。如果安全微内核没有受到入侵,则删除受到入侵的进程,系统回退到上一个安全执行点;如果安全微内核受到入侵,则将攻击现场的相关数据存储到安全芯片中,计算节点强制关机。

107、启动并执行高等级安全应用。在本机操作系统和应用程序没有遭到攻击的情况下,如果用户发出明确的指示,微内核将从安全监控芯片上载高安全应用所涉及的精简操作系统、中间件和应用程序到特定的安全分区,启动并执行高等级安全应用。

108、在高安全应用执行期间,该分区中操作系统、中间件和应用程序的完整性,将通过微内核中的安全监控器获取它们的快照,并通过硬件安全监控系统的后台处理来进行验证。

109、硬件安全监控系统同时获取微内核的存储映像快照,验证和分析微内核的完整性。

110、在高安全应用执行期间,如果微内核遭到入侵,或者高安全应用的分区遭到入侵,则硬件安全监控系统进行系统复位,撤销全部的虚拟机运行。

111、如果高安全应用顺利完成,则微内核撤销对应的虚拟机和安全分区,调度本机操作系统和应用程序转入执行。

因此,本发明通过检测虚拟机运行状况,获得计算节点当前的安全态势感知,能够有效地选取系统运行中的关键点进行安全检测,不但提高了检测的效率,同时也提高了检测的准确性。采用独立的硬件安全监控系统中的安全存储区来保持虚拟机监控器和安全监控器的代码文件,保证了系统检测的可信根不依赖于计算节点硬件电路的安全性。采用独立的硬件安全监控系统来对采样数据和虚拟机监控器的实时存储映像进行检测,有效规避了计算节点硬件系统自身的安全缺陷、硬件木马/逻辑炸弹,保证了检测操作的独立性和有效性。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1