CN110941477A - 一种基于Xen平台的虚拟机检测方法 - Google Patents

一种基于Xen平台的虚拟机检测方法 Download PDF

Info

Publication number
CN110941477A
CN110941477A CN201911282977.6A CN201911282977A CN110941477A CN 110941477 A CN110941477 A CN 110941477A CN 201911282977 A CN201911282977 A CN 201911282977A CN 110941477 A CN110941477 A CN 110941477A
Authority
CN
China
Prior art keywords
virtual machine
xen
tool
platform
volatinity
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.)
Pending
Application number
CN201911282977.6A
Other languages
English (en)
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.)
Unicloud Nanjing Digital Technology Co Ltd
Original Assignee
Unicloud Nanjing Digital Technology Co Ltd
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 Unicloud Nanjing Digital Technology Co Ltd filed Critical Unicloud Nanjing Digital Technology Co Ltd
Priority to CN201911282977.6A priority Critical patent/CN110941477A/zh
Publication of CN110941477A publication Critical patent/CN110941477A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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
    • 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/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于Xen平台的虚拟机检测方法,涉及计算机领域。本发明包括:构建C语言库LibVMI;编写工具Volatility;在特权域Dom0中部署C语言库Libvmi与工具Volatility;搭建在线检测平台;通过Xen向Guest OS提供了一系列的超级调用;通过工具Volatility获取虚拟机数据,对虚拟机数据进行简要整理分析后,形成主动监控语义信息;通过工具Volatility和C语言库Libvmi对待测软件采用连续累加测试模式进行测试。本发明通过Xen和LIBVMI的结合,实现对虚拟机的实时监测,同时运用Volatility对虚拟机内存文件进行准确的分析取证。

Description

