CN102034050A - 基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法 - Google Patents
基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法 Download PDFInfo
- Publication number
- CN102034050A CN102034050A CN2011100263696A CN201110026369A CN102034050A CN 102034050 A CN102034050 A CN 102034050A CN 2011100263696 A CN2011100263696 A CN 2011100263696A CN 201110026369 A CN201110026369 A CN 201110026369A CN 102034050 A CN102034050 A CN 102034050A
- Authority
- CN
- China
- Prior art keywords
- behavior
- malware
- file
- detection
- training
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
一种基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法,由三部分组成:基于Xen二次开发的分析检测环境、监测控制程序、恶意软件分类器的训练学习和检测程序。检测模型分为训练阶段和检测阶段:训练阶段:让样本集文件在干净的分析环境中执行定长时间,获取其进程行为、特权行为、内存行为、注册表行为、文件行为和网络行为的Native API调用频率,使用这些数据来训练分类器;检测阶段:把待检查文件执行,统计定长时间内的六种敏感行为Native API调用频率,使用训练好的分类器,对检测文件进行分类,分类结果即是恶意软件或正常文件。本发明对具备反虚拟、反调试、反跟踪能力的恶意软件仍然有效。
Description
技术领域
本发明涉及信息安全中的恶意软件检测方法,它能够在经过有限训练集训练以后,检测已知的和未知的恶意软件。
背景技术
金山毒霸全球反病毒监测中心监测数据显示,截止到2008年6月30日,2008年上半年,金山毒霸共截获新增病毒、木马1,242,244个,较2007年全年病毒、木马总数增长了338%。计算机恶意软件的数量急剧增加,其传播途径多样化,且抗反病毒软件能力强,计算机恶意软件已经成为互联网以及广大计算机用户的最大安全威胁。
传统的恶意软件检测主要是基于特征码扫描的检测技术。它使用从特定恶意代码中提取出的特征字节序列(如字符串)进行检测,这些特征字节序列不大可能出现在无毒的程序中。这种方法的特点在于,反病毒软件只处理程序的字节码,而不关心它的行为。但是随着恶意代码种类和数量的迅速增长,提取恶意代码的特征所消耗的人力、物力也急剧增长。更重要的是该技术的本质决定,其只能检测已知恶意软件,对未知恶意软件的检测能力极弱。为了解决这个问题,提出了启发式分析检测方法,启发式是指任何利用规则和模式来检测未知恶意代码的方法。启发式检测方法主要有静态启发式检测方法、基于代码仿真的启发式检测方法。静态启发式检测方法通过分析恶意软件的静态文件结构、二进制代码、反汇编后的代码、反汇编后的静态调用等获取恶意软件的特征,利用分类算法在正常软件与恶意代码之间建立较好的分割线,实验结果表明其检测未知恶意软件的能力较强。基于代码仿真的启发式检测方法的主要原理是将目标程序放置在一个沙盒模型中,通过监控目标程序运行过程的行为来判断是否为恶意软件。基于代码仿真的启发式检测方法主要使用黑盒测试法,黑盒技术对迅速理解恶意软件的一些行为和工作原理可能非常有用。
上述方法主要面临三方面的问题:
第一、静态检测方法检测速度快,误报率和虚警率低,但很容易受到多态、变形、混淆、加壳等规避技术的影响。经过加壳处理后的恶意软件的二进制代码和反汇编后的代码发生了很大的改变,原来用来检测的特征也发生了改变,使得检测的准确率下降,如果在脱壳后再进行检测,每个文件的检测时间就会加长,且通用的脱壳软件在反脱壳技术的影响下并不能自动的脱去所有恶意软件的壳。使用多态和变形技术的恶意软件每次传播后都动态随机的改变着二进制代码,没有固定不变的特征,静态检测方法很难检测这种恶意软件。
第二、基于代码仿真的启发式检测方法不受多态、变形、混淆、加壳等规避技术的影响,在早期是一种比较有效的恶意软件检测方法,但随着恶意软件技术的演化发展,很多恶意软件已具备了反虚拟、反调试、反跟踪能力,如果恶意软件检测到在仿真环境下运行,就会隐藏其恶意行为,这些都使得基于代码仿真的启发式检测的准确率不高和花费时间比较长。
第三、基于启发式的方法利用了一些规则和模式,随着恶意软件开发人员对这些规则和模式逐渐熟悉,新出现的恶意软件就会有一些反制措施,使得启发式的方法不能检测出这些恶意软件。
发明内容
本发明的目的在于提出并设计一种基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法,它能检测已知和未知恶意软件,不受加壳、混淆、多态、变形技术的影响,且具有较高的检测准确率,具备反虚拟、反调试、反跟踪能力的恶意软件也不能发现本发明使用的分析检测环境。
本发明的目的是这样实现的:一种基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法,其特征是:
检测模型分为2个阶段:训练阶段和检测阶段;训练阶段用于完成分类器的构建;而检测阶段用于完成恶意软件的检测;
在训练阶段,首先获取样本文件集的Native API系列,让样本文件在干净的分析环境中执行定长时间,记录下它的Native API系列,统计进程行为、特权行为、内存行为、注册表行为、文件行为和网络行为的Native API调用频率,然后使用这些数据来训练分类器,训练好的分类器用作区分恶意软件和正常文件;
在检测阶段,把待检查文件放在干净的分析环境中执行,统计它在定长时间内的进程行为、特权行为、内存行为、注册表行为、文件行为和网络行为的NativeAPI调用频率,使用训练阶段训练好的分类器,对待检查文件进行分类,得到是恶意软件或是正常文件的结果。
本发明由三个部分组成:基于Xen二次开发的分析检测环境(用来运行分析样本并监测样本的Native API调用系列),监测控制程序(用来进行批量样本的自动分析监测),恶意软件分类器的训练学习和检测程序(用有限样本的NativeAPI调用频率数据训练分类器,使用训练好的分类器检测未知恶意软件)。
本发明在分析检测环境中运行样本,监测其进程行为、特权行为、内存操作行为、注册表行为、文件行为和网络行为的相关Native API相同时间内的调用频率,以此为特征通过数据挖掘的分类方法来判别是否是恶意软件;
模型由训练阶段的获取样本集的Native API系列开始,让样本文件在干净的分析环境中执行定长时间,记录下它的Native API系列,样本文件的NativeAPI调用都比较多,很多Native API调用不能很好的区分恶意软件和正常文件,我们基于对恶意软件行为的深入认识,把有可能区分的Native API调用提取出来;计算它在定长时间内的调用频率,然后使用这些数据来训练分类器,训练好的分类器能区分恶意软件和正常文件。
在检测阶段,把待检查文件放在干净的分析环境中执行,统计它在定长时间内的敏感Native API调用频率,使用训练阶段训练好的分类器,对待检测文件进行分类,得到是恶意软件或是正常文件的结果。
上述文件为PE文件。
相对于传统的恶意软件方法,本发明方法主要具有如下特色:
1、能检测未知的恶意软件:传统的基于病毒特征的恶意软件检测方法只能检测已经被专业人员识别出特征的恶意软件,但新出现的恶意软件已经成指数级增长,专业人员识别恶意软件特征的工作量将大幅度增加,随着病毒特征库日渐增长,反病毒软件的检测速度将大幅度下降,对***资源的占用将增加。本发明通过数据挖掘方法在学习已有恶意软件敏感Native API调用频率的基础上来检测未知恶意软件,学习得到的分类器具有相对的稳定性,同时具备较高的检测准确率;
2、能检测0day的恶意软件:传统的基于病毒特征的恶意软件检测方法存在真空期——即从恶意软件出现到反病毒软件能查杀该恶意软件,在真空期恶意软件可能已经长生了严重的破坏,这给计算机恶意软件的防护工作带来了严峻挑战。本发明所使用的方法能在恶意软件出现的第一时间就能对其进行检测,能在恶意软件出现的早期就遏制住其传播,以免在互联网传播泛滥,产生严重的破坏;
3、检测方法的稳定有效:随着恶意软件技术的发展,恶意软件会采取一些针对启发式规则和模式的反制措施,使得启发式方法不能检测出这些恶意软件。但恶意软件要实现传播和破坏,必然要频繁的调用Native API,这就导致这个特征不可能隐藏,本发明使用的方法是以Native API调用频率为特征,该检测方法可以保持长期稳定有效;
4、可以对抗加壳、混淆、变形、多态等技术的恶意软件:恶意软件无论怎么加壳、加密、变形,其核心功能部分是静止不变的,实现这部分功能所对应的Native API调用也是不变的。本发明以Native API调用频率为特征,所以能检测出加壳、混淆、变形、多态后的恶意软件;
5、使用的特征较少且相对稳定:传统的动态检测方法是以API调用系列的马尔科夫链作为特征,恶意软件的活动相当活跃,API调用频繁且密集,经过马尔科夫链滑动后产生的特征集非常庞大,过滤后剩下的特征也相对较多,训练后的分类器比较复杂,检测速度较慢。本发明使用的敏感Native API不足100个,特征较少且相对固定,特征提取和训练学习的实现都相对简单;
6、透明的分析检测环境:传统的动态分析监测环境特权等级分离不清晰,部分指令的执行结果和执行时间与真实环境执行有差异,具备反虚拟、反调试、反跟踪能力的恶意软件能检测到是在分析环境中运行,隐藏其恶意行为,使得检测失败;少部分恶意软件能穿越虚拟分析环境,对宿主机产生破坏。本发明使用的分析检测环境基于硬件虚拟平台Xen进行二次开发,特权等级分离清晰,指令通过硬件虚拟直接在CPU上执行指令,执行结果和真实环境一样,速度较快,真正达到了对恶意软件的透明;
7、平台的核心都是基于开源技术,可以基于需求进行进行二次开发。
最后,由表1给出本发明方法与传统基于病毒特征方法、传统基于代码仿真的启发式检测方法之间的简要对比与总结。
表1本发明方法与传统方法间的对比总结
附图说明
图1是本发明基于敏感Native API调用频率感知的恶意软件检测模型图。
图2是本发明Native API分析***架构图。
图3是本发明监测控制程序分析的流程图。
具体实施方式
检测模型及基本思想:
本发明依据的思想是:恶意软件必定存在某些特殊的功能,这使得恶意软件的行为与普通程序之间存在某些不同之处。因此监控程序的行为可以作为判断该程序是否为恶意软件的一个可行的方法。恶意软件与一般程序的区别主要在于执行了一些特殊的动作来传播和破坏***。不管是二进制可执行病毒、脚本病毒还是宏病毒,它们都是一种程序,它需要调用操作***提供的各种功能函数才能达到传播自身和破坏***的目的。恶意软件的种种恶意行为在实现代码上表现为各种的API调用,如果能够检测到这些行为对应的API调用,就是检测出了相应的动态行为。因此,通过监视程序所调用的API函数来实现对程序的行为监控是一种有效的方法。
通过对恶意代码(病毒、蠕虫、木马)的动态分析以及经验知识分析总结,我们发现,恶意代码的传播和破坏主要表现在六个方面的行为特征:进程行为、特权行为、内存行为、注册表行为、文件行为和网络行为,这些行为的完成都是通过调用相应的API函数来实现。API函数是微软提供给用户作为应用程序开发的接口,本身是不具备恶意性的。也就是说,恶意软件调用的API,正常程序也是频繁调用。但综合考虑程序进程行为、特权行为、内存行为、注册表行为、文件行为和网络行为的相关API相同时间内的调用频率,恶意软件和正常程序间就具有很好的区分度了。本发明通过监测每个程序的API调用系列,统计每个程序以上六个行为方面相关API函数调用的频率,以此为特征通过数据挖掘的方法来判别是否是恶意软件。
用户态应用程序通过调用Win32API函数来请求基本的***服务,Win32API主要函数封装在Kernel32.dll和Advapi32.dll中。而窗口管理和绘图相关的***服务则分别实现于User32.dll和Gdi32.dll。Win32API函数对程序调用的参数进行检查确认,之后Win32API函数调用Ntdll.dll中与之对应的Native API函数。Native API是可由用户模式和核心模式程序调用的Windows***服务集接口,它们直接由操作***实现并在Ntdll.dll提供调用。例如,当应用程序调用Win32API CreateFi le()时,最终会转换为对Native API NtCreateFi le()的调用。User32.dl l、Aadvapi32.dl l、Gdi32.dl l、Rpcrt4.dl l以及Kernel32.dll里提供的Win32API都是提供调用接口,没有具体实现,都要调用Ntdll.dll的Native API来实现相应功能。应用程序和内核程序可以直接调用Ntdll.dll里的Native API实现相应功能,如果要监控程序的API调用,最好直接监控NativeAPI调用。如果是监控Win32API,程序绕过User32.dll、Aadvapi32.dll、Gdi32.dll、Rpcrt4.dll以及Kernel32.dll直接调用Native API,就不能监控到。
本发明将恶意软件的敏感Native API调用频率与数据挖掘分类算法相结合,构建的基于虚拟机和敏感Native API调用感知的恶意软件动态检测模型如图1所示。
检测模型分为2个阶段:训练阶段和检测阶段。训练阶段用于完成分类器的构建;而检测阶段用于完成恶意软件的检测。
模型由训练阶段的获取样本集的Native API系列开始,让样本文件在干净的分析环境中执行定长时间,记录下它的Native API系列,统计进程行为、特权行为、内存行为、注册表行为、文件行为和网络行为的Native API调用频率,然后使用这些数据来训练分类器,训练好的分类器能区分恶意软件和正常文件。
在检测阶段,把待检查文件放在干净的分析环境中执行,统计它在定长时间内的敏感Native API调用频率,使用训练阶段训练好的分类器,对待检测文件进行分类,得到是恶意软件或是正常文件的结果。
虽然基于代码仿真的启发式检测方法得到了广泛的应用,但随着恶意软件的演化发展,部分恶意软件已经具备了反虚拟、反调试、反跟踪能力,使得该方法检测率低、虚警率高。本发明构建的基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法,实现了透明的检测分析环境,提取出的特征相比其他方法相对较少且固定,且区分度较高,训练好的分类器相对简单,且具备较高准确率和性能。
方法描述:
1、基于Xen二次开发的分析检测环境实现:
1)现有恶意软件分析***及其存在的问题:
专用的病毒分析***有四种基本类型:基于真实***来建立、基于虚拟机软件、基于Bochs、Qemu等***级模拟器、基于应用程序层虚拟技术。这些分析***部分存在以下问题:
基于软件的虚拟能实现大部分虚拟工作,但少数指令的执行结果和在真实***上执行的结果有差异,一部分恶意软件已经利用了这些特征来检测恶意软件是否在虚拟环境中执行,如果检测到在虚拟环境中执行,恶意软件就会改变执行路径,很难发现其恶意行为。此外,由于x86架构硬件上的限制,基于软件虚拟的分析***在宿主操作***、虚拟机软件、被虚拟操作***的特权等级分离不是很清晰,现在已经发现少部分恶意软件已可穿越虚拟机,破坏宿主操作***,没有实现对被虚拟操作***的绝对隔离。
在真实***上运行恶意软件是比较理想的一种环境,但也存在很多问题,比如环境恢复到干净状态比较费时,监测单个恶意软件的执行很容易,但要批量的监测恶意软件的行为很难,因为执行一个恶意软件后都要把***恢复到干净状态,程序实现上比较复杂。更大的问题是监测恶意软件的行为必然要写程序Hook上Win32API调用,由于监测程序和恶意软件运行在同一***内,这样很多恶意软件能检测到这种监控,恶意软件就会改变执行路径,很难发现其恶意行为。同样的问题也在VMware、VirtualPC等虚拟环境中存在,因为VMware、VirtualPC不是开源的,不可能修改虚拟软件的代码来拦截相关操作,进行监控,也只能在被虚拟的操作***中Hook相关事件,恶意软件在被虚拟的操作***上运行能检测到这些Hook。
在虚拟机、模拟器或在被Hook相应事件的真实操作上执行恶意软件,执行时间都会是真实操作***上执行时间的很多倍,恶意软件对某个代码片段的执行时间简单的进行比对,就能发现其行为处以被监控之中,会不暴露其恶意行为,使得分析失败。
针对上面提到的问题,本发明基于开源虚拟机软件Xen进行二次开发,实现了透明的分析检测环境
2)基于开源硬件虚拟Xen二次开发的分析检测环境实现:
Xen是一款基于GPL授权方式的开源虚拟机软件,可用于Linux内核的一种虚拟化技术。Xen位于OS和硬件之间,为OS提供了虚拟硬件抽象层。含有Xen软件的***通常包含三个核心模块Hypervisor、guest内核、用户程序。Hypervisor的任务是将guest***跑起来,这些guest***也称之为域(Domain)。Xen启动后,首先要做的事情之一就是加载Domain 0内核,也就是说Domain 0是第一个启动的guest,而且拥有相对其他guest更高的权限,其他的domain称之为domain U-U表示非特权(unprivileged)。Xen运行的层级高于所有的Guest操作***,所有的Guest操作***对硬件的访问都要通过Xen Hypervisor。
从Xen的架构可以看出,让恶意软件在guest操作***(WinXP)中运行,要监控恶意软件的行为,有两种方式:
第一种:在guest操作***(WinXP)中编写程序Hook相应事件,在事件处理中记录恶意软件的行为,然后通过通信程序把结果传送出来。
第二种:对Xen的代码进行二次开发,在Xen Hypervi sor中监控恶意软件的行为。
第一种方式存在的问题是恶意软件和Hook程序同在guest操作***(WinXP)中运行,恶意软件可能会检测到被监视,此外Hook程序和guest操作***的虚拟会使恶意软件的运行时间是真实操作***上运行的多倍。第二种方式在XenHypervisor中监控,即使运行在内核级的恶意软件也不可能发现Xen Hypervisor的存在,为了解决在虚拟环境中恶意软件运行时间加长的问题,可以在XenHypervisor上统计恶意软件在硬件上的上的实际运行时间,修改Guest操作***的时钟,使恶意软件无法从时间上判断是否在虚拟环境和是否被监视。
本发明实现了第二种方式,具体的实现架构如图2:
二次开发后的Xen虚拟软件可以进行的监控如下:
a)可以监控整个guest操作***(WinXP)中Native API调用,从整个guest操作***(WinXP)的Native API调用可以看到是否某个程序存在非正常的行为;
b)可以单独监控某个程序的Native API调用,可以很好的揭示该程序的行为;
c)可以监控某个程序的动态指令序列,可以细粒度的对该程序进行分析;
d)可以监控某个程序的内存读写;
e)可以用两种方法实现通用脱壳。
该分析平台存在的优点:
a)基于硬件虚拟化技术,对Xen、Domain0操作***、DomainU操作***的特权等级进行了分离,恶意软件不可能穿越虚拟机,被虚拟的操作***运行在ring 0,虚拟操作***的应用程序运行在ring 3,被虚拟的操作***通过硬件虚拟直接在CPU上执行指令,和直接在硬件上执行指令一样,通过硬件虚拟指令保存Xen、Guest操作***的状态和进行状态切换,Xen Hypervisor对影响硬件状态的的指令进行陷入处理,Xen Hypervisor运行的特权等级比Guest操作***高,在Guest中运行的恶意软件不可能发现被监视;
b)实现了同时监控Sysenter,Syscall指令和软中断Int 0x2E,保证了所有的Native API调用方式都处于监控之中。因为监控的是Native API,保证了无论是从内核还是从用户态直接或间接调用Native API都处于监控之中,解决了大部分方案只能监控从用户态调用Win32API导致的漏监控缺陷;
c)实现了被虚拟操作***指令原始硬件执行时间的统计,以指令原始硬件执行时间来修改被虚拟操作***的时钟,防止了恶意软件通过计算程序片段执行时间来检测是否被监控或是否在虚拟环境运行的问题;
d)通过硬件虚拟实现虚拟化。因为传统x86架构不适合进行虚拟的缺陷,大部分x86架构的虚拟机技术都是通过软件实现虚拟,使得虚拟机软件设计比较复杂,庞大,执行效率不高,2006年后x86架构已开始增加指令支持硬件虚拟,本发明搭建的平台是基于硬件虚拟,虚拟机软件设计简单,执行效率较高;
e)平台的核心都是基于开源技术,可以基于需求进行进行二次开发。虚拟机软件是基于开源的Xen 3.1.0,特权域Domain0操作***是开源的DebianLinux lenny,虽然被虚拟的操作***Windows XP SP3不是开源的,但我们是在Xen Hypervisor部分进行监控,XP操作***的不开源对二次开发没有任何影响。
2、监测控制程序实现:
从图2可知,监测控制程序在运行在管理域Dom0(Debian Linux Lenny),恶意软件和正常文件样本在DomU(被虚拟的XP操作***)中运行,分析控制程序实现了样本的传送、监控的开始和停止、DomU的启动和关闭、DomU恢复到干净状态和定时。
监测控制程序实现流程如图3,DomU指的是被虚拟的Win XP SP3操作***:
如果有要分析的样本,首先把DomU(被虚拟操作***XP)恢复到干净状态,然后把DomU启动,把分析样本传送到DomU中,开启监控程序,使其监控样本的Native API调用,远程启动样本执行,开启定时器,如果定时时间到,远程终止样本的执行,停止监控程序,关闭DomU,如果要继续分析下一个样本,继续从开始执行,直到分析完所有样本。
监测控制程序伪代码实现如下:
procedure StartAnalazy();
(1)repeat;
(2)获取样本文件;
(3)恢复被虚拟***(Win XP)的映像文件为干净状态;
(4)启动被虚拟***(Win XP);
(5)把样本传人被虚拟***(Win XP);
(6)开启Native API监控程序;
(7)通过远程调用在被虚拟操作***中运行传入的样本;
(8)Sleep(定长时间);
(9)通过远程调用终止样本的执行;
(10)关闭Native API监控程序;
(11)关闭被虚拟***(Win XP);
(12)until分析完所有样本。
3、恶意软件分类器的训练学习和检测实现
实现步骤分为训练阶段和检测阶段,如下:
1)训练阶段:
a、获取训练样本:训练样本分为恶意软件样本和正常文件样本,如果在实际反病毒产品中,应获取足够多的训练样本,考虑到我们只是验证方法的实现,我们从经过杀毒软件检测无病毒的XP***windows目录和ProgramFiles目下获取了正常PE文件350个,从vxheavens.com网站下载了恶意软件493个,共计843个样本,恶意软件的分布如下表(参见表2):
表2PE格式恶意软件分布表
恶意软件类型 | Worm | Trojan | Virus | 总数 |
数量(个) | 137 | 156 | 200 | 493 |
b)使用监测控制程序在分析检测环境中运行训练样本文件(共843个)定长时间,获取每个样本进程行为、特权行为、内存行为、注册表行为、文件行为和网络行为的相关NativeAPI的调用频率,监控的Native API如下:
进程行为:
NtCreateEvent,NtQueryInformationToken,NtReleaseSemaphore,NtAdjustPrivilegesToken,NtImpersonateAnonymousToken,NtQueryInformationJobObject,NtReleaseMutant,NtDuplicateToken,NtDelayExecution,NtFindAtom,NtQueryInformationAtom,NtWaitForSingleObject,NtYieldExecution,NtAddAtom,NtDuplicateObject,NtWaitForMultipleObjects,NtQueryObject,NtCreateMutant,NtRegi sterThreadTerminatePort,NtSetContextThread,NtGetContextThread,NtQueueApcThread,NtSetThreadExecutionState,NtTerminateProcess,NtOpenProcess,NtTerminateThread,NtQueryInformationProcess,NtSetInformationProcess,NtQueryInformationThread,NtOpenThreadTokenEx,NtOpenProcessTokenEx,NtOpenThreadToken,NtOpenProcessToken,NtCreateThread,NtResumeThread,NtCreateProcessEx,NtSetInformationThread,NtCreateSemaphore,NtReplyPort,NtRequestPort,NtCreatePort,NtCompleteConnectPort,NtReadRequestData,NtReplyWaitReceivePortEx,NtSecureConnectPort,NtRequestWaitReplyPort,NtConnectPort;
特权行为:
NtSetEvent,NtOpenKeyedEvent,NtAllocateUuids,NtAccessCheckByType,NtQueryTimer,NtQueryTimerResolution,NtCancelTimer,NtQueryInstallUILanguage,NtAl locateLocal lyUniqueId,NtSetInformationObject,NtQueryDefaultUILanguage,NtTestAlert,NtFlushInstructionCache,NtQueryDefaultLocale,NtSetTimer,NtRaiseHardError,NtQuerySecurityObject,NtCreateIoCompletion,NtOpenEvent,NtQuerySystemInformation,NtSetEventBoostPriority,NtQueryPerformanceCounter,NtAccessCheck,NtClearEvent,NtQuerySystemTime,NtQueryDebugFi lterState,NtOpenSymbolicLinkObject,NtQuerySymbolicLinkObject,NtQueryEvent,NtRaiseException,NtRemoveIoCompletion;
内存行为:
NtQuerySection,NtOpenSection,NtMapViewOfSection,NtUnmapViewOfSection,NtCreateSection,NtReadVirtualMemory,NtProtectVirtualMemory,NtQueryVirtualMemory,NtWriteVirtualMemory,NtLockVirtualMemory,NtFlushVirtualMemory,NtAl locateVirtualMemory,NtFreeVirtualMemory;
注册表行为:
NtNotifyChangeMultipleKeys,NtSetValueKey,NtDeleteKey,NtDeleteValueKey,NtCreateKey,NtQueryValueKey,NtOpenKey,NtQueryKey,NtEnumerateValueKey,NtNot i fyChangeKey,NtEnumerateKey;
文件行为:
NtQueryFullAttributesFi le,NtReadFi le,NtFlushBuffersFile,NtAreMappedFilesTheSame,NtOpenDirectoryObject,NtUnlockFile,NtLockFile,NtQueryInformationFile,NtOpenFile,NtCreateFile,NtDeviceIoControlFile,NtQueryAttributesFile,NtQueryDirectoryFile,NtSetInformationFile,NtQueryVolumeInformationFile,NtWriteFile,NtFsControlFile;
网络行为:
LISTEN,RECV,SEND,DNS_LOOKUP,CONNECT
c)把敏感Native API的调用频率作为特征,使用WEAK数据挖掘软件的四种分类算法J48(C4.5的第八个版本),RandomForest,Bagging(j48),AdboostM1(j48)来训练四种分类器,训练后的四种分类器检测恶意软件的正确率差不多,都在93.9%以上,可以任意选用一种。
2)检测阶段:
对待检测的PE文件,使用监测控制程序把待检测文件在分析检测环境中运行定长时间,获取每个样本进程行为、特权行为、内存行为、注册表行为、文件行为和网络行为的相关NativeAPI的调用频率,使用训练好的任一分类器,以监测的Native API调用频率为特征进行分类,分类结果即为恶意软件或正常文件。
3)实验结果:
用以上方法对843个样本进行10等份交叉验证的结果为(参见表3):
表3分析样本1分钟的恶意软件检测结果
Claims (3)
1.一种基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法,其特征是:
检测模型分为2个阶段:训练阶段和检测阶段;训练阶段用于完成分类器的构建;而检测阶段用于完成恶意软件的检测;
在训练阶段,首先获取样本文件集的Native API系列,让样本文件在干净的分析环境中执行定长时间,记录下它的Native API系列,统计进程行为、特权行为、内存行为、注册表行为、文件行为和网络行为的Native API调用频率,然后使用这些数据来训练分类器,训练好的分类器用作区分恶意软件和正常文件;
在检测阶段,把待检查文件放在干净的分析环境中执行,统计它在定长时间内的进程行为、特权行为、内存行为、注册表行为、文件行为和网络行为的NativeAPI调用频率,使用训练阶段训练好的分类器,对待检查文件进行分类,得到是恶意软件或是正常文件的结果。
2.根据权利要求1所述的基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法,其特征是:所述检测模型基于Xen二次开发的分析检测环境;所述文件为Windows平台PE文件。
3.根据权利要求1或2所述的基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法,其特征是:所述文件的进程行为、特权行为、内存行为、注册表行为、文件行为和网络行为分别如下:
进程行为:
NtCreateEvent,NtQueryInformationToken,NtReleaseSemaphore,NtAdjustPrivi legesToken,NtImpersonateAnonymousToken,NtQueryInformationJobObject,NtReleaseMutant,NtDuplicateToken,NtDelayExecution,NtFindAtom,NtQueryInformationAtom,NtWaitForSingleObject,NtYieldExecution,NtAddAtom,NtDuplicateObject,NtWaitForMultipleObjects,NtQueryObject,NtCreateMutant,NtRegisterThreadTerminatePort,NtSetContextThread,NtGetContextThread,NtQueueApcThread,NtSetThreadExecutionState,NtTerminateProcess,NtOpenProcess,NtTerminateThread,NtQueryInformationProcess,NtSetInformationProcess,NtQueryInformationThread,NtOpenThreadTokenEx,NtOpenProcessTokenEx,NtOpenThreadToken,NtOpenProcessToken,NtCreateThread,NtResumeThread,NtCreateProcessEx,NtSetInformationThread,NtCreateSemaphore,NtReplyPort,NtRequestPort,NtCreatePort,NtCompleteConnectPort,NtReadRequestData,NtReplyWaitReceivePortEx,NtSecureConnectPort,NtRequestWaitReplyPort,NtConnectPort;
特权行为:
NtSetEvent,NtOpenKeyedEvent,NtAllocateUuids,NtAccessCheckByType,NtQueryTimer,NtQueryTimerResolution,NtCancelTimer,NtQueryInstallUILanguage,NtAllocateLocallyUniqueId,NtSetInformationObject,NtQueryDefaultUILanguage,NtTestAlert,NtFlushInstructionCache,NtQueryDefaultLocale,NtSetTimer,NtRaiseHardError,NtQuerySecurityObject,NtCreateIoCompletion,NtOpenEvent,NtQuerySystemInformation,NtSetEventBoostPriority,NtQueryPerformanceCounter,NtAccessCheck,NtClearEvent,NtQuerySystemTime,NtQueryDebugFi lterState,NtOpenSymbolicLinkObject,NtQuerySymbolicLinkObject,NtQueryEvent,NtRaiseException,NtRemoveIoCompletion;
内存行为:
NtQuerySection,NtOpenSection,NtMapViewOfSection,NtUnmapViewOfSection,NtCreateSection,NtReadVirtualMemory,NtProtectVirtualMemory,NtQueryVirtualMemory,NtWriteVirtualMemory,NtLockVirtualMemory,NtFlushVirtualMemory,NtAl locateVirtualMemory,NtFreeVirtualMemory;
注册表行为:
NtNotifyChangeMultitipleKeys,NtSetValueKey,NtDeleteKey,NtDeleteValueKey,NtCreateKey,NtQueryValueKey,NtOpenKey,NtQueryKey,NtEnumerateValueKey,NtNotifyChangeKey,NtEnumerateKey;
文件行为:
NtQueryFullAttributesFile,NtReadFile,NtFlushBuffersFile,NtAreMappedFilesTheSame,NtOpenDirectoryObject,NtUnlockFile,NtLockFile,NtQueryInformationFile,NtOpenFile,NtCreateFile,NtDeviceIoControlFile,NtQueryAttributesFile,NtQueryDirectoryFi le,NtSetInformationFile,NtQueryVolumeInformationFile,NtWriteFile,NtFsControlFile;
网络行为:
LISTEN,RECV,SEND,DNS_LOOKUP,CONNECT;
在训练阶段:
获取训练样本:应获取足够多的训练样本,训练样本分为恶意软件样本和正常文件样本;
所述训练分类器时使用WEAK数据挖掘软件的四种分类算法J48来训练四种分类器;
在检测阶段:
获取待检查文件定长时间内的进程行为、特权行为、内存行为、注册表行为、文件行为和网络行为的NativeAPI的调用频率,使用训练好的任一分类器,对待检查文件进行分类,分类结果即为恶意软件或正常文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100263696A CN102034050A (zh) | 2011-01-25 | 2011-01-25 | 基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100263696A CN102034050A (zh) | 2011-01-25 | 2011-01-25 | 基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102034050A true CN102034050A (zh) | 2011-04-27 |
Family
ID=43886930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100263696A Pending CN102034050A (zh) | 2011-01-25 | 2011-01-25 | 基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102034050A (zh) |
Cited By (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102254120A (zh) * | 2011-08-09 | 2011-11-23 | 成都市华为赛门铁克科技有限公司 | 恶意代码的检测方法、***及相关装置 |
CN102289616A (zh) * | 2011-06-30 | 2011-12-21 | 北京邮电大学 | 移动智能终端中***资源恶意侵占的防范方法和*** |
CN102355519A (zh) * | 2011-06-30 | 2012-02-15 | 北京邮电大学 | 移动智能终端的恶意电话拨打防范方法及其*** |
CN102722672A (zh) * | 2012-06-04 | 2012-10-10 | 奇智软件(北京)有限公司 | 一种检测运行环境真实性的方法及装置 |
CN102750475A (zh) * | 2012-06-07 | 2012-10-24 | 中国电子科技集团公司第三十研究所 | 基于虚拟机内外视图交叉比对恶意代码行为检测方法及*** |
CN102750484A (zh) * | 2012-06-28 | 2012-10-24 | 腾讯科技(深圳)有限公司 | 一种防止病毒样本自检的方法及装置 |
CN102801579A (zh) * | 2012-06-29 | 2012-11-28 | 杭州华三通信技术有限公司 | 一种连续监听VMWare事件的方法和装置 |
CN102902700A (zh) * | 2012-04-05 | 2013-01-30 | 中国人民解放军国防科学技术大学 | 基于在线增量演化主题模型的软件自动分类方法 |
CN103136475A (zh) * | 2011-11-29 | 2013-06-05 | 姚纪卫 | 一种检查计算机病毒的方法和装置 |
CN103218566A (zh) * | 2013-01-25 | 2013-07-24 | 江南大学 | 基于Android平台软件行为检测的主动防御*** |
CN103428212A (zh) * | 2013-08-08 | 2013-12-04 | 电子科技大学 | 一种恶意代码检测及防御的方法 |
CN103530118A (zh) * | 2013-09-30 | 2014-01-22 | 广州华多网络科技有限公司 | 将自定义dll注入目标进程的方法及装置 |
CN103632099A (zh) * | 2013-09-29 | 2014-03-12 | 广州华多网络科技有限公司 | 未导出的Native API函数获取方法及装置 |
CN103646086A (zh) * | 2013-12-13 | 2014-03-19 | 北京奇虎科技有限公司 | 一种垃圾文件的清理方法和装置 |
CN104200161A (zh) * | 2014-08-05 | 2014-12-10 | 杭州安恒信息技术有限公司 | 一种实现沙箱智能检测文件的方法及其沙箱智能检测*** |
CN104252447A (zh) * | 2013-06-27 | 2014-12-31 | 贝壳网际(北京)安全技术有限公司 | 文件行为分析方法及装置 |
CN104346570A (zh) * | 2014-12-01 | 2015-02-11 | 西安邮电大学 | 一种基于动态代码序列跟踪分析的木马判定*** |
CN104751052A (zh) * | 2013-12-30 | 2015-07-01 | 南京理工大学常熟研究院有限公司 | 基于svm算法的移动智能终端软件的动态行为分析方法 |
CN104766011A (zh) * | 2015-03-26 | 2015-07-08 | 国家电网公司 | 基于主机特征的沙箱检测告警方法和*** |
CN105046152A (zh) * | 2015-07-24 | 2015-11-11 | 四川大学 | 基于函数调用图指纹的恶意软件检测方法 |
CN105760760A (zh) * | 2015-01-05 | 2016-07-13 | 润钜股份有限公司 | 动态检测应用程序的智能型装置及方法、以及计算机程序产品 |
CN105975851A (zh) * | 2016-04-27 | 2016-09-28 | 北京金山安全软件有限公司 | 一种进程处理方法及装置 |
CN106503552A (zh) * | 2016-09-19 | 2017-03-15 | 南京邮电大学 | 基于签名与数据流模式挖掘的Android恶意软件检测***及方法 |
CN106709349A (zh) * | 2016-12-15 | 2017-05-24 | 中国人民解放军国防科学技术大学 | 一种基于多维度行为特征的恶意代码分类方法 |
CN106709336A (zh) * | 2015-11-18 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 识别恶意软件的方法和装置 |
CN107169355A (zh) * | 2017-04-28 | 2017-09-15 | 北京理工大学 | 一种蠕虫同源性分析方法和装置 |
CN107483386A (zh) * | 2016-06-08 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 分析网络数据的方法及装置 |
CN107590382A (zh) * | 2017-09-29 | 2018-01-16 | 杭州安恒信息技术有限公司 | 一种基于虚拟机动态执行的恶意软件检测分析方法与装置 |
CN107690627A (zh) * | 2015-06-01 | 2018-02-13 | 高通股份有限公司 | 交叉模块行为验证 |
CN108093652A (zh) * | 2015-06-27 | 2018-05-29 | 迈克菲有限责任公司 | 应用的模拟 |
CN108351936A (zh) * | 2015-11-11 | 2018-07-31 | 高通股份有限公司 | 检测虚拟机或者仿真器的程序规避 |
CN108345795A (zh) * | 2017-01-23 | 2018-07-31 | 西普霍特公司 | 用于检测和分类恶意软件的***和方法 |
CN108959951A (zh) * | 2017-05-19 | 2018-12-07 | 北京瑞星网安技术股份有限公司 | 文档安全防护的方法、装置、设备及可读存储介质 |
CN109033839A (zh) * | 2018-08-10 | 2018-12-18 | 天津理工大学 | 一种基于动态多特征的恶意软件检测方法 |
CN109101815A (zh) * | 2018-07-27 | 2018-12-28 | 平安科技(深圳)有限公司 | 一种恶意软件检测方法及相关设备 |
CN109409089A (zh) * | 2018-09-28 | 2019-03-01 | 西安电子科技大学 | 一种基于虚拟机自省的Windows加密型勒索软件检测方法 |
CN110334511A (zh) * | 2019-06-21 | 2019-10-15 | 南京航空航天大学 | 一种基于虚拟化的安卓恶意程序检测方法 |
CN110362995A (zh) * | 2019-05-31 | 2019-10-22 | 电子科技大学成都学院 | 一种基于逆向与机器学习的恶意软件检测及分析*** |
CN110781081A (zh) * | 2019-10-12 | 2020-02-11 | 南京信息职业技术学院 | 一种移动应用回调强制触发方法、***及存储介质 |
CN112395602A (zh) * | 2019-08-15 | 2021-02-23 | 奇安信安全技术(珠海)有限公司 | 静态安全特征数据库的处理方法、装置及*** |
CN112585662A (zh) * | 2018-06-26 | 2021-03-30 | 西门子股份公司 | 用于自动共享过程知识的方法和*** |
CN112685737A (zh) * | 2020-12-24 | 2021-04-20 | 恒安嘉新(北京)科技股份公司 | 一种app的检测方法、装置、设备及存储介质 |
CN113139176A (zh) * | 2020-01-20 | 2021-07-20 | 华为技术有限公司 | 恶意文件的检测方法、装置、设备及存储介质 |
CN113221112A (zh) * | 2021-05-28 | 2021-08-06 | 广州大学 | 基于弱相关集成策略的恶意行为识别方法、***和介质 |
CN113221109A (zh) * | 2021-03-30 | 2021-08-06 | 浙江工业大学 | 一种基于生成对抗网络的恶意文件智能分析方法 |
CN113569244A (zh) * | 2021-09-18 | 2021-10-29 | 成都数默科技有限公司 | 一种基于处理器跟踪的内存恶意代码检测方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1731310A (zh) * | 2005-08-04 | 2006-02-08 | 西安交通大学 | Windows环境下的主机入侵检测方法 |
CN1875607A (zh) * | 2003-04-17 | 2006-12-06 | 迈克非公司 | 用于在移动通信框架内访问内容/安全分析功能的api***、方法和计算机程序产品 |
CN101183418A (zh) * | 2007-12-25 | 2008-05-21 | 北京大学 | 一种Windows隐蔽性恶意软件检测方法 |
CN101341491A (zh) * | 2005-12-20 | 2009-01-07 | 西姆毕恩软件有限公司 | 计算设备中的恶意软件检测 |
CN101388057A (zh) * | 2008-10-07 | 2009-03-18 | 珠海金山软件股份有限公司 | 一种网页防挂马的方法 |
US20100251340A1 (en) * | 2009-03-27 | 2010-09-30 | Wavemarket, Inc. | System and method for managing third party application program access to user information via a native application program interface (api) |
-
2011
- 2011-01-25 CN CN2011100263696A patent/CN102034050A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1875607A (zh) * | 2003-04-17 | 2006-12-06 | 迈克非公司 | 用于在移动通信框架内访问内容/安全分析功能的api***、方法和计算机程序产品 |
CN1731310A (zh) * | 2005-08-04 | 2006-02-08 | 西安交通大学 | Windows环境下的主机入侵检测方法 |
CN101341491A (zh) * | 2005-12-20 | 2009-01-07 | 西姆毕恩软件有限公司 | 计算设备中的恶意软件检测 |
CN101183418A (zh) * | 2007-12-25 | 2008-05-21 | 北京大学 | 一种Windows隐蔽性恶意软件检测方法 |
CN101388057A (zh) * | 2008-10-07 | 2009-03-18 | 珠海金山软件股份有限公司 | 一种网页防挂马的方法 |
US20100251340A1 (en) * | 2009-03-27 | 2010-09-30 | Wavemarket, Inc. | System and method for managing third party application program access to user information via a native application program interface (api) |
Cited By (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289616A (zh) * | 2011-06-30 | 2011-12-21 | 北京邮电大学 | 移动智能终端中***资源恶意侵占的防范方法和*** |
CN102355519A (zh) * | 2011-06-30 | 2012-02-15 | 北京邮电大学 | 移动智能终端的恶意电话拨打防范方法及其*** |
US9465941B2 (en) | 2011-08-09 | 2016-10-11 | Huawei Technologies Co., Ltd. | Method, system, and apparatus for detecting malicious code |
CN102254120A (zh) * | 2011-08-09 | 2011-11-23 | 成都市华为赛门铁克科技有限公司 | 恶意代码的检测方法、***及相关装置 |
CN102254120B (zh) * | 2011-08-09 | 2014-05-21 | 华为数字技术(成都)有限公司 | 恶意代码的检测方法、***及相关装置 |
CN103136475A (zh) * | 2011-11-29 | 2013-06-05 | 姚纪卫 | 一种检查计算机病毒的方法和装置 |
CN103136475B (zh) * | 2011-11-29 | 2017-07-04 | 姚纪卫 | 一种检查计算机病毒的方法和装置 |
CN102902700A (zh) * | 2012-04-05 | 2013-01-30 | 中国人民解放军国防科学技术大学 | 基于在线增量演化主题模型的软件自动分类方法 |
CN102902700B (zh) * | 2012-04-05 | 2015-02-25 | 中国人民解放军国防科学技术大学 | 基于在线增量演化主题模型的软件自动分类方法 |
CN102722672A (zh) * | 2012-06-04 | 2012-10-10 | 奇智软件(北京)有限公司 | 一种检测运行环境真实性的方法及装置 |
CN102722672B (zh) * | 2012-06-04 | 2015-10-14 | 北京奇虎科技有限公司 | 一种检测运行环境真实性的方法及装置 |
CN102750475A (zh) * | 2012-06-07 | 2012-10-24 | 中国电子科技集团公司第三十研究所 | 基于虚拟机内外视图交叉比对恶意代码行为检测方法及*** |
CN102750475B (zh) * | 2012-06-07 | 2017-08-15 | 中国电子科技集团公司第三十研究所 | 基于虚拟机内外视图交叉比对恶意代码行为检测方法及*** |
CN102750484A (zh) * | 2012-06-28 | 2012-10-24 | 腾讯科技(深圳)有限公司 | 一种防止病毒样本自检的方法及装置 |
CN102801579B (zh) * | 2012-06-29 | 2015-12-02 | 杭州华三通信技术有限公司 | 一种连续监听VMWare事件的方法和装置 |
CN102801579A (zh) * | 2012-06-29 | 2012-11-28 | 杭州华三通信技术有限公司 | 一种连续监听VMWare事件的方法和装置 |
CN103218566A (zh) * | 2013-01-25 | 2013-07-24 | 江南大学 | 基于Android平台软件行为检测的主动防御*** |
CN104252447A (zh) * | 2013-06-27 | 2014-12-31 | 贝壳网际(北京)安全技术有限公司 | 文件行为分析方法及装置 |
CN103428212A (zh) * | 2013-08-08 | 2013-12-04 | 电子科技大学 | 一种恶意代码检测及防御的方法 |
CN103632099A (zh) * | 2013-09-29 | 2014-03-12 | 广州华多网络科技有限公司 | 未导出的Native API函数获取方法及装置 |
CN103632099B (zh) * | 2013-09-29 | 2016-08-17 | 广州华多网络科技有限公司 | 未导出的Native API函数获取方法及装置 |
CN103530118A (zh) * | 2013-09-30 | 2014-01-22 | 广州华多网络科技有限公司 | 将自定义dll注入目标进程的方法及装置 |
CN103530118B (zh) * | 2013-09-30 | 2017-01-11 | 广州华多网络科技有限公司 | 将自定义dll注入目标进程的方法及装置 |
CN103646086A (zh) * | 2013-12-13 | 2014-03-19 | 北京奇虎科技有限公司 | 一种垃圾文件的清理方法和装置 |
CN103646086B (zh) * | 2013-12-13 | 2017-01-25 | 北京奇虎科技有限公司 | 一种垃圾文件的清理方法和装置 |
CN104751052A (zh) * | 2013-12-30 | 2015-07-01 | 南京理工大学常熟研究院有限公司 | 基于svm算法的移动智能终端软件的动态行为分析方法 |
CN104200161A (zh) * | 2014-08-05 | 2014-12-10 | 杭州安恒信息技术有限公司 | 一种实现沙箱智能检测文件的方法及其沙箱智能检测*** |
CN104200161B (zh) * | 2014-08-05 | 2017-01-25 | 杭州安恒信息技术有限公司 | 一种实现沙箱智能检测文件的方法及其沙箱智能检测*** |
CN104346570A (zh) * | 2014-12-01 | 2015-02-11 | 西安邮电大学 | 一种基于动态代码序列跟踪分析的木马判定*** |
CN105760760A (zh) * | 2015-01-05 | 2016-07-13 | 润钜股份有限公司 | 动态检测应用程序的智能型装置及方法、以及计算机程序产品 |
CN104766011B (zh) * | 2015-03-26 | 2017-09-12 | 国家电网公司 | 基于主机特征的沙箱检测告警方法和*** |
CN104766011A (zh) * | 2015-03-26 | 2015-07-08 | 国家电网公司 | 基于主机特征的沙箱检测告警方法和*** |
CN107690627A (zh) * | 2015-06-01 | 2018-02-13 | 高通股份有限公司 | 交叉模块行为验证 |
CN108093652A (zh) * | 2015-06-27 | 2018-05-29 | 迈克菲有限责任公司 | 应用的模拟 |
CN105046152B (zh) * | 2015-07-24 | 2018-01-26 | 四川大学 | 基于函数调用图指纹的恶意软件检测方法 |
CN105046152A (zh) * | 2015-07-24 | 2015-11-11 | 四川大学 | 基于函数调用图指纹的恶意软件检测方法 |
CN108351936A (zh) * | 2015-11-11 | 2018-07-31 | 高通股份有限公司 | 检测虚拟机或者仿真器的程序规避 |
CN108351936B (zh) * | 2015-11-11 | 2021-11-23 | 高通股份有限公司 | 检测虚拟机或者仿真器的程序规避 |
US10635812B2 (en) | 2015-11-18 | 2020-04-28 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for identifying malicious software |
CN106709336A (zh) * | 2015-11-18 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 识别恶意软件的方法和装置 |
CN105975851A (zh) * | 2016-04-27 | 2016-09-28 | 北京金山安全软件有限公司 | 一种进程处理方法及装置 |
CN105975851B (zh) * | 2016-04-27 | 2019-02-12 | 珠海豹趣科技有限公司 | 一种进程处理方法及装置 |
CN107483386A (zh) * | 2016-06-08 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 分析网络数据的方法及装置 |
CN106503552A (zh) * | 2016-09-19 | 2017-03-15 | 南京邮电大学 | 基于签名与数据流模式挖掘的Android恶意软件检测***及方法 |
CN106709349A (zh) * | 2016-12-15 | 2017-05-24 | 中国人民解放军国防科学技术大学 | 一种基于多维度行为特征的恶意代码分类方法 |
CN106709349B (zh) * | 2016-12-15 | 2019-10-29 | 中国人民解放军国防科学技术大学 | 一种基于多维度行为特征的恶意代码分类方法 |
CN108345795A (zh) * | 2017-01-23 | 2018-07-31 | 西普霍特公司 | 用于检测和分类恶意软件的***和方法 |
CN108345795B (zh) * | 2017-01-23 | 2021-12-07 | 西普霍特公司 | 用于检测和分类恶意软件的***和方法 |
CN107169355A (zh) * | 2017-04-28 | 2017-09-15 | 北京理工大学 | 一种蠕虫同源性分析方法和装置 |
CN107169355B (zh) * | 2017-04-28 | 2020-05-08 | 北京理工大学 | 一种蠕虫同源性分析方法和装置 |
CN108959951A (zh) * | 2017-05-19 | 2018-12-07 | 北京瑞星网安技术股份有限公司 | 文档安全防护的方法、装置、设备及可读存储介质 |
CN107590382A (zh) * | 2017-09-29 | 2018-01-16 | 杭州安恒信息技术有限公司 | 一种基于虚拟机动态执行的恶意软件检测分析方法与装置 |
CN112585662A (zh) * | 2018-06-26 | 2021-03-30 | 西门子股份公司 | 用于自动共享过程知识的方法和*** |
CN109101815B (zh) * | 2018-07-27 | 2023-04-07 | 平安科技(深圳)有限公司 | 一种恶意软件检测方法及相关设备 |
CN109101815A (zh) * | 2018-07-27 | 2018-12-28 | 平安科技(深圳)有限公司 | 一种恶意软件检测方法及相关设备 |
CN109033839A (zh) * | 2018-08-10 | 2018-12-18 | 天津理工大学 | 一种基于动态多特征的恶意软件检测方法 |
CN109409089A (zh) * | 2018-09-28 | 2019-03-01 | 西安电子科技大学 | 一种基于虚拟机自省的Windows加密型勒索软件检测方法 |
CN109409089B (zh) * | 2018-09-28 | 2021-11-23 | 西安电子科技大学 | 一种基于虚拟机自省的Windows加密型勒索软件检测方法 |
CN110362995A (zh) * | 2019-05-31 | 2019-10-22 | 电子科技大学成都学院 | 一种基于逆向与机器学习的恶意软件检测及分析*** |
CN110334511A (zh) * | 2019-06-21 | 2019-10-15 | 南京航空航天大学 | 一种基于虚拟化的安卓恶意程序检测方法 |
CN112395602A (zh) * | 2019-08-15 | 2021-02-23 | 奇安信安全技术(珠海)有限公司 | 静态安全特征数据库的处理方法、装置及*** |
CN112395602B (zh) * | 2019-08-15 | 2022-09-30 | 奇安信安全技术(珠海)有限公司 | 静态安全特征数据库的处理方法、装置及*** |
CN110781081B (zh) * | 2019-10-12 | 2024-04-09 | 南京信息职业技术学院 | 一种移动应用回调强制触发方法、***及存储介质 |
CN110781081A (zh) * | 2019-10-12 | 2020-02-11 | 南京信息职业技术学院 | 一种移动应用回调强制触发方法、***及存储介质 |
CN113139176A (zh) * | 2020-01-20 | 2021-07-20 | 华为技术有限公司 | 恶意文件的检测方法、装置、设备及存储介质 |
CN112685737A (zh) * | 2020-12-24 | 2021-04-20 | 恒安嘉新(北京)科技股份公司 | 一种app的检测方法、装置、设备及存储介质 |
CN113221109A (zh) * | 2021-03-30 | 2021-08-06 | 浙江工业大学 | 一种基于生成对抗网络的恶意文件智能分析方法 |
CN113221109B (zh) * | 2021-03-30 | 2022-06-28 | 浙江工业大学 | 一种基于生成对抗网络的恶意文件智能分析方法 |
CN113221112A (zh) * | 2021-05-28 | 2021-08-06 | 广州大学 | 基于弱相关集成策略的恶意行为识别方法、***和介质 |
CN113221112B (zh) * | 2021-05-28 | 2022-03-04 | 广州大学 | 基于弱相关集成策略的恶意行为识别方法、***和介质 |
CN113569244A (zh) * | 2021-09-18 | 2021-10-29 | 成都数默科技有限公司 | 一种基于处理器跟踪的内存恶意代码检测方法 |
CN113569244B (zh) * | 2021-09-18 | 2021-12-03 | 成都数默科技有限公司 | 一种基于处理器跟踪的内存恶意代码检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102034050A (zh) | 基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法 | |
Carmony et al. | Extract Me If You Can: Abusing PDF Parsers in Malware Detectors. | |
Wilhelm et al. | A forced sampled execution approach to kernel rootkit identification | |
US9917855B1 (en) | Mixed analysys-based virtual machine sandbox | |
Azmandian et al. | Virtual machine monitor-based lightweight intrusion detection | |
Canfora et al. | Acquiring and analyzing app metrics for effective mobile malware detection | |
Blackthorne et al. | {AVLeak}: fingerprinting antivirus emulators through {Black-Box} testing | |
Rathnayaka et al. | An efficient approach for advanced malware analysis using memory forensic technique | |
Lengyel et al. | Virtual machine introspection in a hybrid honeypot architecture. | |
Ho et al. | PREC: practical root exploit containment for android devices | |
Choudhary et al. | A simple method for detection of metamorphic malware using dynamic analysis and text mining | |
CN106778266A (zh) | 一种基于机器学习的安卓恶意软件动态检测方法 | |
Musavi et al. | Back to static analysis for kernel-level rootkit detection | |
Dai et al. | Behavior-based malware detection on mobile phone | |
Copty et al. | Accurate malware detection by extreme abstraction | |
Druffel et al. | Davinci: Android app analysis beyond frida via dynamic system call instrumentation | |
Salehi et al. | Detecting malicious applications using system services request behavior | |
Sihag et al. | Opcode n-gram based malware classification in android | |
Kaur et al. | A complete dynamic malware analysis | |
Salehi et al. | Android malware detection using Markov Chain model of application behaviors in requesting system services | |
Lee et al. | Kernel-level rootkits features to train learning models against namespace attacks on containers | |
Reeves | Autoscopy Jr.: Intrusion detection for embedded control systems | |
Papazis et al. | Detecting indicators of deception in emulated monitoring systems | |
Guerra-Manzanares et al. | Cross-device behavioral consistency: benchmarking and implications for effective android malware detection | |
Pendergrass et al. | Lkim: The linux kernel integrity measurer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110427 |