CN102651062B - 基于虚拟机架构的恶意行为跟踪系统和方法 - Google Patents

基于虚拟机架构的恶意行为跟踪系统和方法 Download PDF

Info

Publication number
CN102651062B
CN102651062B CN201210100509.4A CN201210100509A CN102651062B CN 102651062 B CN102651062 B CN 102651062B CN 201210100509 A CN201210100509 A CN 201210100509A CN 102651062 B CN102651062 B CN 102651062B
Authority
CN
China
Prior art keywords
instruction
data
operating system
virtual machine
submodule
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.)
Expired - Fee Related
Application number
CN201210100509.4A
Other languages
English (en)
Other versions
CN102651062A (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201210100509.4A priority Critical patent/CN102651062B/zh
Publication of CN102651062A publication Critical patent/CN102651062A/zh
Application granted granted Critical
Publication of CN102651062B publication Critical patent/CN102651062B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于虚拟机架构的恶意行为跟踪方法,包括:接收污点数据,将污点数据存储于客户操作系统的虚拟内存中,并在实际内存中分配一块内存区域存储该污点信息,在Xen中将客户操作系统内存中污点数据所处地方的对应影子页表处内存状态修改为不存在,修改虚拟机控制结构域,并且客户操作系统陷入虚拟机管理器层执行,对操作系统状态进行语义翻译,以获取高级语义信息,并将高级语义信息记录在污点数据结构中,跟踪客户操作系统的指令流的单步执行以及污点数据的传播过程,根据污点数据的传播过程生成传播图,对传播图进行检测,以判断是否存在有分支。本发明可实时准确地检测虚拟化平台上的操作系统内的恶意行为。

Description

基于虚拟机架构的恶意行为跟踪系统和方法
技术领域
本发明属于虚拟化技术和计算机系统安全领域,更具体地,涉及一种基于虚拟机架构的恶意行为跟踪系统和方法。
背景技术
随着计算机技术的飞速发展,信息网络已经成为社会发展的重要保障,随之而来的安全问题也成为人们面临的最为严峻的问题之一。现有的恶意行为检测和分析技术或者具有较高的误报率,或者不能实时进行检测。且随着虚拟化技术的快速发展,对虚拟化环境的安全要求也日益迫切。
基于特征码的检测手段是目前比较主流的检测方式:提取已发现病毒的特征码,构建病毒特征数据库,通过对应用程序和数据库数据匹配来检测恶意行为。基于特征码的检测手段对于未知病毒和多态变形病毒则无效,因此会出现很高的漏报率。
动态污点跟踪分析技术能准确地分析出恶意行为,是近几年提出的一种有效检测方式,应用范围很广,检测过程分为污点标记、污点传播跟踪以及非法操作检测。现有的动态污点跟踪分析技术主要依靠QEMU等模拟器,模拟操作系统运行,并将可疑样本文件放入模拟器中执行,跟踪发现可疑行为。此种检测手段跟踪指令流的运行过程,记录污点的传播路径及相关的操作系统状态,性能开销很大,不能对恶意行为进行实时检测。且部分恶意代码会检测自身的运行环境,当发现其运行在模拟器环境下时,其恶意行为不会被触发,检测失效。
虚拟化技术出现之后,得到了用户的广泛应用,其安全性问题也是用户日益关心的话题。虚拟化平台提供多个客户操作系统供用户使用,用户隐私信息集中,更加容易吸引恶意行为的攻击;另外,由于环境复杂,同一物理结点上存在有多种不同的客户操作系统,安全需求也不一样,单独配置安全软件会导致资源浪费,管理复杂。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种基于虚拟机架构的恶意行为跟踪方法,其针对虚拟机上的多种操作系统,跟踪操作系统内部的污点传播过程,并从中发现恶意行为,实时准确地检测虚拟化平台上的操作系统内的恶意行为。
为实现上述目的,本发明提供了一种基于虚拟机架构的恶意行为跟踪方法,包括:
(1)接收污点数据,将污点数据存储于客户操作系统的虚拟内存中,并在实际内存中分配一块内存区域存储该污点信息;
(2)在Xen中将客户操作系统内存中污点数据所处地方的对应影子页表处内存状态修改为不存在;
(3)客户操作系统进入处理污点数据的状态,修改虚拟机控制结构域,并且客户操作系统陷入虚拟机管理器层执行;
(4)对操作系统状态进行语义翻译,以获取高级语义信息,并将高级语义信息记录在污点数据结构中;
(5)跟踪客户操作系统的指令流的单步执行以及污点数据的传播过程;
(6)根据污点数据的传播过程生成传播图;
(7)对传播图进行检测,以判断是否存在有分支,若存在有分支,则说明有恶意行为发生,并进入步骤(8),否则说明没有恶意行为发生,并进入步骤(10);
(8)将传播图中分支处的进程信息通知给用户;
(9)返回步骤(8),直到传播图中所有的分支均已检测完毕为止;
(10)还原虚拟机控制结构域,以使客户操作系统能够正常执行。
步骤(5)包括如下子步骤:
(5-1)检查客户操作系统的指令流中的指令,以判断该指令是数据移动指令或DMA操作指令、算术指令、数据索引指令还是常量函数指令及其它指令,如果是数据移动指令或DMA操作指令,则转入步骤(5-2),如果是算术指令,则进入步骤(5-3),如果是数据索引指令,则进入步骤(5-4),如果是常量函数指令及其它指令,则不做处理直接进入步骤(5-5);
(5-2)判断该指令的源操作数是否被污染,若是,则在该指令的目的操作数对应的影子页表中对该目的操作数进行标记,并转入步骤(5-5),否则直接转入步骤(5-5);
(5-3)判断该指令的操作数的每一位是否都被污染,若是,则在该指令的结果操作数对应的影子页表中对该操作数进行标记,并转入步骤(5-5),否则直接转入步骤(5-5);
(5-4)判断该指令中作为索引的数据是否被污染,若是,则在以该索引作为内存地址读取的数据对应的影子页表中对该数据进行标记,并转入步骤(5-5),否则直接转入步骤(5-5);
(5-5)判断指令流是否执行完毕,若是则结束,否则对下一条指令重复执行步骤(5-1)。
污点数据是来自用户通过键盘输入的数据,或者是网络下发的数据。
通过本发明所构思的以上技术方案,与现有技术相比,本发明能够取得以下的技术效果:
1)恶意行为检测的准确性
由于采用了跟踪污点数据的传播过程,并生成了污点传播图,很容易看清信息的走向,只要发生信息获取的恶意行为,不论是已知病毒还是未知病毒或者多太变形病毒,都能从病毒所产生的恶意行为根本处进行判断。因此检测的准确率比较高,漏报率比较少。
2)基于污点的实时跟踪
由于使用影子页表将污点数据处内存标记为不存在,修改客户操作系统的虚拟机控制结构域,只在客户操作系统处理污点数据时才陷入到Xen虚拟机管理器层做客户操作系统指令流的单步跟踪,跟踪处理污点数据的传播过程,减少了QEMU等模拟器做污点跟踪时,整个系统运行过程无论是否处理污点数据都做指令流单步跟踪的系统开销。使得污点跟踪技术可以实时运行,而不用进行离线分析。同时也消除了病毒在模拟器环境下不触发自身恶意行为的弊端。
3)虚拟机恶意行为跟踪的透明性
通过对客户操作系统做影子页表,客户操作系统陷入虚拟机管理器层执行,获得客户操作系统的高级语意信息,并跟踪监控Xen上所有客户操作系统的污点数据传播过程,从而实现了统一检测。
本发明的另一目的在于提供一种基于虚拟机架构的恶意行为跟踪系统,其针对虚拟机上的多种操作系统,跟踪操作系统内部的污点传播过程,并从中发现恶意行为,实时准确地检测虚拟化平台上的操作系统内的恶意行为。
为实现上述目的,本发明提供了一种基于虚拟机架构的恶意行为跟踪系统,包括接收模块、标记模块、修改模块、翻译模块、跟踪模块、传播图生成模块和检测模块,接收模块用于接收污点数据,并将污点数据存储于客户操作系统的内存中,标记模块部署于虚拟机管理器层,用于在Xen中将客户操作系统内存中污点数据所处地方的对应影子页表处内存状态修改为不存在,修改模块部署于虚拟机管理器层,用于在客户操作系统进入处理污点数据的状态时,修改虚拟机控制结构域,并且客户操作系统陷入虚拟机管理器层执行,翻译模块部署于虚拟机管理器层,用于对操作系统状态进行语义翻译,以获取高级语义信息,并将高级语义信息记录在污点数据结构中,跟踪模块部署于虚拟机管理器层,用于跟踪客户操作系统的指令流的单步执行以及污点数据的传播过程,传播图生成模块部署于虚拟机管理器层,用于根据污点数据的传播过程生成传播图,检测模块部署于特权虚拟机内,用于对传播图进行检测,以判断是否存在有分支,若存在有分支,则说明有恶意行为发生,并将传播图中分支处的进程信息通知给用户,否则说明没有恶意行为发生,并还原客户操作系统的虚拟机控制结构位,以使客户操作系统能够正常执行。
跟踪模块包括第一判断子模块、第二判断子模块、第三判断子模块、第四判断子模块、第五判断子模块、第一标记子模块、第二标记子模块和第三标记子模块,第一判断子模块用于检查客户操作系统的指令流中的指令,以判断该指令是数据移动指令或DMA操作指令、算术指令、数据索引指令还是常量函数指令及其它指令,第二判断子模块用于在该指令是数据移动指令或DMA操作指令时判断该指令的源操作数是否被污染,第三判断子模块用于在该指令是算术指令时判断该指令的操作数的每一位是否都被污染,第四判断子模块用于在该指令是数据索引时判断该指令中作为索引的数据是否被污染,第五判断子模块用于判断指令流是否执行完毕,第一标记子模块用于在第二判断子模块判断该指令的源操作数被污染时在该指令的目的操作数对应的影子页表中对该目的操作数进行标记,第二标记子模块用于在第三判断子模块判断该指令的操作数的每一位都被污染时在该指令的结果操作数对应的影子页表中对该操作数进行标记,第三标记子模块用于在第四判断子模块判断该指令中作为索引的数据被污染时在以该索引作为内存地址读取的数据对应的影子页表中对该数据进行标记。
通过本发明所构思的以上技术方案,与现有技术相比,本发明能够取得以下的技术效果:
1)本系统准确率高
由于采用了跟踪模块跟踪污点信息的传播过程,并在传播结束后由污点生成模块生成污点传播图以供检测模块检测。只要发生信息获取的恶意行为,不论是已知病毒还是未知病毒或者多太变形病毒,都能从病毒所产生的恶意行为根本处进行判断。因此检测的准确率比较高,漏报率比较少,
2)本系统开销较QEMU等模拟器少
由于采用了标记模块和修改模块,使用影子页表将污点数据处内存标记为不存在,修改客户操作系统的虚拟机控制结构域,只在客户操作系统处理污点数据时才陷入到Xen虚拟机管理器层做客户操作系统指令流的单步跟踪,减少了QEMU等模拟器做污点跟踪时,整个系统运行过程无论是否处理污点数据都做指令流单步跟踪的系统开销。
附图说明
图1是本发明中采用的虚拟机Xen的架构图。
图2是本发明基于虚拟机架构的恶意行为跟踪方法的流程图。
图3是采用本发明方法所获取的污点数据。
图4是本发明方法中步骤(5)的细化流程图。
图5是本发明基于虚拟机架构的恶意行为跟踪系统的示意框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在本发明中,虚拟机架构采用Xen架构。
在Xen的架构图上看,Xen虚拟机管理器是一层位于计算机硬件和操作系统之间的软件层,它运行在特权模式,负责管理和隔离上层运行的多个虚拟机,为这些虚拟机提供独立的运行环境。同时也为每个虚拟机虚拟一套与真实硬件无关的虚拟硬件环境,如显示器、硬盘、CPU、内存、网卡等。虚拟机内部运行的即是用户所使用的客户操作系统。Xen虚拟机管理器将可以将多个虚拟机合并到一个物理平台上。
虚拟机0(Domain 0,简称Dom 0)是一个特权虚拟域,用来辅助Xen管理其它虚拟域,提供相应的虚拟资源服务,特别是其它虚拟域对I/O设备的访问。Dom0拥有真实的设备驱动(Native Device Driver,即原生设备驱动),能够直接访问物理硬件,负责启动和停止其他的虚拟机,并通过控制接口控制其他虚拟域的CPU调度、内存分配以及设备访问,如物理磁盘存储和网络接口等。
其它虚拟机则被统称为虚拟机U(Domain U,简称DomU)。在虚拟机中运行的操作系统亦被称作客户操作系统(Guest Operation System)。Xen的虚拟化分为半虚拟化和全虚拟化,在半虚拟化中客户操作系统内核做了相应修改,全虚拟化下可以安装毫无修改的操作系统,如Windows。本发明使用的是全虚拟化。
如图2所示,本发明基于虚拟机架构的恶意行为跟踪方法包括如下步骤:
(1)接收污点数据,将污点数据存储于客户操作系统的虚拟内存中,并在实际内存中分配一块内存区域存储该污点信息;污点数据是来自用户通过键盘输入的数据,或者是网络下发的数据,如图3所示,污点数据为用户从键盘输入的密码。
对每个客户操作系统都使用一个页表式污点信息存储结构,初始时该页表式存储结构中只存在一个空页表,当一个污点数据信息要存储时,传入其对应的地址及污点信息,根据地址搜索并创建页表,将污点信息存入对应的二级页表指向的数据结构中。
(2)在Xen中将客户操作系统内存中污点数据所处地方的对应影子页表处内存状态修改为不存在;
由于Xen上存在有多个操作系统,每个操作系统自认为自己拥有完整的内存,而一个物理内存实际是多个虚拟机共用的,Xen监控程序必须把客户机线性地址到客户机物理地址的转换修正为客户机线性地址到宿主机物理地址的转换,这就要使用影子页表。影子页表修改的是物理内存存入的数据状态。
(3)客户操作系统进入处理污点数据的状态,修改虚拟机控制结构域,并且客户操作系统陷入虚拟机管理器层执行;
将影子页表内存处状态修改为不存在后,处理污点数据时会产生缺页中断,修改了虚拟机控制结构域之后,缺页中断会交给虚拟机管理器处理,客户操作系统退出。
(4)对操作系统状态进行语义翻译,以获取高级语义信息,并将高级语义信息记录在污点数据结构中;
通过对内存中某些数据结构的反向翻译,可以获取与污点数据相关的进程、文件等高级语义信息,这些信息作为之后分析的数据一并存入污点信息存储结构中。
(5)跟踪客户操作系统的指令流的单步执行以及污点数据的传播过程;
从开始处理污点数据时,对操作系统指令流进行单步跟踪,多少条指令不涉及污点数据时结束对指令流的跟踪取决于实验测试结果,阈值定小了可能会频繁切换操作系统和虚拟机管理器,做污点跟踪系统开销很大。阈值定大了也会造成对不必要指令跟踪的系统开销。
(6)根据污点数据的传播过程生成传播图;
从污点信息存储结构中获取污点数据的进程信息,在污点传播过程中发生污点数据跨越了进程进行传播时,记录进程的流向以及文件信息;如图3所示,密码污点数据首先传递给Winlogon.ex进程,接着污点数据传播给了另外两个进程lsass.ex及Winlogon.exe!mscad.dll,最后通过进程Winlogon.exe!mscad.dll传递到文件C:\ginalog.log。
(7)对传播图进行检测,以判断是否存在有分支,若存在有分支,则说明有恶意行为发生,并进入步骤(8),否则说明没有恶意行为发生,并进入步骤(10);
(8)将传播图中分支处的进程信息通知给用户;
(9)返回步骤(8),直到传播图中所有的分支均已检测完毕为止;
(10)还原虚拟机控制结构域,以使客户操作系统能够正常执行。
如图4所示,步骤(5)包括如下子步骤:
(5-1)检查客户操作系统的指令流中的指令,以判断该指令是数据移动指令或DMA操作指令、算术指令、数据索引指令还是常量函数指令及其它指令,如果是数据移动指令或DMA操作指令,则转入步骤(5-2),如果是算术指令,则进入步骤(5-3),如果是数据索引指令,则进入步骤(5-4),如果是常量函数指令及其它指令,则不做处理直接进入步骤(5-5);
(5-2)判断该指令的源操作数是否被污染,若是,则在该指令的目的操作数对应的影子页表中对该目的操作数进行标记,并转入步骤(5-5),否则直接转入步骤(5-5);
(5-3)判断该指令的操作数的每一位是否都被污染,若是,则在该指令的结果操作数对应的影子页表中对该操作数进行标记,并转入步骤(5-5),否则直接转入步骤(5-5);
(5-4)判断该指令中作为索引的数据是否被污染,若是,则在以该索引作为内存地址读取的数据对应的影子页表中对该数据进行标记,并转入步骤(5-5),否则直接转入步骤(5-5);
(5-5)判断指令流是否执行完毕,若是则结束,否则对下一条指令重复执行步骤(5-1)。
如图5所示,本发明基于虚拟机架构的恶意行为跟踪系统包括:接收模块1、标记模块2、修改模块3、翻译模块4、跟踪模块5、传播图生成模块6和检测模块7。
接收模块1用于接收污点数据,并将污点数据存储于客户操作系统的内存中,污点数据源是来自用户通过键盘输入的数据,或者是网络下发的数据。
标记模块2部署于虚拟机管理器层,用于在Xen中将客户操作系统内存中污点数据所处地方的对应影子页表处内存状态修改为不存在。
修改模块3部署于虚拟机管理器层,用于在客户操作系统进入处理污点数据的状态时,修改虚拟机控制结构域,并且客户操作系统陷入虚拟机管理器层执行。
翻译模块4部署于虚拟机管理器层,用于对操作系统状态进行语义翻译,以获取高级语义信息,并将高级语义信息记录在污点数据结构中。
跟踪模块5部署于虚拟机管理器层,用于跟踪客户操作系统的指令流的单步执行以及污点数据的传播过程,跟踪模块5包括:第一判断子模块51、第二判断子模块52、第三判断子模块53、第四判断子模块54、第五判断子模块55、第一标记子模块56、第二标记子模块57和第三标记子模块58。
第一判断子模块51用于检查客户操作系统的指令流中的指令,以判断该指令是数据移动指令或DMA操作指令、算术指令、数据索引指令还是常量函数指令及其它指令。
第二判断子模块52用于在该指令是数据移动指令或DMA操作指令时判断该指令的源操作数是否被污染。
第三判断子模块53用于在该指令是算术指令时判断该指令的操作数的每一位是否都被污染。
第四判断子模块54用于在该指令是数据索引时判断该指令中作为索引的数据是否被污染。
第五判断子模块55用于判断指令流是否执行完毕。
第一标记子模块56用于在第二判断子模块52判断该指令的源操作数被污染时在该指令的目的操作数对应的影子页表中对该目的操作数进行标记。
第二标记子模块57用于在第三判断子模块53判断该指令的操作数的每一位都被污染时在该指令的结果操作数对应的影子页表中对该操作数进行标记。
第三标记子模块58用于在第四判断子模块54判断该指令中作为索引的数据被污染时在以该索引作为内存地址读取的数据对应的影子页表中对该数据进行标记。
传播图生成模块6部署于虚拟机管理器层,用于根据污点数据的传播过程生成传播图。
检测模块7部署于特权虚拟机0(Dom 0)内,用于对传播图进行检测,以判断是否存在有分支,若存在有分支,则说明有恶意行为发生,并将传播图中分支处的进程信息通知给用户,否则说明没有恶意行为发生,并还原客户操作系统的虚拟机控制结构位,以使客户操作系统能够正常执行。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种基于虚拟机架构的恶意行为跟踪方法,其特征在于,包括:
(1)接收污点数据,将污点数据存储于客户操作系统的虚拟内存中,并在实际内存中分配一块内存区域存储该污点数据;
(2)在Xen中将客户操作系统内存中污点数据所处地方的对应影子页表处内存状态修改为不存在;
(3)客户操作系统进入处理污点数据的状态,修改虚拟机控制结构域,并且客户操作系统陷入虚拟机管理器层执行;
(4)对操作系统状态进行语义翻译,以获取高级语义信息,并将高级语义信息记录在污点数据结构中;
(5)跟踪客户操作系统的指令流的单步执行以及污点数据的传播过程;
(6)根据污点数据的传播过程生成传播图;
(7)对传播图进行检测,以判断是否存在有分支,若存在有分支,则说明有恶意行为发生,并进入步骤(8),否则说明没有恶意行为发生,并进入步骤(10);
(8)将传播图中分支处的进程信息通知给用户;
(9)返回步骤(8),直到传播图中所有的分支均已检测完毕为止;
(10)还原虚拟机控制结构域,以使客户操作系统能够正常执行。
2.根据权利要求1所述的恶意行为跟踪方法,其特征在于,步骤(5)包括如下子步骤:
(5-1)检查客户操作系统的指令流中的指令,以判断该指令是数据移动指令或DMA操作指令、算术指令、数据索引指令还是常量函数指令及其它指令,如果是数据移动指令或DMA操作指令,则转入步骤(5-2),如果是算术指令,则进入步骤(5-3),如果是数据索引指令,则进入步骤(5-4),如果是常量函数指令及其它指令,则不做处理直接进入步骤(5-5);
(5-2)判断该指令的源操作数是否被污染,若是,则在该指令的目的操作数对应的影子页表中对该目的操作数进行标记,并转入步骤(5-5),否则直接转入步骤(5-5);
(5-3)判断该指令的操作数的每一位是否都被污染,若是,则在该指令的结果操作数对应的影子页表中对该操作数进行标记,并转入步骤(5-5),否则直接转入步骤(5-5);
(5-4)判断该指令中作为索引的数据是否被污染,若是,则在以该索引作为内存地址读取的数据对应的影子页表中对该数据进行标记,并转入步骤(5-5),否则直接转入步骤(5-5);
(5-5)判断指令流是否执行完毕,若是则结束,否则对下一条指令重复执行步骤(5-1)。
3.根据权利要求1所述的恶意行为跟踪方法,其特征在于,污点数据是来自用户通过键盘输入的数据,或者是网络下发的数据。
4.一种基于虚拟机架构的恶意行为跟踪系统,包括接收模块、标记模块、修改模块、翻译模块、跟踪模块、传播图生成模块和检测模块,其特征在于,
接收模块用于接收污点数据,并将污点数据存储于客户操作系统的内存中;
标记模块部署于虚拟机管理器层,用于在Xen中将客户操作系统内存中污点数据所处地方的对应影子页表处内存状态修改为不存在;
修改模块部署于虚拟机管理器层,用于在客户操作系统进入处理污点数据的状态时,修改虚拟机控制结构域,并且客户操作系统陷入虚拟机管理器层执行;
翻译模块部署于虚拟机管理器层,用于对操作系统状态进行语义翻译,以获取高级语义信息,并将高级语义信息记录在污点数据结构中;
跟踪模块部署于虚拟机管理器层,用于跟踪客户操作系统的指令流的单步执行以及污点数据的传播过程;
传播图生成模块部署于虚拟机管理器层,用于根据污点数据的传播过程生成传播图;
检测模块部署于特权虚拟机内,用于对传播图进行检测,以判断是否存在有分支,若存在有分支,则说明有恶意行为发生,并将传播图中分支处的进程信息通知给用户,否则说明没有恶意行为发生,并还原客户操作系统的虚拟机控制结构域,以使客户操作系统能够正常执行。
5.根据权利要求4所述的恶意行为跟踪系统,其特征在于,
跟踪模块包括第一判断子模块、第二判断子模块、第三判断子模块、第四判断子模块、第五判断子模块、第一标记子模块、第二标记子模块和第三标记子模块;
第一判断子模块用于检查客户操作系统的指令流中的指令,以判断该指令是数据移动指令或DMA操作指令、算术指令、数据索引指令还是常量函数指令及其它指令;
第二判断子模块用于在该指令是数据移动指令或DMA操作指令时判断该指令的源操作数是否被污染;
第三判断子模块用于在该指令是算术指令时判断该指令的操作数的每一位是否都被污染;
第四判断子模块用于在该指令是数据索引时判断该指令中作为索引的数据是否被污染;
第五判断子模块用于判断指令流是否执行完毕;
第一标记子模块用于在第二判断子模块判断该指令的源操作数被污染时在该指令的目的操作数对应的影子页表中对该目的操作数进行标记;
第二标记子模块用于在第三判断子模块判断该指令的操作数的每一位都被污染时在该指令的结果操作数对应的影子页表中对该操作数进行标记;
第三标记子模块用于在第四判断子模块判断该指令中作为索引的数据被污染时在以该索引作为内存地址读取的数据对应的影子页表中对该数据进行标记。
6.根据权利要求4所述的恶意行为跟踪系统,其特征在于,污点数据是来自用户通过键盘输入的数据,或者是网络下发的数据。
CN201210100509.4A 2012-04-09 2012-04-09 基于虚拟机架构的恶意行为跟踪系统和方法 Expired - Fee Related CN102651062B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210100509.4A CN102651062B (zh) 2012-04-09 2012-04-09 基于虚拟机架构的恶意行为跟踪系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210100509.4A CN102651062B (zh) 2012-04-09 2012-04-09 基于虚拟机架构的恶意行为跟踪系统和方法

