CN106650434A - 一种基于io序列的虚拟机异常行为检测方法与系统 - Google Patents

一种基于io序列的虚拟机异常行为检测方法与系统 Download PDF

Info

Publication number
CN106650434A
CN106650434A CN201611224356.9A CN201611224356A CN106650434A CN 106650434 A CN106650434 A CN 106650434A CN 201611224356 A CN201611224356 A CN 201611224356A CN 106650434 A CN106650434 A CN 106650434A
Authority
CN
China
Prior art keywords
virtual machine
sequence
module
detection
progress information
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.)
Granted
Application number
CN201611224356.9A
Other languages
English (en)
Other versions
CN106650434B (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.)
Sichuan University
Original Assignee
Sichuan University
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 Sichuan University filed Critical Sichuan University
Priority to CN201611224356.9A priority Critical patent/CN106650434B/zh
Publication of CN106650434A publication Critical patent/CN106650434A/zh
Application granted granted Critical
Publication of CN106650434B publication Critical patent/CN106650434B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • 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)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

一种基于IO序列的虚拟机异常行为检测方法与系统
技术领域
本发明涉及虚拟化安全技术领域,尤其是涉及一种基于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-based Virtual Machine)虚拟机异常行为检测系统总体架构图。如图1所示,该系统可用于检测虚拟机内部存在的恶意行为并及时防止已知的虚拟机逃逸攻击,包括异步采集模块、进程获取模块、通信模块和检测模块。
异步采集模块截获虚拟机的I/O模拟操作,提取所需的虚拟机IO序列并保存于数据缓存区,唤醒位于所述通信模块的自定义内核线程,并恢复VMM正常执行流程。
附图2给出了所述异步采集模块的时序图。异步采集模块位于VMM内部,声明了一定大小的数据缓存区用于缓存采集到的虚拟机IO序列。在虚拟机产生I/O模拟操作时会实时截获当前操作,提取所需的虚拟机IO序列并保存于数据缓存区。唤醒自定义内核线程并恢复VMM(Virtual Machine Monitor)正常执行流程。
定义并导出数据缓存区读指针与写指针,用于实现数据缓冲区到自定义内核线程的异步采集过程。
进程获取模块在VMM中实时透明地获取虚拟机进程信息,构造虚拟机进程信息与虚拟机IO序列的合理映射关系。
附图3给出了所述进程获取模块的示意图。进程获取模块位于VMM内部,不需要修改虚拟机操作系统可以实时透明获取虚拟机进程信息。并建立获取到的虚拟机IO序列与虚拟机进程信息的映射关系。
在虚拟机退出时,虚拟机的状态处于内核态。当前虚拟机的内核栈栈顶指针被保存在VCPU的堆栈段寄存器ESP中。以32位Linux操作系统为例,根据进程内核栈栈帧和thread_info结构体存放在一块独立8K大小的内存区域。屏蔽ESP的低13位即可以得到thread_info结构体的地址,并进一步得到虚拟机进程结构体task_struct结构体的地址。
VCPU的CR3控制寄存器保存了虚拟机当前运行进程的页目录基地址,利用控制寄存器CR3作为索引项,得到虚拟机进程信息与虚拟机IO序列的映射关系。
通信模块分为通信模块服务端子模块与通信模块客户端子模块,实现数据从宿主机内核层到宿主机用户层的有效传输,并将数据保存至数据库。通信模块可采用全双工通信机制,建立上述通信模块服务端子模块与上述通信模块客户端子模块的有效连接,将建立的虚拟机进程信息与虚拟机IO序列映射关系发送并保存到位于宿主机用户态的数据库。
检测模块,读取数据库中的待测虚拟机IO序列,采用马尔科夫链建模得到待测模型,比对待测模型与正常特征库并将检测结果输出到检测日志,检测日志中包括了恶意的虚拟机IO序列与对应的虚拟机进程信息。
附图4给出了检测模块的流程图。检测模块读取数据库,将待测虚拟机IO序列构造生成虚拟机IO短序列;定义一个检测单元为由w个短序列构成的虚拟机IO短序列集;计算一个检测单元中虚拟机IO短序列集的状态转移概率矩阵;由状态转移概率矩阵得到一个检测单元中虚拟机IO短序列集的产生概率Pw,若Pw小于规定的阈值ε,判定当前检测单元内虚拟机IO短序列为非法,将非法虚拟机IO短序列和对应虚拟机进程信息输出到检测日志。

