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

一种基于IO序列的虚拟机异常行为检测方法与系统技术方案

技术编号:15289733 阅读:91 留言:0更新日期:2017-05-10 16:43
本发明专利技术公开了一种基于IO序列的虚拟机异常行为检测方法与系统,其中,检测系统包括异步采集模块、进程获取模块、通信模块和检测模块;异步虚拟机IO序列采集技术,通过在VMM中异步采集虚拟机IO序列来最大程度地减小虚拟机运行过程中的性能损耗;虚拟机IO序列进程语义动态获取技术,利用VMM层动态获取虚拟机进程语义来实现虚拟机IO序列与虚拟机进程的合理映射,从而有助于IO序列的规律分析和对检测结果的确认;基于马尔科夫链的虚拟机恶意行为检测技术,结合虚拟机IO短序列与马尔科夫链构造异常检测模型来完成虚拟机内部恶意行为检测。本发明专利技术准确发现基于虚拟机IO的异常攻击行为,保护云计算平台的安全。

Method and system for detecting abnormal behavior of virtual machine based on IO sequence

The invention discloses a method and system for the detection of abnormal behavior, the virtual machine based on IO sequence detection system, including asynchronous acquisition module, the process of acquiring module, communication module and detection module; sequence acquisition technology of asynchronous IO virtual machine, VMM through asynchronous acquisition of virtual machine IO sequence to minimize the performance loss the virtual machine is running in the process of virtual machine; IO sequence process dynamic semantic acquisition technology, reasonable mapping to realize virtual machine IO sequence and process virtual machine virtual machine process using VMM dynamic semantic access layer, which contributes to the IO sequence analysis and test results to confirm the virtual machine; malicious behavior detection of Markov chain based on the technology of anomaly detection model to complete the internal malicious behavior detection based on virtual machine virtual machine IO short sequence and Markov chain structure. The invention accurately finds out the abnormal attack behavior based on the virtual machine IO, and protects the security of the cloud computing platform.

【技术实现步骤摘要】