Publications (2)

Publication Number Publication Date
CN102651062A CN102651062A (zh) 2012-08-29
CN102651062B true CN102651062B (zh) 2014-06-18

Family

ID=46693069

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210100509.4A Expired - Fee Related CN102651062B (zh) 2012-04-09 2012-04-09 基于虚拟机架构的恶意行为跟踪系统和方法

Country Status (1)

Country Link
CN (1) CN102651062B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8621607B2 (en) * 2006-05-18 2013-12-31 Vmware, Inc. Computational system including mechanisms for tracking taint
CN103019865B (zh) * 2012-12-28 2015-07-15 北京神州绿盟信息安全科技股份有限公司 虚拟机监控方法和系统
CN104102879B (zh) 2013-04-15 2016-08-17 腾讯科技(深圳)有限公司 一种消息格式的提取方法和装置
CN103714288B (zh) * 2013-12-26 2016-05-25 华中科技大学 一种数据流跟踪方法
CN103927484B (zh) * 2014-04-21 2017-03-08 西安电子科技大学宁波信息技术研究院 基于Qemu模拟器的恶意程序行为捕获方法
CN104021344B (zh) * 2014-05-14 2015-06-24 南京大学 一种用于收集和截获计算机内存行为的蜜罐方法
CN104008329B (zh) * 2014-05-22 2017-02-15 中国科学院信息工程研究所 一种基于虚拟化技术的软件隐私泄露行为检测方法及系统
CN105204985A (zh) * 2014-06-23 2015-12-30 腾讯科技(深圳)有限公司 漏洞检测方法及装置
CN104462973B (zh) * 2014-12-18 2017-11-14 上海斐讯数据通信技术有限公司 移动终端中应用程序的动态恶意行为检测系统及方法
CN106557396A (zh) * 2015-09-25 2017-04-05 北京计算机技术及应用研究所 基于qemu的虚拟机程序运行状态监控方法
CN108228239B (zh) * 2016-12-13 2021-04-20 龙芯中科技术股份有限公司 基于快速模拟器qemu的分支指令抓取方法和装置
CN106599681A (zh) * 2016-12-22 2017-04-26 北京邮电大学 恶意程序特征提取方法和系统
CN112988563A (zh) * 2019-12-18 2021-06-18 中国电信股份有限公司 污点动态分析方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102054149A (zh) * 2009-11-06 2011-05-11 中国科学院研究生院 一种恶意代码行为特征提取方法
CN102081719A (zh) * 2009-12-01 2011-06-01 王伟 基于动态污染传播的软件安全测试系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4669053B2 (ja) * 2008-09-29 2011-04-13 株式会社半導体理工学研究センター 情報処理装置、情報処理方法及びこれを実現させるためのプログラム
US9177145B2 (en) * 2009-03-24 2015-11-03 Sophos Limited Modified file tracking on virtual machines

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102054149A (zh) * 2009-11-06 2011-05-11 中国科学院研究生院 一种恶意代码行为特征提取方法
CN102081719A (zh) * 2009-12-01 2011-06-01 王伟 基于动态污染传播的软件安全测试系统及方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
基于虚拟化技术的动态污点分析;陈衍铃等;《计算机应用》;20110930;第31卷(第9期);第2367-2372页 *
基于行为依赖特征的恶意代码相似性比较方法;杨轶等;《软件学报》;20111231;第22卷(第10期);第2438-2453页 *
杨轶等.基于行为依赖特征的恶意代码相似性比较方法.《软件学报》.2011,第22卷(第10期),第2438-2453页.
陈衍铃等.基于虚拟化技术的动态污点分析.《计算机应用》.2011,第31卷(第9期),第2367-2372页.

