当前位置: 首页 > 专利查询>四川大学专利>正文

一种虚拟机进程代码的无代理分页式度量系统和方法技术方案

技术编号:15746541 阅读:55 留言:0更新日期:2017-07-03 02:05
本发明专利技术公开一种虚拟机进程代码的无代理分页式度量系统和方法,系统包括捕获模块、度量模块、对比模块、基值库和日志;捕获模块设置度量点,捕获虚拟机中发生的系统事件,采用VMI技术重构虚拟机当前执行进程的进程信息;度量模块根据进程信息,将虚拟机进程代码按照虚拟机物理页大小进行划分,为每个页生成页信息,并根据页信息度量被加载进入虚拟机物理内存的代码页,生成度量信息;对比模块根据代码页的度量信息,结合基值库中的基值进行对比,分析其完整性,并将对比信息写入日志;基值库中存储代码页的基值信息;日志记录代码页度量过程的对比信息。本发明专利技术解决了虚拟机动态分配内存方式导致Hypervisor无法度量完整虚拟机进程代码的问题。

An agent free paging metric system and method for virtual machine process code

No proxy paging measurement system and method of the present invention discloses a process virtual machine code system, including capture module, measurement module, comparison module, base value database and log; capture module setting measurement point, event capture system in the virtual machine, using VMI technology to reconstruct the current virtual machine implementation process information according to the process information; measurement module, the process virtual machine virtual machine code according to the physical page size to be divided, generate page information for each page, and according to the page information metric is loaded into the virtual machine physical memory code page, generates metric information; comparison module according to the code page of the metric information, combined with the base value in the library base the value of comparison, analysis of its integrity, and comparing the information to the log; base base stored in the library code page value information; logging code page measure Process contrast information. The invention solves the problem that the virtual machine dynamically allocates memory mode and leads to the fact that Hypervisor can not measure the whole virtual machine process code.