本专利技术涉及虚拟化安全
,尤其是涉及一种基于IO序列的虚拟机异常行为检测方法与系统
技术介绍
以虚拟化技术为基础的云计算服务快速发展使得在云计算环境下的安全风险也日益增多。除了传统的基于主机的安全威胁,诸如计算机病毒、木马、内核Rootkit等外,还有一些新的安全威胁,如虚拟机逃逸攻击等。这类攻击利用虚拟机对宿主机进行攻击,常通过虚拟机利用宿主机操作系统或Hypervisor存在的安全漏洞,达到篡取宿主机操作系统或Hypervisor权限的目的。传统的在主机上基于系统调用序列的程序异常行为检测方法中,以应用程序产生的系统调用为研究粒度,针对系统调用序列包含大量具有周期性重复规律短序列的特点,通过计算偏离正常系统调用短序列的程度来预测程序在执行过程中存在的异常行为。但在云计算环境下,这种技术不能够发现某些利用虚拟机内核或虚拟机内核模块进行的恶意攻击行为,如虚拟机逃逸攻击。伴随在虚拟化领域引入硬件辅助虚拟化技术,虚拟机通过I/O模拟操作实现对真实物理硬件设备的访问,由此产生的IO序列同样是一个具有周期性重复规律短序列的有序序列。在Hypervisor中采集的虚拟机IO序列不仅反映了虚拟机应用程序的行为特征,也反映了虚拟机内核及内核模块的行为特征。虚拟机IO序列刻画了虚拟机对宿主机上硬件设备的操作情况,可以在一定程度上描述虚拟机自身的行为。现存的技术难点主要有:(1)引入硬件辅助虚拟化后,虚拟机在运行过程中对硬件设备的I/O读写操作较为频繁,不恰当的虚拟机IO序列采集方法将会造成大量的性能损耗;(2)采集到的虚拟机IO序列是底层Hypervisor理解的二进制语义,将其映射成为虚拟机内的高级语义可以细粒度地描述虚拟机自身的行为,对分析IO序列的规律和制定异常检测规则至关重要;(3)传统的基于主机系统调用序列的方法有短序列枚举法、数据挖掘法、神经网络法等,但云计算环境下相较于单台主机而言存在的安全威胁更为繁杂,单一的检测方法所带来的局限性已不能满足当前云计算环境的需求。
技术实现思路
本专利技术所要解决的技术问题是提供公开了一种基于IO序列的虚拟机异常行为检测方法与系统,用于发现基于虚拟机IO的异常攻击行为,例如一些利用Qemu逻辑漏洞的虚拟机逃逸攻击,保护云计算平台的安全。为解决上述技术问题,本专利技术采用的技术方案是:一种基于IO序列的虚拟机异常行为检测方法,包括以下步骤:步骤1:截获虚拟机I/O模拟操作,提取所需的虚拟机IO序列并保存于数据缓存区,唤醒自定义内核线程异步采集虚拟机IO序列,恢复VMM正常执行流程;步骤2:在VMM中实时透明地获取虚拟机进程信息,构造虚拟机进程信息与虚拟机IO序列的合理映射关系;步骤3:将自定义内核线程中采集到的虚拟机IO序列与对应的虚拟机进程信息保存到宿主机用户层的数据库中;步骤4:对正常情况下得到的虚拟机IO序列进行行为特征建模,生成正常特征库模型;步骤5:对待测情况下得到的待测虚拟机IO序列构造待测模型,比对正常特征库模型,将待测样本中的恶意虚拟机IO序列与对应的虚拟机进程信息输出到检测日志。根据上述方案,所述步骤5具体为:步骤5.1:检测模块读取数据库,将待测虚拟机IO序列构造生成虚拟机IO短序列;步骤5.2:定义一个检测单元为由w个短序列构成的虚拟机IO短序列集;步骤5.3:计算一个检测单元中虚拟机IO短序列集的状态转移概率矩阵;步骤5.4:由状态转移概率矩阵得到一个检测单元中虚拟机IO短序列集的产生概率Pw,若Pw小于规定的阈值ε,判定当前检测单元内虚拟机IO短序列为非法,将非法虚拟机IO短序列和对应虚拟机进程信息输出到检测日志。一种基于IO序列的虚拟机异常行为检测系统,包括异步采集模块、进程获取模块、通信模块和检测模块;所述异步采集模块:截获虚拟机I/O模拟操作,提取所需的虚拟机IO序列并保存于数据缓存区,唤醒位于所述通信模块的自定义内核线程,恢复VMM正常执行流程;所述进程获取模块:在VMM中实时透明地获取虚拟机进程信息,构造虚拟机进程信息与虚拟机IO序列的合理映射关系;所述通信模块:分为通信模块服务端子模块与通信模块客户端子模块,实现数据从宿主机内核层到宿主机用户层的有效传输,并将数据保存至数据库;所述检测模块:读取数据库中的待测虚拟机IO序列,采用马尔科夫链建模得到待测模型,比对待测模型与正常特征库并将检测结果输出到检测日志,检测日志中包括了恶意的虚拟机IO序列与对应的虚拟机进程信息。根据上述方案,所述通信模块采用全双工通信机制。与现有技术相比,本专利技术的有益效果是:1)通过在VMM中异步采集虚拟机IO序列来最大程度地减小虚拟机运行过程中的性能损耗;2)利用VMM层动态获取虚拟机进程语义来实现虚拟机IO序列与虚拟机进程的合理映射,从而有助于IO序列的规律分析和对检测结果的确认;3)基于马尔科夫链的虚拟机恶意行为检测技术,结合虚拟机IO短序列与马尔科夫链构造异常检测模型来完成虚拟机内部恶意行为检测,发现基于虚拟机IO的异常攻击行为,保护云计算平台的安全。附图说明图1是基于IO序列的虚拟机异常行为检测系统总体架构图。图2是虚拟机IO序列异步采集时序图。图3是虚拟机进程语义实时获取示意图。图4是本专利技术检测方法流程图。具体实施方式下面结合附图和具体实施方式对本专利技术作进一步详细的说明。附图1给出了本专利技术中基于IO序列的KVM(Kernel-basedVirtualMachine)虚拟机异常行为检测系统总体架构图。如图1所示,该系统可用于检测虚拟机内部存在的恶意行为并及时防止已知的虚拟机逃逸攻击,包括异步采集模块、进程获取模块、通信模块和检测模块。异步采集模块截获虚拟机的I/O模拟操作,提取所需的虚拟机IO序列并保存于数据缓存区,唤醒位于所述通信模块的自定义内核线程,并恢复VMM正常执行流程。附图2给出了所述异步采集模块的时序图。异步采集模块位于VMM内部,声明了一定大小的数据缓存区用于缓存采集到的虚拟机IO序列。在虚拟机产生I/O模拟操作时会实时截获当前操作,提取所需的虚拟机IO序列并保存于数据缓存区。唤醒自定义内核线程并恢复VMM(VirtualMachineMonitor)正常执行流程。定义并导出数据缓存区读指针与写指针,用于实现数据缓冲区到自定义内核线程的异步采集过程。进程获取模块在VMM中实时透明地获取虚拟机进程信息,构造虚拟机进程信息与虚拟机IO序列的合理映射关系。附图3给出了所述进程获取模块的示意图。进程获取模块位于VMM内部,不需要修改虚拟机操作系统可以实时透明获取虚拟机进程信息。并建立获取到的虚拟机IO序列与虚拟机进程信息的映射关系。在虚拟机退出时,虚拟机的状态处于内核态。当前虚拟机的内核栈栈顶指针被保存在VCPU的堆栈段寄存器ESP中。以32位Linux操作系统为例,根据进程内核栈栈帧和thread_info结构体存放在一块独立8K大小的内存区域。屏蔽ESP的低13位即可以得到thread_info结构体的地址,并进一步得到虚拟机进程结构体task_struct结构体的地址。VCPU的CR3控制寄存器保存了虚拟机当前运行进程的页目录基地址,利用控制寄存器CR3作为索引项,得到虚拟机进程信息与虚拟机IO序列的映射关系。通信模块分本文档来自技高网
...
一种基于IO序列的虚拟机异常行为检测方法与系统