Claims (4)

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:由状态转移概率矩阵得到一个检测单元中虚拟机IO短序列集的产生概率Pw,若Pw小于规定的阈值ε,判定当前检测单元内虚拟机IO短序列为非法,将非法虚拟机IO短序列和对应虚拟机进程信息输出到检测日志。
3.一种基于IO序列的虚拟机异常行为检测系统,其特征在于,包括异步采集模块、进程获取模块、通信模块和检测模块;
所述异步采集模块:截获虚拟机I/O模拟操作,提取所需的虚拟机IO序列并保存于数据缓存区,唤醒位于所述通信模块的自定义内核线程,恢复VMM正常执行流程;
所述进程获取模块:在VMM中实时透明地获取虚拟机进程信息,构造虚拟机进程信息与虚拟机IO序列的合理映射关系;
所述通信模块:分为通信模块服务端子模块与通信模块客户端子模块,实现数据从宿主机内核层到宿主机用户层的有效传输,并将数据保存至数据库;
所述检测模块:读取数据库中的待测虚拟机IO序列,采用马尔科夫链建模得到待测模型,比对待测模型与正常特征库并将检测结果输出到检测日志,检测日志中包括了恶意的虚拟机IO序列与对应的虚拟机进程信息。
4.如权利要求3所述的一种基于IO序列的虚拟机异常行为检测系统,其特征在于,所述通信模块采用全双工通信机制。
CN201611224356.9A 2016-12-27 2016-12-27 一种基于io序列的虚拟机异常行为检测方法与系统 Active CN106650434B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611224356.9A CN106650434B (zh) 2016-12-27 2016-12-27 一种基于io序列的虚拟机异常行为检测方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611224356.9A CN106650434B (zh) 2016-12-27 2016-12-27 一种基于io序列的虚拟机异常行为检测方法与系统

Publications (2)

Publication Number Publication Date
CN106650434A true CN106650434A (zh) 2017-05-10
CN106650434B CN106650434B (zh) 2019-03-22

Family

ID=58832301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611224356.9A Active CN106650434B (zh) 2016-12-27 2016-12-27 一种基于io序列的虚拟机异常行为检测方法与系统

Country Status (1)