【技术实现步骤摘要】
一种虚拟机进程代码的无代理分页式度量系统和方法
本专利技术涉及虚拟机安全监控
,具体涉及一种虚拟机进程代码的无代理分页式度量系统和方法。
技术介绍
虚拟化技术是云计算平台的核心技术之一,随着云计算服务的大量应用,云计算平台中的安全成为关注焦点。一般情况下,部署在云上的关键业务需要长时间运行,为用户提供服务,而业务的安全性、稳定性和可用性则是保证服务质量的关键需求。一方面,虚拟机操作系统作为关键业务的载体,存在不同程度的安全缺陷,如系统配置、代码漏洞等;另一方面,关键业务自身代码也存在漏洞等。恶意软件可以利用操作系统和业务系统的漏洞修改关键业务代码,以伪装自身存在、窃取敏感数据等,严重威胁关键业务的稳定运行。因此,尽早发现针对关键业务的篡改,有必要对虚拟机进程代码完整性进度量。现代操作系统一般采用分页机制实现内存管理,为用户态进程分配连续的逻辑地址空间,但以物理页为单位,采用按需分配的方式动态分配物理内存,只加载需要立即访问的代码或数据。完整性验证流程一般包括度量和验证两个部分:度量部分负责收集系统内部信息并发送到验证部分;验证部分负责保存原始基值,并与接收的度量信息进行比较以验证完整性。在云环境下针对虚拟机系统进行度量的方法中,根据度量部分的部署位置,可以分为两类:一类是将度量部分部署在虚拟机中;另一类是将度量部分部署在Hypervisor中。第一类方法可以获取丰富的虚拟机系统信息,但存在缺陷:1)依赖目标虚拟机版本,通用性不强;2)易受虚拟机内部恶意软件的攻击,需要Hypervisor提供额外的防护措施,增加了系统的复杂性。第二类方法利用Hypervisor具有的高特权级和隔离性,避免度量部分受到来自虚拟机的恶意攻击,但同时也面临挑战:虚拟机为内部进程动态分配物理内存并加载代码或数据,处于Hypervisor的度量部分难以完整地获取虚拟机进程代码或数据并对其进行完整性验证。
技术实现思路
针对上述问题,本专利技术的目的在于提供一种能够对虚拟机进程完整性进行度量的虚拟机进程代码的无代理分页式度量系统和方法,以解决虚拟机动态分配内存方式导致Hypervisor无法度量完整虚拟机进程代码段的问题。技术方案如下:一种虚拟机进程代码的无代理分页式度量系统,包括捕获模块、度量模块、基值库、对比模块和日志;捕获模块在Hypervisor层设置度量点,捕获虚拟机中发生的系统事件;捕获到系统事件后,采用VMI(VirtualMachineIntrospection虚拟机内省)技术进行语义重构,获取虚拟机当前执行进程的进程信息,并将进程信息传递到度量模块;度量模块接收捕获模块传递的虚拟机进程信息,以虚拟机物理页大小为单位,将虚拟机进程代码段划分为多个代码页,生成每个代码页的页信息;根据页信息,判断代码页是否被加载进入虚拟机物理内存中:若被加载入虚拟机物理内存中,则度量此代码页,生成代码页度量信息;若未被加载入虚拟机物理内存中,则忽略此代码页的度量;并将生成代码页度量信息传递到对比模块;基值库为存储所有的虚拟机进程代码页的度量基值信息的列表;对比模块接收度量模块传递的度量信息,读取基值库中的基值信息;将度量信息与基值信息进行对比,并将对比信息写入日志中;日志用于接收并记录度量对比传送的对比信息。进一步的,所述度量点为触发Hypervisor层度量过程的虚拟机系统事件。更进一步的,所述系统事件为虚拟机系统中引发虚拟机退出事件的系统行为,包括但不限于进程系统调用、进程切换、缺页异常。更进一步的,所述进程信息为Hypervisor度量虚拟机进程代码所需的基本信息,包括但不限于虚拟机进程名称、虚拟机进程代码起始地址、虚拟机进程代码长度;所述虚拟机进程代码起始地址是被度量虚拟机进程代码的虚拟地址。更进一步的,所述页信息为Hypervisor度量虚拟机进程代码页所需的基本信息,包括但不限于虚拟机进程名称、页编号、页起始地址和页长度;所述页起始地址是虚拟机进程代码页的虚拟地址。更进一步的,所述度量信息为对比模块执行对比过程所需的基本信息,包括但不限于虚拟机进程名称、代码页编号、代码页度量值和代码页长度。更进一步的,所述基值信息为代码页在正常状态下的可信度量信息,可信度量信息包括但不限于进程名、代码页编号和代码页度量值。更进一步的,所述对比信息为虚拟机进程代码页度量值与虚拟机进程代码页基值信息的对比结果,包括但不限于进程名、代码页编号、度量值、基值、对比结果、对比时间。一种虚拟机进程代码的无代理分页式度量方法,包括以下步骤:A:在虚拟机运行过程中,进程通过系统调用陷入指令访问内核系统调用处理程序;B:虚拟机在调用系统调用陷入指令访问内核系统调用处理程序时,产生虚拟机退出事件;C:捕获模块捕获虚拟机中产生的虚拟机退出事件,并通过VMI技术重构虚拟机进程语义信息,再传递到度量模块;D:度量模块接收到虚拟机进程信息后,根据虚拟机进程代码起始地址和虚拟机进程代码长度,以虚拟机物理页大小划分多个代码页,并生成页信息;再根据页信息中的虚拟机进程代码页编号和虚拟机进程代码页起始地址,访问虚拟机物理内存判断代码页是否被加载;若被加载,则对代码页进行度量,生成度量信息传递到对比模块;若未被加载,则忽略此代码页的度量过程;E:对比模块对比接收到的度量信息和从基值库中读取的基值信息,并将对比信息传递到日志中;恢复虚拟机系统调用处理程序的执行;F:系统调用处理程序在虚拟机内核中按照正常流程继续执行,执行完毕后调用系统调用退出指令恢复进程的正常运行。本专利技术的有益效果是:(1)本专利技术将虚拟机进程代码划分为多个页,并对被加载进入虚拟机内存的代码页进行度量,解决了虚拟机动态分配内存方式导致Hypervisor无法度量完整虚拟机进程代码的问题;(2)本专利技术将度量流程部署在Hypervisor层,采用无代理的方式透明、动态地度量虚拟机进程代码,无需修改虚拟机内核;同时,度量流程位于虚拟机之外,避免了虚拟机内部恶意软件的攻击,提升了安全性;(3)本专利技术采用的度量方式,可以用于度量虚拟机其他信息,包括但不限于虚拟机内核静态数据、虚拟机进程静态数据等。附图说明图1为本专利技术非代理虚拟机进程系统调用行为监控方法框图。图2为本专利技术透明捕获虚拟机系统调用流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图和具体实施例对本专利技术做进一步地详细描述。本系统的实现原理如下:在Hypervisor层设置度量点,拦截虚拟机进程引发的系统事件,利用VMI技术读取虚拟机进程信息。根据读取的虚拟机进程信息,以虚拟机物理页为单位,将虚拟机进程代码划分为多个代码页,确定每个代码页的编号和起始地址。在Hypervisor层根据每个代码页的起始地址,判断每个代码页是否被加载进入虚拟机物理内存中;若代码页被加载进入虚拟机物理内存中,则在Hypervisor层度量此代码页;若未被加载进入虚拟机物理内存中,则忽略对此代码页的度量。根据进程信息、代码页编号和度量值,读取基值库中相应的基值并进行对比,验证每个代码页的完整性,并记录到日志中。如图1所示,本实施例的虚拟机进程代码的无代理分页式度量系统包括捕获模块、度量模块、基值库、对比模块和日志。1)捕获模块在Hypervisor层设置度量点本文档来自技高网
...
一种虚拟机进程代码的无代理分页式度量系统和方法