Also Published As

Publication number Publication date
CN102651062A (zh) 2012-08-29

Similar Documents

Publication Publication Date Title
CN102651062B (zh) 基于虚拟机架构的恶意行为跟踪系统和方法
CN103399812B (zh) 基于Xen硬件虚拟化的磁盘文件操作监控系统及监控方法
CN104008329B (zh) 一种基于虚拟化技术的软件隐私泄露行为检测方法及系统
CN102760098B (zh) 面向bit软件测试的处理器故障注入方法及其模拟器
CN103514066B (zh) 复制虚拟机器的存储器数据的方法、程序产品及系统
US8656222B2 (en) Method and system for recording a selected computer process for subsequent replay
CN103065084B (zh) 在虚拟机外部机进行的windows隐藏进程检测方法
KR101931779B1 (ko) 가상 머신 내부의 파일 접근 모니터링 장치 및 그 방법
CN101770551A (zh) 一种基于硬件模拟器的处理隐藏进程的方法
CN101872323A (zh) 一种基于虚拟机的故障注入测试方法
US8887139B2 (en) Virtual system and method of analyzing operation of virtual system
CN103064784A (zh) 面向Xen环境的运行时内存泄漏检测方法及其实现系统
US10061918B2 (en) System, apparatus and method for filtering memory access logging in a processor
US20090083720A1 (en) Employing identifiers provided by an operating system of a processing environment to optimize the processing environment
CN102708043B (zh) 静态数据竞争检测和分析
CN108718307B (zh) 一种IaaS云环境下面向内部威胁的行为追溯检测方法
CN109597675A (zh) 虚拟机恶意软件行为检测方法及系统
KR102273135B1 (ko) 기호 실행을 사용하는 소프트웨어 테스트 입력 생성 장치 및 방법
CN102722438B (zh) 一种内核调试的方法和设备
Hsiao et al. Hardware-assisted MMU redirection for in-guest monitoring and API profiling
US20180157605A1 (en) Configuration of a memory controller for copy-on-write
CN115795489B (zh) 一种基于硬件级进程跟踪的软件漏洞静态分析方法及装置
Choi et al. Cloud-BlackBox: Toward practical recording and tracking of VM swarms for multifaceted cloud inspection
CN102708054A (zh) 二进制程序循环写内存安全漏洞的检测方法
KR20110129020A (ko) 코드 분석기법을 이용한 악성코드 차단 시스템 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140618

Termination date: 20210409