一种基于Xen平台的虚拟机检测方法
技术领域
本发明属于计算机技术领域,特别是涉及一种基于Xen平台的虚拟机检测方法。
背景技术
VMI(虚拟机自省)技术是从虚拟机外部获取客户虚拟机操作系统内部状态信息的技术,该技术提供了一种强大的隔离层,从而为保障虚拟化环境的安全性、可靠性和提高对虚拟机的管理能力提供了新的机遇。
现有技术中,基于软件结构知识的独立性自省方法的体系,如说明书附图1所示,VM外部提取底层状态数据,借助软件结构知识重构出高层语义信息,攻击者通过改变软件结构的方式,可以使得自省程序失效,即该方法易受攻击、预防性不高;同时该方法一般基于特定的软件结构知识设计自省程序,因此,软件架构知识的变化会导致自省程序失效,故该方法的客户操作可移植性也较差。
发明内容
本发明的目的在于提供一种基于Xen平台的虚拟机检测方法,通过建立异常行为在线检测平台,实现对网络上突出的异常行为进行连续测试与监测,解决了背景技术中提出的相关问题。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明为一种基于Xen平台的虚拟机检测方法,包括:
S01、构建支持Python语言绑定的C语言库LibVMI;通过Python编写的跨平台的、用于内存分析的工具Volatility;
S02、在特权域Dom0中部署C语言库Libvmi与工具Volatility;搭建在线检测平台;
S03、通过Xen向Guest OS提供了一系列的超级调用;
S04、通过工具Volatility获取虚拟机数据,对虚拟机数据进行简要整理分析后,形成主动监控语义信息;
S05、通过工具Volatility和C语言库Libvmi对待测软件采用连续累加测试模式进行测试。
进一步地,所述虚拟机数据包括虚拟机内存、获取VCPU寄存器的数据以及自陷硬件事件。
进一步地,所述在线检测平台包括恶意软件防治产品测试与网络应用的安全性监测。
LibVMI是衍生于XenAccess的开源虚拟机自省工具,相对于XenAccess只适用于Xen,LibVMI适用于Xen或者KVM虚拟化环境,能作用于32位和64位的虚拟机;使用LibVMI可以在宿主机上透明读写虚拟机的内存。
工具Volatility目的是为了在数据犯罪中提取易失性数据,支持Linux和Windows系统的内存取证分析,提供了大量功能插件,能够从静态内存文件中获取进程信息、内核对象信息、网络信息以及操作系统信息,能够检测和协助清除Rootkit;通过pyvmi工具与LibVMI连接后,能够对正在运行的虚拟机进行内存分析,将其强大的功能用于虚拟机自省。
本文依托虚拟化技术,利用虚拟机自省技术与Xen的结构特点,通过建立异常行为在线检测平台,实现对网络上突出的异常行为进行连续测试与监测,基于互联网在线测试环境,在Domain U中模拟真实用户使用环境,实时下载安装待测软件,在Domain 0中部署Libvmi与Volatility,采用连续累加测试模式,对非特权域Domain U中是否存在异常行为进行连续检测。
一种基于Xen平台的虚拟机检测方法的应用,包括入侵检测、恶意软件分析和内存取证。
上述入侵检测具体为通过监视主机的可观察属性来检测并报告主机是否已遭到入侵;在云环境下,根据IDS部署的位置和类型,可分为基于主机的IDS、基于网络的IDS和基于虚拟机管理程序的IDS;高级的恶意软件往往能够检测受监视机器中运行的恶意软件分析组件,通过禁用或破坏这些安全工具使其失效。
上述恶意软件分析,传统的基于主机的恶意软件检测系统在其监控和保护的主机内进行安装和执行;而现有的部分恶意软件具备反侦察能力,能够检测出虚拟机内部的监控软件并使其失效;基于VMI技术的监控工具运行在目标虚拟机外部,即使目标系统受损,也可确保获取到的数据的完整性。
上述内存取证通过获取和分析易失性内存数据来确定非法行为,内存可以提供磁盘不具备的信息,因为二进制代码可以加密和混淆,但所有的非法进程都需要在内存中运行,并且会留下痕迹,因此内存的证据更可靠。取证结果不仅可以作为法庭的证据,而且有利于分析漏洞和提高系统的安全性。在计算机犯罪背景下,调查人员需要在最短的时间内找出攻击者及攻击的时间、地点、方式、受害者。传统的内存取证是对内存转储文件进行分析,这是一种静态分析的方法,具有滞后性的特点。而内存数据通常是暂时的且易失的,单个的内存转储不能够显示系统的所有状态。
本发明具有以下有益效果:
本发明通过Xen和LIBVMI的结合,实现对虚拟机的实时监测,同时运用Volatility对虚拟机内存文件进行准确的分析取证。
本发明实时监控虚拟机的状态,比如获取虚拟机进程列表,查看是否有可疑进程;Volatility通过分析虚拟机的内存信息文件,以检测虚拟机是否含有异常信息。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
图1为本发明背景技术中基于软件结构知识的独立性自省方法的体系结构示意图。
具体实施方式
一种基于Xen平台的虚拟机检测方法,包括:
S01、构建支持Python语言绑定的C语言库LibVMI;通过Python编写的跨平台的、用于内存分析的工具Volatility;
S02、在特权域Dom0中部署C语言库Libvmi与工具Volatility;搭建在线检测平台;
S03、通过Xen向Guest OS提供了一系列的超级调用;
S04、通过工具Volatility获取虚拟机数据,对虚拟机数据进行简要整理分析后,形成主动监控语义信息;
S05、通过工具Volatility和C语言库Libvmi对待测软件采用连续累加测试模式进行测试。
进一步地,所述虚拟机数据包括虚拟机内存、获取VCPU寄存器的数据以及自陷硬件事件。
进一步地,所述在线检测平台包括恶意软件防治产品测试与网络应用的安全性监测。
LibVMI是衍生于XenAccess的开源虚拟机自省工具,相对于XenAccess只适用于Xen,LibVMI适用于Xen或者KVM虚拟化环境,能作用于32位和64位的虚拟机。使用LibVMI可以在宿主机上透明读写虚拟机的内存。
工具Volatility目的是为了在数据犯罪中提取易失性数据,支持Linux和Windows系统的内存取证分析,提供了大量功能插件,能够从静态内存文件中获取进程信息、内核对象信息、网络信息以及操作系统信息,能够检测和协助清除Rootkit。通过pyvmi工具与LibVMI连接后,能够对正在运行的虚拟机进行内存分析,将其强大的功能用于虚拟机自省。
本文依托虚拟化技术,利用虚拟机自省技术与Xen的结构特点,通过建立异常行为在线检测平台,实现对网络上突出的异常行为进行连续测试与监测。基于互联网在线测试环境,在Domain U中模拟真实用户使用环境,实时下载安装待测软件,在Domain 0中部署Libvmi与Volatility,采用连续累加测试模式,对非特权域Domain U中是否存在异常行为进行连续检测。
一种基于Xen平台的虚拟机检测方法的应用,包括入侵检测、恶意软件分析和内存取证。
上述入侵检测具体为通过监视主机的可观察属性来检测并报告主机是否已遭到入侵;在云环境下,根据IDS部署的位置和类型,可分为基于主机的IDS、基于网络的IDS和基于虚拟机管理程序的IDS;高级的恶意软件往往能够检测受监视机器中运行的恶意软件分析组件,通过禁用或破坏这些安全工具使其失效。
上述恶意软件分析,传统的基于主机的恶意软件检测系统在其监控和保护的主机内进行安装和执行。而现有的部分恶意软件具备反侦察能力,能够检测出虚拟机内部的监控软件并使其失效;基于VMI技术的监控工具运行在目标虚拟机外部,即使目标系统受损,也可确保获取到的数据的完整性。
上述内存取证通过获取和分析易失性内存数据来确定非法行为,内存可以提供磁盘不具备的信息,因为二进制代码可以加密和混淆,但所有的非法进程都需要在内存中运行,并且会留下痕迹,因此内存的证据更可靠。取证结果不仅可以作为法庭的证据,而且有利于分析漏洞和提高系统的安全性。在计算机犯罪背景下,调查人员需要在最短的时间内找出攻击者及攻击的时间、地点、方式、受害者。传统的内存取证是对内存转储文件进行分析,这是一种静态分析的方法,具有滞后性的特点。而内存数据通常是暂时的且易失的,单个的内存转储不能够显示系统的所有状态。
上述检测方法中用KVM代替Xen,,KVM是一个全虚拟化的解决方案,可以在x86架构的计算机上实现虚拟化功能,KVM是Linux的一部分,可使用通常的Linux调度器和内存管理.这意味着KVM更小更易使用
同时,相比较Xen而言,KVM不需要重新编译内核,也不需要对当前kernel做任何修改,它只是几个可以动态加载的.ko模块。它结构更加精简、代码量更小。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