【技术保护点】
一种基于IO序列的虚拟机异常行为检测方法,其特征在于,包括以下步骤:步骤1:截获虚拟机I/O模拟操作,提取所需的虚拟机IO序列并保存于数据缓存区,唤醒自定义内核线程异步采集虚拟机IO序列,恢复VMM正常执行流程;步骤2:在VMM中实时透明地获取虚拟机进程信息,构造虚拟机进程信息与虚拟机IO序列的合理映射关系;步骤3:将自定义内核线程中采集到的虚拟机IO序列与对应的虚拟机进程信息保存到宿主机用户层的数据库中;步骤4:对正常情况下得到的虚拟机IO序列进行行为特征建模,生成正常特征库模型;步骤5:对待测情况下得到的待测虚拟机IO序列构造待测模型,比对正常特征库模型,将待测样本中的恶意虚拟机IO序列与对应的虚拟机进程信息输出到检测日志。

【技术特征摘要】
1.一种基于IO序列的虚拟机异常行为检测方法,其特征在于,包括以下步骤:步骤1:截获虚拟机I/O模拟操作,提取所需的虚拟机IO序列并保存于数据缓存区,唤醒自定义内核线程异步采集虚拟机IO序列,恢复VMM正常执行流程;步骤2:在VMM中实时透明地获取虚拟机进程信息,构造虚拟机进程信息与虚拟机IO序列的合理映射关系;步骤3:将自定义内核线程中采集到的虚拟机IO序列与对应的虚拟机进程信息保存到宿主机用户层的数据库中;步骤4:对正常情况下得到的虚拟机IO序列进行行为特征建模,生成正常特征库模型;步骤5:对待测情况下得到的待测虚拟机IO序列构造待测模型,比对正常特征库模型,将待测样本中的恶意虚拟机IO序列与对应的虚拟机进程信息输出到检测日志。2.如权利要求1所述的一种基于IO序列的虚拟机异常行为检测方法,其特征在于,所述步骤5具体为:步骤5.1:检测模块读取数据库,将待测虚拟机IO序列构造生成虚拟机IO短序列;步骤5.2:定义一个检测单元为由w个短序列构成的虚拟机IO短序列集;步骤5.3:计算一个检测单元中虚拟机IO短序列集的状态转移概率矩阵;步骤5.4:由状态转移概率矩...

【专利技术属性】
技术研发人员:陈兴蜀陈佳昕赵丹丹金鑫
申请(专利权)人:四川大学
类型:发明
国别省市:四川;51

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

1