【技术保护点】
一种虚拟机进程代码的无代理分页式度量系统,其特征在于,包括捕获模块、度量模块、基值库、对比模块和日志;捕获模块在Hypervisor层设置度量点,捕获虚拟机中发生的系统事件;捕获到系统事件后,采用VMI技术进行语义重构,获取虚拟机当前执行进程的进程信息,并将进程信息传递到度量模块;度量模块接收捕获模块传递的虚拟机进程信息,以虚拟机物理页大小为单位,将虚拟机进程代码划分为多个代码页,生成每个代码页的页信息;根据页信息,判断代码页是否被加载进入虚拟机物理内存中:若被加载入虚拟机物理内存中,则度量此代码页,生成代码页度量信息;若未被加载入虚拟机物理内存中,则忽略此代码页的度量;并将生成代码页度量信息传递到对比模块;基值库为存储所有的虚拟机进程代码页的度量基值信息的列表;对比模块接收度量模块传递的度量信息,读取基值库中的基值信息;将度量信息与基值信息进行对比,并将对比信息写入日志中;日志用于接收并记录对比模块传送的对比信息。

【技术特征摘要】
1.一种虚拟机进程代码的无代理分页式度量系统,其特征在于,包括捕获模块、度量模块、基值库、对比模块和日志;捕获模块在Hypervisor层设置度量点,捕获虚拟机中发生的系统事件;捕获到系统事件后,采用VMI技术进行语义重构,获取虚拟机当前执行进程的进程信息,并将进程信息传递到度量模块;度量模块接收捕获模块传递的虚拟机进程信息,以虚拟机物理页大小为单位,将虚拟机进程代码划分为多个代码页,生成每个代码页的页信息;根据页信息,判断代码页是否被加载进入虚拟机物理内存中:若被加载入虚拟机物理内存中,则度量此代码页,生成代码页度量信息;若未被加载入虚拟机物理内存中,则忽略此代码页的度量;并将生成代码页度量信息传递到对比模块;基值库为存储所有的虚拟机进程代码页的度量基值信息的列表;对比模块接收度量模块传递的度量信息,读取基值库中的基值信息;将度量信息与基值信息进行对比,并将对比信息写入日志中;日志用于接收并记录对比模块传送的对比信息。2.根据权利要求1所述的虚拟机进程代码的无代理分页式度量系统,其特征在于,所述度量点为触发Hypervisor层度量过程的虚拟机系统事件。3.根据权利要求1或2所述的虚拟机进程代码的无代理分页式度量系统,其特征在于,所述系统事件为虚拟机系统中引发虚拟机退出事件的系统行为,包括但不限于进程系统调用、进程切换、缺页异常。4.根据权利要求1所述的虚拟机进程代码的无代理分页式度量系统,其特征在于,所述进程信息为Hypervisor度量虚拟机进程代码所需的基本信息,包括但不限于虚拟机进程名称、虚拟机进程代码起始地址、虚拟机进程代码长度;所述虚拟机进程代码起始地址是被度量虚拟机进程代码的虚拟地址。5.根据权利要求1所述的虚拟机进程代码的无代理分页式度量系统,其特征在于,所述页信息为Hypervisor度量虚拟机进程代码页所需的基本信息,包...

【专利技术属性】
技术研发人员:陈兴蜀赵成金鑫蔡梦娟金逸灵王伟
申请(专利权)人:四川大学
类型:发明
国别省市:四川,51

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

1