Claims (4)

1.一种基于Xen平台的虚拟机检测方法,其特征在于,包括:
S01、构建支持Python语言绑定的C语言库LibVMI;通过Python编写的跨平台的、用于内存分析的工具Volatility;
S02、在特权域Dom0中部署C语言库Libvmi与工具Volatility;搭建在线检测平台;
S03、通过Xen向Guest OS提供了一系列的超级调用;
S04、通过工具Volatility获取虚拟机数据,对虚拟机数据进行简要整理分析后,形成主动监控语义信息;
S05、通过工具Volatility和C语言库Libvmi对待测软件采用连续累加测试模式进行测试。
2.根据权利要求1所述的一种基于Xen平台的虚拟机检测方法,其特征在于,所述虚拟机数据包括虚拟机内存、获取VCPU寄存器的数据以及自陷硬件事件。
3.根据权利要求1所述的一种基于Xen平台的虚拟机检测方法,其特征在于,所述在线检测平台包括恶意软件防治产品测试与网络应用的安全性监测。
4.权利要求1-3任意一所述的一种基于Xen平台的虚拟机检测方法的应用,其特征在于,包括入侵检测、恶意软件分析和内存取证。
CN201911282977.6A 2019-12-13 2019-12-13 一种基于Xen平台的虚拟机检测方法 Pending CN110941477A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911282977.6A CN110941477A (zh) 2019-12-13 2019-12-13 一种基于Xen平台的虚拟机检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911282977.6A CN110941477A (zh) 2019-12-13 2019-12-13 一种基于Xen平台的虚拟机检测方法

Publications (1)

Publication Number Publication Date
CN110941477A true CN110941477A (zh) 2020-03-31

Family

ID=69910783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911282977.6A Pending CN110941477A (zh) 2019-12-13 2019-12-13 一种基于Xen平台的虚拟机检测方法

Country Status (1)

Country Link
CN (1) CN110941477A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231060A (zh) * 2020-10-19 2021-01-15 南开大学 一种基于虚拟化平台的虚拟机异常行为检测方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104715201A (zh) * 2015-03-31 2015-06-17 北京奇虎科技有限公司 一种虚拟机恶意行为检测方法和系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104715201A (zh) * 2015-03-31 2015-06-17 北京奇虎科技有限公司 一种虚拟机恶意行为检测方法和系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231060A (zh) * 2020-10-19 2021-01-15 南开大学 一种基于虚拟化平台的虚拟机异常行为检测方法

Similar Documents

Publication Publication Date Title
US11106792B2 (en) Methods and systems for performing a dynamic analysis of applications for protecting devices from malwares
Dinaburg et al. Ether: malware analysis via hardware virtualization extensions
Sharif et al. Eureka: A framework for enabling static malware analysis
US9356945B2 (en) Automatic content inspection system for exploit detection
US20140259169A1 (en) Virtual machines
Kedrowitsch et al. A first look: Using linux containers for deceptive honeypots
Kawakoya et al. Api chaser: Anti-analysis resistant malware analyzer
Musavi et al. Back to static analysis for kernel-level rootkit detection
CN109597675B (zh) 虚拟机恶意软件行为检测方法及系统
Botacin et al. The other guys: automated analysis of marginalized malware
Tian et al. A kernel rootkit detection approach based on virtualization and machine learning
Pektaş et al. A dynamic malware analyzer against virtual machine aware malicious software
Maffia et al. Longitudinal study of the prevalence of malware evasive techniques
Leon et al. Hypervisor-assisted dynamic malware analysis
Kaur et al. A complete dynamic malware analysis
Nadim et al. Characteristic features of the kernel-level rootkit for learning-based detection model training
Grill et al. “Nice Boots!”-A Large-Scale Analysis of Bootkits and New Ways to Stop Them
Ilić et al. A pilot comparative analysis of the Cuckoo and Drakvuf sandboxes: An end-user perspective
Shi et al. Spems: A stealthy and practical execution monitoring system based on vmi
Vishnani et al. Detecting & defeating split personality malware
Zhang et al. Antibypassing Four-Stage Dynamic Behavior Modeling for Time-Efficient Evasive Malware Detection
Lamps et al. WinWizard: Expanding Xen with a LibVMI intrusion detection tool
CN110941477A (zh) 一种基于Xen平台的虚拟机检测方法
Jia et al. Findevasion: an effective environment-sensitive malware detection system for the cloud
US11914711B2 (en) Systems and methods for automatically generating malware countermeasures

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200331

WD01 Invention patent application deemed withdrawn after publication