CN101373502A - 基于Win32平台下病毒行为的自动化分析系统 - Google Patents
基于Win32平台下病毒行为的自动化分析系统 Download PDFInfo
- Publication number
- CN101373502A CN101373502A CNA2008100372776A CN200810037277A CN101373502A CN 101373502 A CN101373502 A CN 101373502A CN A2008100372776 A CNA2008100372776 A CN A2008100372776A CN 200810037277 A CN200810037277 A CN 200810037277A CN 101373502 A CN101373502 A CN 101373502A
- Authority
- CN
- China
- Prior art keywords
- module
- sample
- virus
- data
- virtual machine
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了基于Win32平台下病毒行为的自动化分析系统,该系统主要由数据模块、控制模块以及运行模块组成,所述控制模块工作于物理机环境中,所述运行模块工作于由虚拟机形成的虚拟环境中;所述数据模块中样本数据模块通过自动入库模块连接行为数据模块;所述运行模块中捕获引擎模块与HOOKDELL模块进行数据交换;所述控制模块连接样本数据模块以及行为数据模块,并且控制运行模块中的捕获引擎模块。本发明的监控范围非常的广、实用性强、可以应对能造成直接破坏的恶意代码,同时还能够实现自动对样本进行快速、准确的分析使得我们的电脑能够得到全面的保护。
Description
技术领域:
本发明涉及计算机病毒防治技术领域,特别涉及一种基于病毒行为的自动化分析系统。
背景技术:
随着计算机软硬件水平的不断发展,近年来,计算机病毒技术也是突飞猛进,黑客和间谍技术也在不断更新改进。计算机病毒对人类造成的影响也越来越大。当前,计算机病毒正呈现出传播方式、传播途径以及破坏方式更加多样化的趋势。
据国家计算机病毒应急处理中心综合观察分析认为:“目前计算机病毒的网络化趋势更加明显,病毒的入侵主要来自蠕虫病毒,同时集病毒、黑客、木马等功能于一身综合型病毒不断涌现”。计算机病毒表现出以下特点:传播方式和途径多样化;病毒的欺骗性日益增强;病毒的传播速度极快;病毒的制作成本降低;病毒变种增多;病毒难以控制和根治;病毒传播更具有不确定性和跳跃性;病毒版本自动在线升级和自我保护能力;病毒编制采用了集成方式等。
综合上述分析,今后计算机病毒的发展趋势是:群发邮件病毒将大量出现;针对系统漏洞的具有远程控制功能的病毒将越发突出;病毒和垃圾邮件编写者将不断加强合作;病毒编写者更加年轻化、更有组织性。计算机病毒具有极强的繁殖感染能力,而因计算机病毒所造成的危害正在加剧,病毒危害主要包括系统崩溃、网络瘫疾、系统设置被修改、电脑使用受限、数据丢失等。
目前,比较常见的病毒检测技术有以下几种:
(一)特征码技术;
特征码技术是一种基于对已知病毒分析、查解的反病毒技术。它作为反病毒技术中最基本的技术被沿用至今,也是到目前为止各类反病毒软件仍普遍采用的技术。特征码是一串二进制位信息,它能唯一标识某一非法程序,研究人员通过对非法程序样本的分析,提取出“特征码”写入反病毒软件的特征码库。
该技术对用户指定的某个或某几个文件进行扫描,以确定是否包含非法程序的特征码。在具体实现时,它最初是采用对待测文件全部扫描的方式,在病毒等非法程序出现的早期,非法程序的种类不过数百种,采用这种扫描方式还是比较快捷的。但在目前病毒、木马、蠕虫及其变种的总数超过60000的情况下,这种方式显然是效率低下的。为此,出现了一些用来提高特征码扫描效率的技术。例如,“所罗门”公司用非法程序内部的某段机器代码和该代码距离程序入口的偏移量来唯一确定一种非法程序,检测时,只需要确定非法程序的程序入口并从指定的偏移处开始查找指定的机器码即可。
特征代码法的优点是:检测准确快速、可识别病毒的名称、误报警率低。被公认为检测已知病毒的最简单、开销较小的方法。其缺点是:不能检测新病毒、捕获已知病毒的特征代码,费用开销大、在网络上效率低,因长时间检索会使整个网络性能降低。
(二)虚拟机技术;
虚拟机技术是一种启发式探测未知病毒的反病毒技术。虚拟机技术的主要作用是能够运行一定规则的描述语言。由于病毒的最终判定准则是其复制传染性,而这个标准是不易被使用和实现的,如果病毒已经传染了才判定它是病毒,定会给病毒的清除带来麻烦。
虚拟机实质是在反病毒系统中设置的一种程序机制,它能在内存中模拟一个操作系统环境,待查文件在虚拟机上执行,其效果如同物理机。虚拟机实际是用软件的方法模拟地执行所有的或者设计者关心的CPU指令,营造一个虚拟的、可观察的、可控制的目标程序运行环境。它相当于一个软件CPU盒,使得被调试程序的运行局限在一个透明的箱子里。
采用虚拟机技术的杀毒软件在杀毒时,首先使用的还是特征码查毒法,当发现目标具有加密病毒的特征时,其才会启动虚拟机模块让病毒的加密代码自行解码,解码之后,就可以采用传统的特征码查毒法进行查杀了。可见,对于已知加密病毒,提取其特征值也是非常重要的。
目前虚拟机的处理对象主要是文件型病毒。对于引导型病毒、word、excel宏病毒、木马程序在理论上都是可以通过虚拟机来处理的,但目前的实现水平仍相距甚远。就像病毒编码变形使得传统特征值方法失效一样,针对虚拟机的新病毒可以轻易使得虚拟机失效。虽然虚拟机也会在实践中不断得到发展。但是,PC的计算能力有限,反病毒软件的制造成本也有限,而病毒的发展可以说是无限的。
目前,虚拟机的实际应用情况是:
(1)在处理加壳或变形的木马和蠕虫方面,虚拟机被作为一个比较理想的选择。
(2)在目前各类安全软件中引入的虚拟机一般都不是完整的仿真环境,而是相对比较简单、易于实现的版本,即便如此,相对采用其他检测技术的安全软件,采用虚拟机技术的安全软件还是占用了更多的系统资源。
(3)虚拟机技术仍与传统技术相结合,其本质上的检测判断方法依然是特征码检查,对于那些经过修改而不是简单的加壳后的恶意软件效果比较有限。
(三)启发式扫描技术;
启发式扫描技术是一种基于人工智能领域启发式分析手段的检测技术,启发式扫描能够发现一些应用了已有机制或行为方式的未知病毒。启发式扫描一般包括静态扫描方式和动态扫描方式两种。启发式扫描是通过分析指令出现的顺序,或特定组合情况等常见病毒的标准特征来决定是否为病毒。因为病毒要达到隐蔽和破坏的目的,通常的行为都会有一定的特征,例如非常规读写文件、程序自删除、非常规切入ring0等等。所以可以根据扫描特定的行为或多种行为的组合来判断一个程序是否是病毒。这种启发式扫描比起静态的特征码扫描要先进,可以达到一定的未知病毒检测处理能力,相对于特征码识别技术,启发式扫描技术主要有以下优势:
(1)逃避启发式扫描比特征码扫描更困难;
(2)对未知病毒代码的检测能力优于特征码扫描技术;
(四)静态启发式扫描技术
静态启发式扫描技术和基于特征码的静态扫描类似,也是静态扫描待测程序的代码,但不同的是前者查找非法程序的特征码,而后者则查找非法程序的行为。而这些行为是通过某些相应的代码序列来确定的。
静态启发式扫描的工作流程一般是这样的:扫描某个待测文件当中的可执行代码,查找与非法程序行为相对应的代码序列,扫描结束后,关联所有查找到的序列,并与非法程序的典型行为模式相对照,最终做出判断。
静态扫描的优点是:这种技术在扫描代码时通过查找某些代码序列,确定程序是否具有某种类别的病毒的行为,因此,它也具有了检测未知病毒的能力。它的扫描速度比较快,未知病毒的检出率也比较高。另外它能在代码未运行的情况下,就确定代码的行为并检测非法程序。
不过它的缺点是:目前病毒、木马等非法程序的编写者为了让这些程序尽可能地传播和运行,大都对其作了加密、变形、加壳等处理,那么至少在其未运行的情况下,通常很难在它的代码当中找到对应于非法程序行为的代码序列。
(五)主动防御;
主动防御技术已被杀毒软件、软件防火墙、HIPS等安全软件广泛采用,现有的后门木马、Rootkit等恶意软件面临严峻考验。无论传统的恶意软件功能有多强大隐蔽性有多高,初次安装以及工作时都会被主动防御功能拦截并提示用户,使其无法正常安装和工作。
如图1所示,主动防御的主要内容包括:
(1)进程行为监控(代码注入、安装全局钩子、创建新进程、终止进程等);
(2)注册表监控;
(3)进程核心态(驱动安装、访问物理内存);
(4)文件监控;
(5)各模块交融后的逻辑判断关系;
通常来说主动防御功能指以上这些,后来有些安全软件厂商将传统的监控融合主动防御功能,形成更大层面的防御体系。传统木马后门等恶意软件,比如,灰鸽子、PcShare,黑洞、Poison Ivy,网络神偷、黑客守卫者、Byshell0.67、冰河等面临严峻的考验,因为即使功能再实用,隐蔽性再好,安装时被主动防御报警也是功亏一篑,安装成功后外连时无法穿越基于主机的防火墙。
主动防御的原理主要采用了hook思想,截获系统相关API调用,对相应的可疑行为进行报警,提示用户做出选择。具体来说,主动防御常用SSDT Hook、InlineHook、Hook Driver Dispatch、Filter Driver等内核技术,对恶意程序所需要的各类函数进行挂接,实行函数行为挂接,监控其行为。另外,有些安全软件内置小型专家系统(简单的可以理解为白名单和黑名单),实现智能判断,使操作更加智能化,较少的需要用户干预。SSDT hook工作原理如图2所示。
几乎所有的安全软件在安装API钩子时都会选择hook SSDT表,例如KIS6,ZoneAlarm Pro。我们如果能够进入内核模式,就可以使用一个驱动程序,读取系统文件ntoskrnl.exe/ntkrnlpa.exe/ntkrpamp.exe,从中提出我们所希望的SSDT表的原始函数地址,替换被安全软件hook的地址,用此方法可以通用性很好的解决绝大多数的API钩子实现的进程行为监控。不过此方法有一个前提,就是事先必须绕过监控进入内核空间。
常被挂钩的系统服务包括NtAllocateVirtualMemory、NtCreateProcess、NtCreateProcessEx、NtCreateThread、NtDebugActiveProcess、NtLoadDriver、NtMapViewOfSection、NtSetSystemInformation、NtShutdownSystem、NtTerminateProcess、NtWriteVirtualMemory、NtSetSystemInfomation、NtCreateKey、NtReplaceKey、NtQueryValueKey、NtCreateFile、win32k!NtUserSetWindowsHookEx等,如图3所示。
除了上述技术方案以外,目前还有有一种行为分析技术。所谓行为分析就是采用一系列的规则定义非法程序,相应地采用另一套规则定义合法程序,如果某个程序违背了合法程序的某项规则或者符合非法程序的某项规则,便可判定其非法。
与传统的基于特征码的静态扫描技术不同的是,行为分析技术监控并限制应用程序运行过程中的动态行为,和静态启发式扫描技术相对,它也被称为动态启发式扫描。某些行为是木马、后门和蠕虫等非法程序的共同行为,但在合法程序中却比较罕见,也就是说,它们成了非法程序的行为特征,可作为判别应用程序是否非法的依据或者规则。
早期采用行为分析技术的反恶意软件,一般通过对单个(类)具体行为的识别,来判断应用程序是否会造成潜在的风险,也被称为行为识别。从广义上来说,主机防火墙采用的就是行为识别技术。由于监控的是网络操作行为(如主机防火墙可监控主机上对外网络连接及服务端口),因此在防治木马方面取得了不错的效果。但是,行为分析技术同样存在着不足:
(1)需要尽可能全面的监控。如果有害行为没有被列入监控范围,可能会遗漏掉恶意软件。例如,如果像主机防火墙那样仅对网络行为进行识别,对于那些通过动态链接库注射方式把自己隐藏到合法网络通信程序中的间谍软件,则无法检测。
(2)考虑到软件的实用性,行为分析软件一般不会采用过于复杂的分析算法,一般多采用简单加权算法来进行分析。它通常为那些值得怀疑的行为设一个权值,如果一个程序的总权值超过了临界值,就将其判断为恶意软件。如果设计时将临界值设的太低,用户会被频繁的误报弄得不知所措,而如果临界值设得太高,则会遗漏掉恶意软件。因此,行为分析技术在进行全面监控的基础上,需要结合优化过的决策树或其它人工智能的算法对行为进行分析,在不增加计算复杂度的情况下尽可能地提高发现准确度。
(3)无法应对那些能造成直接破坏的恶意代码。对于格式化硬盘等直接破坏行为,等到检测再到经过分析,就来不及阻止了,考虑到恶意软件中极少出现类似情况,行为分析技术对恶意软件还是比较适用的,但不一定适合用于反病毒场合。因此,一个完整的反恶意软件,不能仅仅依赖行为分析技术去发现未知恶意代码,仍然需要传统特征码匹配技术的配合。
由于行为分析技术具有可检测未知非法程序的特点,所以成为目前反病毒领域研究的热点。根据部分安全软件厂商对新增木马行为分析组件的介绍和说明,并通过对具体产品的实际使用和观察,不难发现:现有的添加了行为分析这一功能模块的软件一般只检测某些单独的行为项(如修改注册表自启动项、文件关联、IE浏览器的起始页等)。它们所表现出来的工作流程也较为相似,都是通过用户判断来学习对某一软件的识别,简单自反馈(自学)模型,非常类似于防火墙等早期行为识别软件。
如图4示,“自反馈”模型首次检测到行为即将发生时,会立即通知用户,通知中包含较详细的文字描述。该模块根据用户的反馈进行下一步操作:或者阻止该行为,或者允许该行为,或者终止与该行为相关联的进程。另外,用户还可进行如下的设置:
(1)一直允许该进程的该行为;
(2)一直禁止该进程的该行为;
一旦进行了上述任何一项设置,模块再次检测到相同进程的相同行为时,通常不再询问用户,而根据设置自行处理,否则,处理方式仍与首次检测到该行为时相同。这种行为分析实现,只是对单个敏感行为进行了监控,缺少对多个行为的连贯综合分析,也缺少对行为的上下文环境分析,严重依赖用户的判断,容易导致较高的误报率。
发明内容:
本发明针对上述现有技术所存在的不足,而提供一种能够对病毒行为进行自动分析且速度快、准确率高的自动化分析系统。
为了达到所述目的,本发明所提供的基于Win32平台下病毒行为的自动化分析系统,该系统主要由数据模块、控制模块以及运行模块组成,所述控制模块工作于物理机环境中,所述运行模块工作于由虚拟机形成的虚拟环境中;所述数据模块中样本数据模块通过自动入库模块连接行为数据模块;所述运行模块中捕获引擎模块与HOOKDELL模块进行数据交换;所述控制模块连接样本数据模块以及行为数据模块,并且控制运行模块中的捕获引擎模块。
所述样本数据模块包括有病毒样本数据模块以及合法程序样本数据模块。
所述行为数据模块包括有用来将捕获的病毒样本行为数据记入数据模块中并进行统计,并转化成易于建模的二维表的病毒样本行为数据模块和用来将捕获的合法程序样本行为数据记入数据模块中并进行统计,并转化成易于建模的二维表的合法程序样本行为模块。
所述捕获引擎模块包括捕获引擎和插件。
所述捕获引擎在捕获样本动态行为通过以下步骤实现:
(1)对指定样本进程进行分析,检查被分析样本进程加载了哪些系统DLL;
(2)再根据工作目录下的HOOKDLL的导出函数表,来确定需要在被分析样本进程中哪些函数调用处设置调试断点;
(3)当样本进程执行到调试断点处会产生中断事件,通过调试子系统获得断点发生时被分析样本进程的执行环境(指令寄存器、堆栈寄存器等多个寄存器的值),并将中断时的堆栈参数送至HOOKDLL中相应的处理函数进行具体分析。
所述HOOKDLL负责接收捕获引擎捕获的函数及其实际参数,并对实际参数进行具体分析,将分析的结果进行格式化输出到数据库或文件中。
所述格式化输出的分析内容有两种,Trace型即记录函数调用的记录而不关注其参数,Analysis型即把函数和参数进行结合判断后再记录其行为特征。
所述自动入库模块是用于将大量样本的相关信息准确入库,通过访问这些数据库记录,可以使得整个联机系统中的每台捕获引擎都能够准确获取每个样本的路径信息并能访问样本库所在的物理机。
所述自动入库模块由文件检测和数据库操作两个子模块组成。
所述文件检测子模块通过以下步骤实现功能:首先对用户输入的信息进行校验,判断输入数据是否正确,然后根据输入的参数信息,判断是否进行数字签名和文件格式检测,以及相关的DLL检测。
所述数据库操作子模块能够对数据库执行读数据操作、写数据操作、自定义的其他操作。
所述控制模块的处理流程:
(1)连接数据库,从对象程序表中取得未分析的数据;
(2)启动虚拟机,并登陆虚拟机中的操作系统;
(3)传送样本文件至虚拟机中的操作系统,存放在虚拟机C盘根目录下;
(4)启动捕获引擎并对样本的行为实施跟踪,并将行为记录下如XML文件中;
(5)跟踪完毕后,关闭虚拟机,并将回传的XML文件解析,其行为记录存入数据库的跟踪事件数据表。
控制模块对数据模块具有如下互斥操作流程:
(1)当虚拟机启动,首先控制模块会向数据模块请求一个未被分析样本的路径信息,对数据库中对象程序表和跟踪数据表中加X锁,查询对象程序表中的istraced和Prog_id两个字段的值,若istraced为false且Prog_id的值未在跟踪数据表中出现,则判断该样本未被分析过,并向主程序提交路径信息;
(2)若主程序成功下载病毒样本,在跟踪数据表插入一条新记录,并进行初始化操作,系统自动填入trace_id和prog_id两个字段的值,字段“程序跟踪状态”设置为“正在处理”;同时释放对象程序表和跟踪状态表的X锁;
(3)解析虚拟机传回来的含有病毒行为的XML文件,并记录至数据库中的跟踪事件数据表。
根据上述技术方案得到的本发明,具有以下优点:具有可检测未知非法程序,对于工具黑客对抗性较好,病毒难以通过简单改造甚至程序自动化改造逃避检测;对抗一族恶意代码而不是一个;本发明的监控范围非常的广、实用性强、可以应对能造成直接破坏的恶意代码,同时还能够实现自动对样本进行快速、准确的分析使得我们的电脑能够得到全面的保护。
附图说明:
以下结合附图和具体实施方式来进一步说明本发明。
图1为主动防御的层次结构示意图。
图2为SSDT HOOK工作原理示意图。
图3为常被挂钩的系统服务示意图
图4为简单自反馈模型的示意图。
图5为系统模块的结构示意图。
图6为捕获引擎设计原理图。
图7为本系统框架。
图8为本系统网络拓扑图。
图9为行为数据表E-R图
图10为本系统组件关系图。
图11为文件检测流程图。
图12为控制程序处理流程图。
图13为捕获引擎的处理流程图。
图14为HOOKDLL示意图。
图15为HOOKDLL处理流程图。
图16为HOOKDLL列表。
具体实施方式:
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
常见病毒行为的分析的为现有技术,这里将不加以赘述。
病毒动态行为自动化分析系统的主要功能是为了自动化获取并分析样本程序的动态行为数据。该系统由以下几个模块组成(如图5所示):
样本库:样本库包括两类样本,分别为黑样本库(病毒样本)、白样本库(合法程序)。
入库筛选模块:负责将指定网络上能够直接访问的某文件或某文件夹里的文件的信息保存到指定数据库,同时将检验样本是否符合自动化行为分析系统的运行条件,只有符合条件的样本才能存在于相应的样本库中。
捕获引擎模块:包括捕获引擎和插件,用来捕获病毒和合法程序的行为,并将行为数据入库。
黑样本行为库:用来将捕获的黑样本行为数据记入数据库中并进行统计,并转化成易于建模的二维表。
白样本行为库:用来将捕获的白样本行为数据记入数据库中并进行统计,并转化成易于建模的二维表。
捕获引擎对程序性质已确定的黑白样本库中的程序通过自动入库模块倒入到系统后进行行为捕获;再将捕获的数据交由黑/白样本行为库,并形成格式化的数据。
为实现本系统的自动捕获功能使用以下两种关键技术:
一、动态行为捕获技术
在自动化分析系统中,需要在API函数的入口处设置断点中断。中断是一种使CPU中止正在执行的程序而转去处理特殊事件的操作,而程序中安排的中断指令INT产生的中断被称为软件中断,在Intel体系上用于中断调试的指令有二:
INT1:单步中断
使用单步中断可以一条一条指令地跟踪程序的流程,观察CPU每执行一条指令后,各个寄存器及有关存储单元的变化,从而指出和确定产生错误的原因。
INT3:断点中断
断点中断也是供DEBUG调试程序使用的,它的中断类型号为3。通常调试程序时,把程序按功能分为几段,然后每段设置一个断点。当CPU执行到断点时便产生中断,这时可以检查各寄存器及有关存储单元的内容。
断点可以设置在程序的任何地方,设置断点实际上是把一条断点指令INT3插入样本程序进程中,CPU每执行到断点处的INT3指令便产生一个中断。
使用中断指令来实时劫持OS执行,需要注意两点:
定义我们的断点处理程序和与断点时间关联。即设置探测点,就是在我们指定的OS调用函数的内存位置上设置断点。
被调试程序须在用户空间中执行。
当样本进程遇到断点(0xCC),该进程会发生异常#BP(INT3),Win32调试子系统会截获中断。调试器通过此端口完成对调试子系统的挂接,进而接收和处理调试事件。
调试器实际上是一个很宽泛的概念,凡是能够以某种形式监控其他程序执行过程的程序,都可以泛称为调试器。在Windows平台上,根据调试器的实现原理大概可以将之分为三类:内核态调试器、用户态调试器和伪代码调试器。用户态调试器直接使用Win32API提供的调试接口,遵循Win32的事件驱动的设计思想,其调试接口的服务器端的实现思路是:调试服务的服务器端接口实际上是存在于被调试进程的调试端口(Debug Port),此核心对象实现上跟Win32的完成端口类似,都是通过一个核心队列实现的LPC端口。启动调试服务器实际上就是挂接Win32的调试子系统到被调试进程,并在被调试进程内构造调试端口。调试器通过调试端口与Win32的调试子系统通讯;调试子系统响应系统操作所引发的调试事件,并通过调试端口将调试事件分发给用户态调试器。
本发明设计的捕获引擎正是采用这样的调试器技术。如图6所示,我们需要捕获某个样本调用CopyFileExA函数的情况,则在这个函数的入口处设置断点中断。一旦样本程序执行到此断点处(即样本调用CopyFileExA函数),会告知Win32调试子系统,调试子系统会检索是否有用户调试器在等待中断,如果发生的中断属于某个调试器需要监视的内容范围,则交由这个调试器处理。捕获引擎在启动时,创建新的进程空间用以执行样本,并告知调试子系统,该进程内发生的断点中断事件由捕获引擎来处理。
二、虚拟机控制技术
本发明采用虚拟机技术实现对病毒行为的跟踪调试,以防止病毒的扩散和破坏。VMWare是一个“虚拟PC”软件,可以在一台机器上同时运行两个或更多Windows、DOS、LINUX等系统。与“多启动”系统相比,VMWare采用了完全不同的概念。“多启动”系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。而VMWare是真正“同时”在主系统的平台上运行多个操作系统,就象标准Windows应用程序那样切换。而且每个操作系统你都可以进行虚拟的分区、配置而不影响真实硬盘的数据,甚至可以通过网卡将几台虚拟机连接为一个局域网,极其方便。
VIX API是一种通过脚本或编程方式来操作虚拟机的应用函数接口,由于在应用层就可以使用,且接口函数类似于C,所以非常适用于编程。由于VIX API是基于对象操作的,所以在使用它对虚拟机操作就需要用到如下对象:
VM--虚拟机,只能对它进行开启或关闭的操作;
host--宿主计算机,既可以是本地计算机,也可以是远程计算机;
job--相当于一个会话,包含有异步操作信息;
snapshot--虚拟机快照;
自动化分析系统主要对虚拟机进行以下几种控制操作:
(1)虚拟机的开启:
首先,定义一个虚拟机控制句柄,然后尝试去连接虚拟机。
其次,将定义的主机句柄的控制权交与虚拟机控制句柄。
最后,开启虚拟机中的操作系统。
(2)传送文件至虚拟机中的操作系统:
首先,同样需要定义虚拟机控制句柄,并将其交与主机句柄。
其次,登陆虚拟机中的操作系统。
最后,所需文件从物理机传至虚拟机中。
(3)控制虚拟机中可执行文件执行。
采用的方法前三步与传送文件至操作系统的前三步相同,
通过以上操作实现对虚拟机的开启、关闭、重启和加载程序等一系列操作,从而实现对病毒行为的跟踪调试。
本病毒动态行为自动化分析系统是由以下三层构成,如图7:
数据层。该层有两个组成部分,样本库和病毒行为库。样本库是用来放置样本的文件服务器,而病毒行为库是用来存放自动化行为分析系统的捕获的行为数据的数据库。
控制层。该层是一个物理联机系统,每个集权单元都有一个封闭的虚拟运行环境用来运行病毒样本。集权单元的核心是控制程序,它的作用是:
(1)从样本库中提取病毒样本;
(2)向虚拟机发送控制指令,如开启虚拟机、加载样本程序、运行行为捕获引擎;
(3)接受虚拟机发送的有病毒行为的XML文件,并解析这个文件,将相关的病毒行为通过普通socket连接记录至病毒行为库中;
运行层。运行层可以看作是一个“沙框”(sandbox)。“沙框”可以看作为一个安全的软件系统,用来将一些未知的或不可信任的程序放置在一个孤立的且同外界隔离的环境中运行,因为这些程序是不能冒险放在个人系统或网络环境下运行的。而虚拟机系统为实现这个“沙框”创造了技术条件,因为虚拟机是同操作系统物理隔离,并且运行在我们常用的桌面系统,易用且易于控制。如设计得当,将病毒样本放置虚拟机运行不会对物理操作系统造成任何危害。在运行层中除了VMware虚拟机外还有行为捕获引擎和扩展插件。
本系统的运行环境:
一、物理机运行环境
硬件环境配置:4台高性能PC(Intel E6320,4G内存)作为行为捕获引擎,每台捕获引擎都采用支持Intel VT技术的硬件,使得VMWare在此平台上的运行效率将优于其它平台。1台数据库服务器(DELL POWEREDGE 860)。1台百兆交换机。
软件环境配置:Windows XP Professional SP2,数据库为MySql 5.0,VMWareWorkStation 6.0.2。系统网络配置如图8。
二、虚拟机运行环境:
本系统采用VMware WorkStation 6.0以上的版本,使用的开发包为VMWareVIX SDK 1.1。
本系统采用的是拥有几种不同的操作系统的虚拟主机,每一个操作系统代表恶意软件可能攻击的目标。这样便于在本地环境中观察恶意程序。为了对付恶意软件,采取一些预防措施不让生产系统网络受到感染。具体方法如下:
跟上VMware安全补丁的步伐,经常浏览其网站,下载其最新的补丁。
将某物理主机用于基于VMware的试验环境,不用于其它用途。
不将物理试验系统连接到生产性网络。
用基于主机的入侵检测软件监视物理主机,如一个文件集成检查器。
用克隆软件定期重镜象物理主机,如Norton Ghots。
搭载病毒样本的虚拟机系统与之对应的物理机进行逻辑隔离,本文实验采用的具体方法是将这两种不同的系统分置在不同的网段,以防止如Viking等病毒,这些病毒具有很强的嗅探能力,能够突破同局域网下所以机器的漏洞,并将其注入。
三、数据库设计:
系统的数据库是基于MySql5.0开发设计,数据结构及表应用数据库脚本生成。这些数据表之间的E-R图如图9。
表tbl_prog用来存放样本的一些基本信息,比如存放文件路径,这里要注意的是文件路径为共享路径,这个路径应当被分析引擎顺利访问。
表tbl_trace用来记录被分析样本的状态,因为在分析的过程中,被分析的样本会出现超时、崩溃等情况。
表tbl_traceevent用来记录被分析样本的API调用及使用的参数,这里的数据将是建模中的关键性数据。
整个自动化分析系统是由如下几个组件协同工作完成:
(1)入库程序。入库程序是将样本库中的样本路径等信息存入数据库中,使得控制程序能够获取到样本的路径信息。
(2)Control(控制程序)。运行在物理机上,用于控制虚拟机的运行,并负责提取病毒样本和超时管理。
(3)VMTracer(捕获引擎)。VMTracer是捕获系统中的核心,负责检查被分析样本进程加载了哪些系统DLL,然后根据HOOKDLL的导出函数表,来确定需要在被分析样本进程中哪些API调用处设置调试断点。当样本进程执行到调试断点处会产生中断事件,通过调试子系统获得断点发生时被分析样本进程的执行环境(指令寄存器、堆栈寄存器等多个寄存器的值),并将中断时的堆栈参数送至HOOKDLL中相应的处理函数进行具体分析。
(4)HOOKDLL。负责接收捕获引擎捕获的API函数及其实际参数,并对实际参数进行具体分析,将分析的结果进行格式化输出到数据库或文件中。
从图10得出在系统的三层框架下,入库程序作为组件位于数据层中的样本库文件服务器中。它作为一个前端工具,用于将样本信息存入数据库中,在自动化系统所有组件中只有入库程序是人机交互的。而控制程序是无人值守的,是无须人机交互的。控制程序是所有组件的核心,它负责从样本库中提取样本、运行虚拟机、并向行为库传送病毒行为数据。捕获引擎及其插件(HookDll)是协同工作在虚拟环境下捕获病毒的行为,并写入XML文件回传至控制机。
下面对上述各组件的具体运行进行详细介绍:
一、自动入库:自动入库组件是用于将大量样本的相关信息准确入库。通过访问这些数据库记录,可以使得整个联机系统中的每台捕获引擎都能够准确获取每个样本的路径信息并能访问样本库所在的物理机。同时,由于本捕获引擎联机系统是在一个同互联网隔绝的封闭网段下运行,所以存放病毒样本的物理机无须采用防火墙,以免自动入库程序在传送样本中受到堵塞。
自动入库组件由文件检测和数据库操作两个子模块组成。
文件检测子模块的功能:
(1)检测样本文件的数字签名是否有效;
(2)检测样本文件是否是一个PE32格式的文件;
(3)如果样本是可执行文件,检测样本是否缺少运行必须的DLL文件;
文件检测子模块的输入项:
(1)输入样本文件名;
(2)输入检测标记,比如仅检测文件的数字签名是否有效;
文件检测子模块的输出项:
输出检测结果,比如文件是一个PE32格式的可执行文件,并且文件的数字签名有效。
文件检测子模块的接口:
提供函数BOOL CheckPeFile(CHAR *pszFile,DWORD dwCheck)给其他模块调用。
文件检测子模块的处理流程(如图11):文件检测子模块首先对用户输入的信息进行校验,判断输入数据是否正确,然后根据输入的参数信息,判断是否进行数字签名和文件格式检测,以及相关的DLL检测。
数据库操作子模块的功能:
(1)对Mysql数据库执行读数据操作;
(2)对Mysql数据库执行写数据操作;
(3)对Mysql数据库执行自定义的其他操作,比如更新数据。
数据库操作子模块的输入项:
(1)连接数据库所需的配置信息,包含数据库名,登陆用户名,登录密码;
(2)需要写到数据库的数据;
数据库操作子模块的输出项:
(1)连接数据库出错的出错信息;
(2)读写数据库完成的提示信息;
自动入库实现过程中使用的主要类库有CDataBase和CListFile。CDataBase负责控制程序全部的数据库操作,包括查询、修改、增加和删除记录的工作。CListFile负责显示指定目录下面的指定文件名.(包含子目录)。
二、控制程序:控制程序功能是病毒动态行为自动化分析系统的核心组件,用于控制虚拟机的运行,并负责提取病毒样本。控制程序运行在物理机的Windows系统中。
控制程序输入项:
(1)存放数据的数据库相关信息,包括数据库主机名,数据库名,登录数据库需要的账号密码;
(2)存放样本数据的计算机相关信息,包括存放样本的网络地址,样本数据文件;
(3)VMWare虚拟机相关信息,包括VMWARE虚拟机镜像文件位置,虚拟机内部系统的账号和密码;
(4)每个样本的分析时间,超时分析自动结束,比如120秒;
输入项均为控制程序命令行参数,参数格式为:Control.exe host root pwd dbvmx user pwd Stop Time。其中:host参数为数据库主机名;root参数为数据库登陆帐号;pwd参数为数据库登陆密码;db参数为数据库名称;vmx参数为虚拟机文件;user参数为登陆虚拟机内部系统的帐号;pwd参数为登陆虚拟机内部系统的密码;Stop Time参数为指定超时时间,单位秒;例如:Control.exe 127.0.0.1 root123 mydb c:xp.vmx user 1234 120。
控制程序输出项:
(1)从虚拟机内部取得的样本文件特征数据放到指定数据库的tbl_event表中;
(2)从虚拟机内部取得的样本文件特征数据文件,样本所在文件夹下,文件名和样本文件同名,扩展名为.XML;
(3)生成控制程序运行中产生的出错信息文件,并保存到c:\_log.log;
控制程序处理流程,如图12:
(1)连接数据库,从对象程序表中取得未分析的数据;
(2)启动虚拟机,并登陆虚拟机中的操作系统;
(3)传送样本文件至虚拟机中的操作系统,存放在虚拟机C盘根目录下;
(4)启动捕获引擎并对样本的行为实施跟踪,并将行为记录下如XML文件中;
(5)跟踪完毕后,关闭虚拟机。并将回传的XML文件解析,其行为记录存入数据库的跟踪事件数据表;
控制程序对数据库的互斥操作流程:
自动化分析系统是一个联机系统,该系统由多个主机组成,每个主机都拥有一个控制程序,且控制程序运行在物理机内。在取得未分析数据的过程中,为了实现合理调度,避免一个样本被多个主机重复分析而造成的数据冗余,在设计控制程序过程中需要实现如下的互斥操作流程:
(1)一旦启动虚拟机,首先控制程序会向数据库请求一个未被分析样本的路径信息,对数据库中对象程序表和跟踪数据表中加X锁,查询对象程序表中的istraced和Prog_id两个字段的值,如果istraced为false且Prog_id的值未在跟踪数据表中出现,则判断该样本未被分析过,并向主程序提交路径信息;
(2)一旦主程序成功下载病毒样本,在跟踪数据表插入一条新记录,并进行初始化操作,系统自动填入trace_id和prog_id两个字段的值,字段“程序跟踪状态”设置为“正在处理”;同时释放对象程序表和跟踪状态表的X锁;
(3)解析虚拟机传回来的含有病毒行为的XML文件,并记录至数据库中的跟踪事件数据表。
控制程序实现过程中使用的主要类库和方法:
控制程序中主要有两个类CDataBase和CVixVM。CDataBase类负责控制程序全部的数据库操作,包括查询、修改、增加和删除记录的工作。CVixVM类在控制程序中负责虚拟机操作的子模块,包括开启、加载样本程序、启动捕获引擎、出错处理和关闭虚拟机。CVixVM用以编程实现对VMware虚拟机的控制。因为自动化分析系统中样本是运行在封闭的虚拟环境中的,所以,我们使用VMware的开发包为VMWare VIX SDK 1.1,通过编程,实现外部对虚拟机内部运行进行控制。
三、捕获引擎:捕获引擎(APITracer)是本系统中的核心,在确定对指定样本进程进行分析之后,检查被分析样本进程加载了哪些系统DLL,然后根据工作目录下的HOOKDLL的导出函数表,来确定需要在被分析样本进程中哪些API调用处设置调试断点。当样本进程执行到调试断点处会产生中断事件,通过调试子系统获得断点发生时被分析样本进程的执行环境(指令寄存器、堆栈寄存器等多个寄存器的值),并将中断时的堆栈参数送至HOOKDLL中相应的处理函数进行具体分析。
捕获引擎的功能:
(1)根据工作目录下的HOOKDLL对指定API调用入口处设置调试断点;
(2)通过操作系统调试子系统中获取需要捕获的API调用事件及其参数;
(3)向HOOKDLL中相应的处理函数传递断点发生处的堆栈信息;
捕获引擎的输入项:
(1)样本进程;
(2)捕获引擎的所在目录;
(3)目录下所有HOOKDLL名及HOOKDLL导出函数表;
捕获引擎的输出项:
捕获引擎在捕获到调试中断之后,会调用HOOKDLL中相应的函数进行处理,这些函数采用相同的参数表,这个参数表就是行为捕获引擎的输出,定义为TracerFunc函数指针。
以对SendMessageW函数的捕获处理为例,当发生调试断点事件之后,捕获引擎调用HOOKDLL中的MySendMessageW函数进行处理。
其中:TraceMode若为CALL_TRACE_MODE,表明是在捕获的API调用前进行处理。TraceMode若为RETURN_TRACE_MODE,表明是在捕获的API调用后进行处理;pInfo为CTraceInfo*类型的句柄,用于结构化打印数据,相当于stdout;pdwRet
用来通知捕获引擎修改被捕获函数的返回值;pAdvCtrl是系统保留,为了将来扩充功能保留。ApiInfo为API_TRACE_INFO结构体的指针变量,存储了断点发生时,被分析样本进程的执行环境,包括API名,堆栈指针等。
捕获引擎的处理流程,如图13:
捕获引擎的主要部分是一个循环,处理来自内核的调试事件,循环体内先等待一个调试事件,然后处理之,最后将控制权交还给调试服务器,就好像一个窗口消息循环一样。
捕获引擎关注EXCEPTION_DEBUG_EVENT调试事件的发生,每次Win32API一旦被调用,就触发一次EXCEPTION_DEBUG_EVENT事件。每调用一次Win32API,APITracer查找这些动态链接库是否存在有同名函数,一旦发现即转入HOOLDLL动态链接库。
其实现的方法是:在调试器开始的时候,启动要调试程序的新进程或者挂接(attach)到一个已运行进程上,此时启动调试接口的服务器端;使用WaitForDebugEvent函数等待调试服务器端的调试事件的发生;根据事件进行相应的处理;最后使用ContinueDebugEvent函数请求调试服务器继续执行被调试进程,以等待并处理下一个调试事件。
四、HOOKDLL组件:HOOKDLL组件主要是接收捕获引擎捕获的API函数及其实际参数,并对实际参数进行具体分析,将分析的结果进行格式化输出到数据库或文件中。格式化输出的分析内容有两种,Trace型即记录API调用的记录而不关注其参数,Analysis型即把API和参数进行结合判断后再记录其行为特征。
HOOKDLL的功能:
(1)解析捕获引擎传递的函数参数内容;
(2)检查参数内容与对应的API可能产生的恶意行为做规则匹配;
(3)输出Trace类型记录;
(4)输出Analysis类型记录;
HOOKDLL的输入项:
以对WSAConnect函数的捕获处理为例,病毒调用此API函数,必定引用了系统DLL,即Ws2_32.dll,与之对应的HOOKDLL是:H_Ws2_32.dll,则对WSAConnect函数参数的具体分析转入H_Ws2_32.dll中的MyWSAConnect函数进行处理,MyWSAConnect首先判断TraceMode的类型,然后从API_TRACE_INFO中的堆栈指针获得参数内容在内存的地址,进而读取这些内容并将其解析。Trace类型的记录就是API调用事件和参数内容的输出,Analysis类型的记录是分析函数参数的内容是否同与该函数相关的恶意代码行为规则所匹配,如果匹配则该行为作为Analysis类型的记录被输出。
HOOKDLL的输出项:
HOOKDLL的输出项是使用类CTraceInfo派生的对象进行控制和输出。
HOOKDLL的处理流程:
一旦调试事件EXCEPTION_DEBUG_EVENT发生,捕获引擎即阻塞被跟踪程序的执行,示意图见图14。
如上图14,APITracer在跟踪至某一系统API函数TestFunc(),此时中断TestFunc(),记录当前函数地址0x17fa,并指针转至能够处理该函数的扩展插件,这个插件我们命名为HOOKDLL。然后,HOOKDLL记录下此API调用,此外还有调用的时间戳及其相关参数,比如关联的文件名、访问的磁盘分区或修改注册表的键值。完毕后,将指针重定向至0x17fa处,释放中断。
HOOKDLL的内部处理流程如图15所示:
TraceMode为CALL_TRACE_MOED表明当前API函数的参数内容可以在调用前得到,而TraceMode为RETURN_TRACE_MOED则表明当前API函数的参数必须在函数调用后得到,同时还需要指明是否修改函数返回值。
HOOKDLL实现过程中使用的主要类库和变量是CTraceInfo类和API_TRACE_INFO结构。CTraceInfo类在CommUtils.h头文件中声明,该类主要用于分析处理和记录调试的相关信息。API_TRACE_INFO结构在CommUtils.h中声明。这个结构包含了被拦截dll函数所在的进程句柄(hProcess),调用本函数的模块名(Caller),调用本函数的Dll名(DllName),以及本函数的函数名(ApiName),函数参数堆栈指针(dwStackAddr)等。dwRet用来设置被拦截函数的返回值,而pAdvCtrl是为了将来扩充功能保留。本系统中设计和实现了八个HOOKDLL,如图16。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (13)
1.基于Win32平台下病毒行为的自动化分析系统,该系统主要由数据模块、控制模块以及运行模块组成,所述控制模块工作于物理机环境中,所述运行模块工作于由虚拟机形成的虚拟环境中;其特征在于,所述数据模块中样本数据模块通过自动入库模块连接行为数据模块;所述运行模块中捕获引擎模块与HOOKDELL模块进行数据交换;所述控制模块连接样本数据模块以及行为数据模块,并且控制运行模块中的捕获引擎模块。
2.根据权利要求1所述的基于Win32平台下病毒行为的自动化分析系统,其特征在于,所述样本数据模块包括有病毒样本数据模块以及合法程序样本数据模块。
3.根据权利要求1所述的基于Win32平台下病毒行为的自动化分析系统,其特征在于,所述行为数据模块包括有用来将捕获的病毒样本行为数据记入数据模块中并进行统计,并转化成易于建模的二维表的病毒样本行为数据模块和用来将捕获的合法程序样本行为数据记入数据模块中并进行统计,并转化成易于建模的二维表的合法程序样本行为模块。
4.根据权利要求1所述的基于Win32平台下病毒行为的自动化分析系统,其特征在于,所述捕获引擎模块包括捕获引擎和插件。
5.根据权利要求4所述的基于Win32平台下病毒行为的自动化分析系统,其特征在于,所述捕获引擎在捕获样本动态行为通过以下步骤实现:
(1)对指定样本进程进行分析,检查被分析样本进程加载了哪些系统DLL;
(2)再根据工作目录下的HOOKDLL的导出函数表,来确定需要在被分析样本进程中哪些函数调用处设置调试断点;
(3)当样本进程执行到调试断点处会产生中断事件,通过调试子系统获得断点发生时被分析样本进程的执行环境(指令寄存器、堆栈寄存器等多个寄存器的值),并将中断时的堆栈参数送至HOOKDLL中相应的处理函数进行具体分析。
6.根据权利要求1所述的基于Win32平台下病毒行为的自动化分析系统,其特征在于,所述HOOKDLL模块负责接收捕获引擎捕获的函数及其实际参数,并对实际参数进行具体分析,将分析的结果进行格式化输出到数据库或文件中。
7.根据权利要求6所述的基于Win32平台下病毒行为的自动化分析系统,其特征在于,所述格式化输出的分析内容有两种,Trace型即记录函数调用的记录而不关注其参数,Analysis型即把函数和参数进行结合判断后再记录其行为特征。
8.根据权利要求1所述的基于Win32平台下病毒行为的自动化分析系统,其特征在于,所述自动入库模块是用于将大量样本的相关信息准确入库,通过访问这些数据库记录,可以使得整个联机系统中的每台捕获引擎都能够准确获取每个样本的路径信息并能访问样本库所在的物理机。
9.根据权利要求8所述的基于Win32平台下病毒行为的自动化分析系统,其特征在于,所述自动入库模块由文件检测和数据库操作两个子模块组成。
10.根据权利要求9所述的基于Win32平台下病毒行为的自动化分析系统,其特征在于,所述文件检测子模块通过以下步骤实现功能:首先对用户输入的信息进行校验,判断输入数据是否正确,然后根据输入的参数信息,判断是否进行数字签名和文件格式检测,以及相关的DLL检测。
11.根据权利要求9所述的基于Win32平台下病毒行为的自动化分析系统,其特征在于,所述数据库操作子模块能够对数据库执行读数据操作、写数据操作、自定义的其他操作。
12.根据权利要求1所述的基于Win32平台下病毒行为的自动化分析系统,其特征在于,所述控制模块的处理流程:
(1)连接数据库,从对象程序表中取得未分析的数据;
(2)启动虚拟机,并登陆虚拟机中的操作系统;
(3)传送样本文件至虚拟机中的操作系统,存放在虚拟机C盘根目录下;
(4)启动捕获引擎并对样本的行为实施跟踪,并将行为记录下如XML文件中;
(5)跟踪完毕后,关闭虚拟机,并将回传的XML文件解析,其行为记录存入数据库的跟踪事件数据表。
13.根据权利要求1或12所述的基于Win32平台下病毒行为的自动化分析系统,其特征在于,控制模块对数据模块具有如下互斥操作流程:
(1)当虚拟机启动,首先控制模块会向数据模块请求一个未被分析样本的路径信息,对数据库中对象程序表和跟踪数据表中加X锁,查询对象程序表中的istraced和Prog_id两个字段的值,若istraced为false且Prog_id的值未在跟踪数据表中出现,则判断该样本未被分析过,并向主程序提交路径信息;
(2)若主程序成功下载病毒样本,在跟踪数据表插入一条新记录,并进行初始化操作,系统自动填入trace_id和prog_id两个字段的值,字段“程序跟踪状态”设置为“正在处理”;同时释放对象程序表和跟踪状态表的X锁;
(3)解析虚拟机传回来的含有病毒行为的XML文件,并记录至数据库中的跟踪事件数据表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100372776A CN101373502B (zh) | 2008-05-12 | 2008-05-12 | 基于Win32平台下病毒行为的自动化分析系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100372776A CN101373502B (zh) | 2008-05-12 | 2008-05-12 | 基于Win32平台下病毒行为的自动化分析系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101373502A true CN101373502A (zh) | 2009-02-25 |
CN101373502B CN101373502B (zh) | 2012-06-20 |
Family
ID=40447659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100372776A Expired - Fee Related CN101373502B (zh) | 2008-05-12 | 2008-05-12 | 基于Win32平台下病毒行为的自动化分析系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101373502B (zh) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663312A (zh) * | 2012-03-20 | 2012-09-12 | 中国科学院信息工程研究所 | 一种基于虚拟机的rop攻击检测方法及系统 |
WO2013020400A1 (zh) * | 2011-08-09 | 2013-02-14 | 华为技术有限公司 | 恶意代码的检测方法、系统及相关装置 |
CN103268441A (zh) * | 2013-05-20 | 2013-08-28 | 李贵林 | 一种计算机程序进行指令级监控和分析系统及方法 |
CN103279712A (zh) * | 2013-05-28 | 2013-09-04 | 华为技术有限公司 | 增强系统安全性的方法、校验装置及安全系统 |
CN103353930A (zh) * | 2012-12-21 | 2013-10-16 | 北京安天电子设备有限公司 | 一种防范感染式病毒感染的方法和装置 |
CN103905417A (zh) * | 2013-11-12 | 2014-07-02 | 国家计算机网络与信息安全管理中心 | 一种网络设备文件鉴定装置及方法 |
CN103902892A (zh) * | 2012-12-24 | 2014-07-02 | 珠海市君天电子科技有限公司 | 基于行为的病毒防御方法及系统 |
CN103942494A (zh) * | 2014-04-01 | 2014-07-23 | 中国科学院声学研究所 | 恶意软件审核方法和系统 |
WO2014180134A1 (en) * | 2013-05-08 | 2014-11-13 | Tencent Technology (Shenzhen) Company Limited | Method for analyzing spyware and computer system |
CN104504338A (zh) * | 2015-01-23 | 2015-04-08 | 北京瑞星信息技术有限公司 | 标识、采集、统计病毒传播途径的方法及装置 |
CN104751057A (zh) * | 2015-03-13 | 2015-07-01 | 安一恒通(北京)科技有限公司 | 一种用于增强计算机系统安全性的方法及装置 |
CN105491002A (zh) * | 2015-06-19 | 2016-04-13 | 哈尔滨安天科技股份有限公司 | 一种高级威胁追溯的方法及系统 |
CN105814577A (zh) * | 2013-12-27 | 2016-07-27 | 迈克菲公司 | 隔离表现网络活动的可执行文件 |
CN106503547A (zh) * | 2016-09-30 | 2017-03-15 | 北京北信源软件股份有限公司 | 一种基于VMWare WorkStation的Windows虚拟机进程枚举方法 |
CN106778242A (zh) * | 2016-11-28 | 2017-05-31 | 北京奇虎科技有限公司 | 基于虚拟机的内核漏洞检测方法及装置 |
CN106778284A (zh) * | 2016-11-28 | 2017-05-31 | 北京奇虎科技有限公司 | 内核漏洞后端检测的方法及装置 |
CN106778246A (zh) * | 2016-12-01 | 2017-05-31 | 北京奇虎科技有限公司 | 沙箱虚拟化的检测方法及检测装置 |
CN107040515A (zh) * | 2016-12-28 | 2017-08-11 | 北京安天网络安全技术有限公司 | 一种atm安全防御检测系统及方法 |
CN107231360A (zh) * | 2017-06-08 | 2017-10-03 | 上海斐讯数据通信技术有限公司 | 基于云网络的网络病毒防护方法、安全无线路由器和系统 |
CN107483386A (zh) * | 2016-06-08 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 分析网络数据的方法及装置 |
CN107590388A (zh) * | 2017-09-12 | 2018-01-16 | 南方电网科学研究院有限责任公司 | 恶意代码检测方法和装置 |
CN107690645A (zh) * | 2015-06-12 | 2018-02-13 | 比特梵德知识产权管理有限公司 | 使用解释器虚拟机的行为恶意软件检测 |
CN108073809A (zh) * | 2017-12-25 | 2018-05-25 | 哈尔滨安天科技股份有限公司 | 基于异常组件关联的apt启发式检测方法及系统 |
CN108363919A (zh) * | 2017-10-19 | 2018-08-03 | 北京安天网络安全技术有限公司 | 一种病毒专杀工具生成方法及系统 |
CN108875357A (zh) * | 2017-12-20 | 2018-11-23 | 北京安天网络安全技术有限公司 | 一种程序启动方法、装置、电子设备及存储介质 |
CN109800571A (zh) * | 2018-12-29 | 2019-05-24 | 360企业安全技术(珠海)有限公司 | 事件处理方法和装置、以及存储介质和电子装置 |
CN112182561A (zh) * | 2020-09-24 | 2021-01-05 | 百度在线网络技术(北京)有限公司 | 一种后门的检测方法、装置、电子设备和介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1365068A (zh) * | 2001-12-03 | 2002-08-21 | 复旦大学 | 网络化病毒源的挖掘方法 |
CN100422900C (zh) * | 2005-11-17 | 2008-10-01 | 珠海金山软件股份有限公司 | 一种基于数据流的计算机病毒查杀方法 |
-
2008
- 2008-05-12 CN CN2008100372776A patent/CN101373502B/zh not_active Expired - Fee Related
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013020400A1 (zh) * | 2011-08-09 | 2013-02-14 | 华为技术有限公司 | 恶意代码的检测方法、系统及相关装置 |
US9465941B2 (en) | 2011-08-09 | 2016-10-11 | Huawei Technologies Co., Ltd. | Method, system, and apparatus for detecting malicious code |
CN102663312A (zh) * | 2012-03-20 | 2012-09-12 | 中国科学院信息工程研究所 | 一种基于虚拟机的rop攻击检测方法及系统 |
CN102663312B (zh) * | 2012-03-20 | 2014-10-01 | 中国科学院信息工程研究所 | 一种基于虚拟机的rop攻击检测方法及系统 |
CN103353930A (zh) * | 2012-12-21 | 2013-10-16 | 北京安天电子设备有限公司 | 一种防范感染式病毒感染的方法和装置 |
CN103353930B (zh) * | 2012-12-21 | 2016-09-07 | 北京安天电子设备有限公司 | 一种防范感染式病毒感染的方法和装置 |
CN103902892A (zh) * | 2012-12-24 | 2014-07-02 | 珠海市君天电子科技有限公司 | 基于行为的病毒防御方法及系统 |
WO2014180134A1 (en) * | 2013-05-08 | 2014-11-13 | Tencent Technology (Shenzhen) Company Limited | Method for analyzing spyware and computer system |
CN103268441A (zh) * | 2013-05-20 | 2013-08-28 | 李贵林 | 一种计算机程序进行指令级监控和分析系统及方法 |
CN103279712B (zh) * | 2013-05-28 | 2016-05-25 | 华为技术有限公司 | 增强系统安全性的方法、校验装置及安全系统 |
CN103279712A (zh) * | 2013-05-28 | 2013-09-04 | 华为技术有限公司 | 增强系统安全性的方法、校验装置及安全系统 |
CN103905417A (zh) * | 2013-11-12 | 2014-07-02 | 国家计算机网络与信息安全管理中心 | 一种网络设备文件鉴定装置及方法 |
CN105814577A (zh) * | 2013-12-27 | 2016-07-27 | 迈克菲公司 | 隔离表现网络活动的可执行文件 |
US10083300B2 (en) | 2013-12-27 | 2018-09-25 | Mcafee, Llc | Segregating executable files exhibiting network activity |
CN105814577B (zh) * | 2013-12-27 | 2020-07-14 | 迈克菲有限责任公司 | 隔离表现网络活动的可执行文件 |
US10599846B2 (en) | 2013-12-27 | 2020-03-24 | Mcafee, Llc | Segregating executable files exhibiting network activity |
CN103942494A (zh) * | 2014-04-01 | 2014-07-23 | 中国科学院声学研究所 | 恶意软件审核方法和系统 |
CN103942494B (zh) * | 2014-04-01 | 2017-01-18 | 中国科学院声学研究所 | 恶意软件审核方法和系统 |
CN104504338A (zh) * | 2015-01-23 | 2015-04-08 | 北京瑞星信息技术有限公司 | 标识、采集、统计病毒传播途径的方法及装置 |
CN104751057A (zh) * | 2015-03-13 | 2015-07-01 | 安一恒通(北京)科技有限公司 | 一种用于增强计算机系统安全性的方法及装置 |
CN107690645A (zh) * | 2015-06-12 | 2018-02-13 | 比特梵德知识产权管理有限公司 | 使用解释器虚拟机的行为恶意软件检测 |
CN105491002A (zh) * | 2015-06-19 | 2016-04-13 | 哈尔滨安天科技股份有限公司 | 一种高级威胁追溯的方法及系统 |
CN107483386A (zh) * | 2016-06-08 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 分析网络数据的方法及装置 |
CN106503547A (zh) * | 2016-09-30 | 2017-03-15 | 北京北信源软件股份有限公司 | 一种基于VMWare WorkStation的Windows虚拟机进程枚举方法 |
CN106778284A (zh) * | 2016-11-28 | 2017-05-31 | 北京奇虎科技有限公司 | 内核漏洞后端检测的方法及装置 |
CN106778284B (zh) * | 2016-11-28 | 2021-03-26 | 北京奇虎科技有限公司 | 内核漏洞后端检测的方法及装置 |
CN106778242B (zh) * | 2016-11-28 | 2020-10-16 | 北京奇虎科技有限公司 | 基于虚拟机的内核漏洞检测方法及装置 |
CN106778242A (zh) * | 2016-11-28 | 2017-05-31 | 北京奇虎科技有限公司 | 基于虚拟机的内核漏洞检测方法及装置 |
CN106778246A (zh) * | 2016-12-01 | 2017-05-31 | 北京奇虎科技有限公司 | 沙箱虚拟化的检测方法及检测装置 |
CN107040515A (zh) * | 2016-12-28 | 2017-08-11 | 北京安天网络安全技术有限公司 | 一种atm安全防御检测系统及方法 |
CN107231360A (zh) * | 2017-06-08 | 2017-10-03 | 上海斐讯数据通信技术有限公司 | 基于云网络的网络病毒防护方法、安全无线路由器和系统 |
CN107590388A (zh) * | 2017-09-12 | 2018-01-16 | 南方电网科学研究院有限责任公司 | 恶意代码检测方法和装置 |
CN108363919A (zh) * | 2017-10-19 | 2018-08-03 | 北京安天网络安全技术有限公司 | 一种病毒专杀工具生成方法及系统 |
CN108363919B (zh) * | 2017-10-19 | 2021-04-20 | 北京安天网络安全技术有限公司 | 一种病毒专杀工具生成方法及系统 |
CN108875357A (zh) * | 2017-12-20 | 2018-11-23 | 北京安天网络安全技术有限公司 | 一种程序启动方法、装置、电子设备及存储介质 |
CN108875357B (zh) * | 2017-12-20 | 2020-05-12 | 北京安天网络安全技术有限公司 | 一种程序启动方法、装置、电子设备及存储介质 |
CN108073809A (zh) * | 2017-12-25 | 2018-05-25 | 哈尔滨安天科技股份有限公司 | 基于异常组件关联的apt启发式检测方法及系统 |
CN109800571A (zh) * | 2018-12-29 | 2019-05-24 | 360企业安全技术(珠海)有限公司 | 事件处理方法和装置、以及存储介质和电子装置 |
CN109800571B (zh) * | 2018-12-29 | 2021-04-27 | 360企业安全技术(珠海)有限公司 | 事件处理方法和装置、以及存储介质和电子装置 |
CN112182561A (zh) * | 2020-09-24 | 2021-01-05 | 百度在线网络技术(北京)有限公司 | 一种后门的检测方法、装置、电子设备和介质 |
CN112182561B (zh) * | 2020-09-24 | 2024-04-30 | 百度在线网络技术(北京)有限公司 | 一种后门的检测方法、装置、电子设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101373502B (zh) | 2012-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101373502B (zh) | 基于Win32平台下病毒行为的自动化分析系统 | |
US20220284094A1 (en) | Methods and apparatus for malware threat research | |
CN101373501B (zh) | 针对计算机病毒的动态行为捕获方法 | |
Jacob et al. | Behavioral detection of malware: from a survey towards an established taxonomy | |
CN102651061B (zh) | 用于检测复杂恶意软件的系统和方法 | |
CN103620613B (zh) | 用于基于虚拟机监视器的反恶意软件安全的系统和方法 | |
US8640233B2 (en) | Environmental imaging | |
CN103761481A (zh) | 一种恶意代码样本自动处理的方法及装置 | |
CN102882875B (zh) | 主动防御方法及装置 | |
CN111931166A (zh) | 基于代码注入和行为分析的应用程序防攻击方法和系统 | |
Hahn et al. | Robust static analysis of portable executable malware | |
CN102857519B (zh) | 主动防御系统 | |
Yin et al. | Automatic malware analysis: an emulator based approach | |
US20240054210A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program | |
Xing et al. | The devil is in the detail: Generating system call whitelist for Linux seccomp | |
Jawhar | A Survey on Malware Attacks Analysis and Detected | |
Crepaldi | Automatic malware signature generation | |
KR102432649B1 (ko) | 사이버 위협 정보 처리 프로세서, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체 | |
KR102437376B1 (ko) | 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체 | |
US20240054215A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program | |
Gaber et al. | Defeating Evasive Malware with Peekaboo: Extracting Authentic Malware Behavior with Dynamic Binary Instrumentation | |
Sofaer et al. | RogueOne: Detecting Rogue Updates via Differential Data-flow Analysis Using Trust Domains | |
KR20240021677A (ko) | 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 컴퓨터 판독 가능한 저장매체 | |
KR20240021676A (ko) | 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체 | |
Pektaş | Classification des logiciels malveillants basée sur le comportement à l'aide de l'apprentissage automatique en ligne |
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 |
Granted publication date: 20120620 Termination date: 20190512 |
|
CF01 | Termination of patent right due to non-payment of annual fee |