Country Link
CN (1) CN106650434B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108156181A (zh) * 2018-02-01 2018-06-12 杭州安恒信息技术股份有限公司 一种基于协程异步io的漏洞探测方法及其漏洞扫描系统
CN109858244A (zh) * 2019-01-16 2019-06-07 四川大学 一种容器内进程异常行为检测方法与系统
CN110472410A (zh) * 2018-05-11 2019-11-19 阿里巴巴集团控股有限公司 识别数据的方法、设备和数据处理方法
CN113032106A (zh) * 2021-04-29 2021-06-25 中国工商银行股份有限公司 计算节点io悬挂异常自动检测方法及装置
CN117032881A (zh) * 2023-07-31 2023-11-10 广东保伦电子股份有限公司 一种虚拟机异常检测和恢复的方法、装置及存储介质
CN117421733A (zh) * 2023-12-19 2024-01-19 浪潮电子信息产业股份有限公司 勒索病毒检测方法、装置、电子设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103793646A (zh) * 2014-02-14 2014-05-14 浪潮通信信息系统有限公司 一种基于行为识别的虚拟机安全监控方法
CN105512553A (zh) * 2015-11-26 2016-04-20 上海君是信息科技有限公司 一种预防虚拟机逃逸攻击的访问控制方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103793646A (zh) * 2014-02-14 2014-05-14 浪潮通信信息系统有限公司 一种基于行为识别的虚拟机安全监控方法
CN105512553A (zh) * 2015-11-26 2016-04-20 上海君是信息科技有限公司 一种预防虚拟机逃逸攻击的访问控制方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108156181A (zh) * 2018-02-01 2018-06-12 杭州安恒信息技术股份有限公司 一种基于协程异步io的漏洞探测方法及其漏洞扫描系统
CN108156181B (zh) * 2018-02-01 2020-10-20 杭州安恒信息技术股份有限公司 一种基于协程异步io的漏洞探测方法及其漏洞扫描系统
CN110472410A (zh) * 2018-05-11 2019-11-19 阿里巴巴集团控股有限公司 识别数据的方法、设备和数据处理方法
CN110472410B (zh) * 2018-05-11 2023-02-28 阿里巴巴集团控股有限公司 识别数据的方法、设备和数据处理方法
CN109858244A (zh) * 2019-01-16 2019-06-07 四川大学 一种容器内进程异常行为检测方法与系统
CN109858244B (zh) * 2019-01-16 2020-01-17 四川大学 一种容器内进程异常行为检测方法与系统
CN113032106A (zh) * 2021-04-29 2021-06-25 中国工商银行股份有限公司 计算节点io悬挂异常自动检测方法及装置
CN113032106B (zh) * 2021-04-29 2024-07-09 中国工商银行股份有限公司 计算节点io悬挂异常自动检测方法及装置
CN117032881A (zh) * 2023-07-31 2023-11-10 广东保伦电子股份有限公司 一种虚拟机异常检测和恢复的方法、装置及存储介质
CN117421733A (zh) * 2023-12-19 2024-01-19 浪潮电子信息产业股份有限公司 勒索病毒检测方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN106650434B (zh) 2019-03-22

Similar Documents

Publication Publication Date Title
CN106650434B (zh) 一种基于io序列的虚拟机异常行为检测方法与系统
Wang et al. {CacheD}: Identifying {Cache-Based} timing channels in production software
Moon et al. Vigilare: toward snoop-based kernel integrity monitor
Cheng et al. A lightweight live memory forensic approach based on hardware virtualization
Pfoh et al. A formal model for virtual machine introspection
Petroni Jr et al. Copilot-a Coprocessor-based Kernel Runtime Integrity Monitor.
Carmony et al. Extract Me If You Can: Abusing PDF Parsers in Malware Detectors.
Liu et al. Cpu transparent protection of os kernel and hypervisor integrity with programmable dram
WO2009097610A1 (en) A vmm-based intrusion detection system
CN103310152B (zh) 基于系统虚拟化技术的内核态Rootkit检测方法
CN102147843A (zh) 一种基于内核不变量保护的rootkit入侵检测和系统恢复方法
US20170091454A1 (en) Lbr-based rop/jop exploit detection
Lee et al. Efficient security monitoring with the core debug interface in an embedded processor
Hirano et al. Machine Learning-based Ransomware Detection Using Low-level Memory Access Patterns Obtained From Live-forensic Hypervisor
Ying et al. Cjspector: A novel cryptojacking detection method using hardware trace and deep learning
Peng et al. Micro-architectural features for malware detection
Zhou et al. Hardware-based workload forensics: Process reconstruction via TLB monitoring
Zhu et al. Static analysis based invariant detection for commodity operating systems
Nadim et al. Kernel-level rootkit detection, prevention and behavior profiling: a taxonomy and survey
Pék et al. Membrane: a posteriori detection of malicious code loading by memory paging analysis
Toldinas et al. Rootkit detection experiment within a virtual environment
CN114692162A (zh) 处理器攻击检测方法、处理器及电子设备
Schwarz et al. Keydrown: eliminating keystroke timing side-channel attacks
CN107688481A (zh) 一种支持多节点的kvm虚拟机隐藏进程检测系统
Dai et al. Using IRP and local alignment method to detect distributed malware

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