文件行为分析方法及装置制造方法

文档序号:6504892阅读:137来源:国知局
文件行为分析方法及装置制造方法
【专利摘要】本发明提供了一种文件行为分析方法及装置,该方法包括:获取样本文件的操作记录信息,该操作记录信息包括以下至少之一:样本文件运行期间的应用程序编程接口API调用记录,样本文件运行前后的文件快照,其中,样本文件是待分析的文件,文件快照是样本文件所处系统中的文件的快照;根据操作记录信息获取样本文件对系统中的文件中的一个或多个文件进行操作的操作行为信息,以分析样本文件的行为。本发明解决了相关技术中对文件行为的分析存在的问题,进而能够比较准确地分析出文件的操作行为。
【专利说明】文件行为分析方法及装置

【技术领域】
[0001]本发明涉及计算机领域,具体而言,涉及一种文件行为分析方法及装置。

【背景技术】
[0002]由于目前篡改系统文件或者感染用户文件的病毒一直不断出现,这种病毒对操作系统的安全构成了威胁。
[0003]相关技术中,对文件是否感染病毒的分析是通过文件特征值匹配识别病毒或者被感染文件。这种文件分析方法通过将程序、代码、数据中的部分或全部程序、代码、数据的特征数据信息与已有的特征数据信息进行比对,来判断程序、代码、数据是否为病毒。当程序、代码、数据为已出现的脚本病毒时,通过文件特征值进行匹配能够准确识别即匹配到。这种方式是一种明文比对的方式。
[0004]但是,通过文件特征值匹配识别病毒或者被感染文件存在如下问题:由于其基于已有特征数据信息进行比对,因此,该比对方式依赖于已有的特征数据信息的完整性。例如,这种方法无法识别病毒变种,对于识别部分加壳、加花或者混淆处理的病毒文件以及对于新病毒的识别也有非常大的困难,其中,加壳是指对可执行文件资源进行压缩,运行时自动解压缩运行,而静态反汇编无法查看被压缩的信息;加花是指在正常程序指令中间插入用于干扰反汇编器但是不影响程序运行的指令,可能是一些跳转或者一些无效代码;混淆处理是指将程序内部的一些可能存在的内部带有语义信息的内容替换为无意义信息的内容,比如将一些内部变量或者函数名等替换为不可读信息。另外,由于特征码提取的方式为提取部分已知样本中部分或者全部提取的代码段特征,因此可能会漏掉病毒的关键特征,甚至提取到正常文件特征。
[0005]针对相关技术中对文件行为的分析存在的问题,目前尚未提出有效的解决方案。


【发明内容】

[0006]本发明的主要目的在于提供一种文件行为分析方法及装置,以解决相关技术中对文件行为的分析存在的问题。
[0007]为了实现上述目的,根据本发明的一个方面,提供了一种文件行为分析方法,该方法包括:获取样本文件的操作记录信息,所述操作记录信息包括以下至少之一:所述样本文件运行期间的应用程序编程接口(Applicat1n Programming Interface,简称API)调用记录,所述样本文件运行前后的文件快照,其中,所述样本文件是待分析的文件,所述文件快照是所述样本文件所处系统中的文件的快照;根据所述操作记录信息获取所述样本文件对所述系统中的文件中的一个或多个文件进行操作的操作行为信息,以分析所述样本文件的行为。
[0008]优选地,根据所述操作记录信息获取所述样本文件对所述系统中的文件中的一个或多个文件进行操作的操作行为信息包括:根据所述API调用记录确定所述样本文件操作的所述一个或多个文件;根据对所述样本文件运行前后的文件快照的比对确定所述一个或多个文件的文件信息变化;根据所述文件信息变化获取所述样本文件对所述一个或多个文件进行操作的操作行为信息。
[0009]优选地,所述API调用记录包括以下至少之一:API参数,API返回值,API组合,API流;和/或所述操作行为信息包括以下至少之一:操作类型,文件类型,文件路径,感染顺序,感染方式,感染标记,其中,所述操作类型包括以下至少之一:读取操作、修改操作、t匕较操作。
[0010]优选地,所述文件信息变化包括以下至少之一:文件路径变化,文件哈希变化,文件日期变化,文件大小变化,可执行文件节信息变化,可执行文件的入口点信息变化,可执行文件资源信息变化,文件内容变化,压缩包文件的文件列表变化,所包含文件的文件信息变化。
[0011 ] 优选地,获取所述样本文件的操作记录信息之前,所述方法还包括:在所述系统中放置探针文件,其中,所述探针文件是模拟用户存放的用户文件,用于试探所述样本文件的操作行为,所述系统中的文件包括所述探针文件和/或系统文件。
[0012]优选地,所述探针文件包括以下至少之一:可执行文件,批处理文件,脚本文件,文本标记语言文件,压缩文件,办公文档文件。
[0013]优选地,根据所述操作记录信息获取所述样本文件对所述系统中的文件中的一个或多个文件进行操作的操作行为信息之后,所述方法还包括:根据所述操作行为信息确定所述样本文件是否为病毒。
[0014]优选地,所述方法还包括:在确定所述样本文件是病毒的情况下,识别所述样本文件的感染方式,并根据所述感染方式确定所述样本文件的查杀方式和/或反推出所述一个或多个文件的修复还原方式。
[0015]根据本发明的另一个方面,提供了一种文件行为分析装置,包括获取模块,用于获取样本文件的操作记录信息,所述操作记录信息包括以下至少之一:所述样本文件运行期间的应用程序编程接口 API调用记录,所述样本文件运行前后的文件快照,其中,所述样本文件是待分析的文件,所述文件快照是所述样本文件所处系统中的文件的快照;分析模块,用于根据所述操作记录信息获取所述样本文件对所述系统中的文件中的一个或多个文件进行操作的操作行为信息,以分析所述样本文件的行为。
[0016]优选地,所述分析模块还用于根据所述API调用记录确定所述样本文件操作的所述一个或多个文件,根据对所述样本文件运行前后的文件快照的比对确定所述一个或多个文件的文件信息变化,根据所述文件信息变化获取所述样本文件对所述一个或多个文件进行操作的操作行为信息。
[0017]优选地,所述装置还包括探针模块,用于在所述系统中放置探针文件,其中,所述探针文件是模拟用户存放的用户文件,用于试探所述样本文件的操作行为,所述系统中的文件包括所述探针文件和/或系统文件。
[0018]优选地,所述装置还包括确定模块,用于根据所述操作行为信息确定所述样本文件是否为病毒。
[0019]优选地,所述装置还包括修复模块,用于在确定所述样本文件是病毒的情况下,识别所述样本文件的感染方式,并根据所述感染方式确定所述样本文件的查杀方式和/或反推出所述一个或多个文件的修复还原方式。
[0020]通过本发明实施例,获取样本文件的操作记录信息,该操作记录信息包括以下至少之一:样本文件运行期间的应用程序编程接口 API调用记录,样本文件运行前后的文件快照,其中,样本文件是待分析的文件,文件快照是样本文件所处系统中的文件的快照,根据操作记录信息获取样本文件对系统中的文件中的一个或多个文件进行操作的操作行为信息,以分析样本文件的行为,解决了相关技术中对文件行为的分析存在的问题,进而达到了能够比较准确地分析出文件的操作行为的效果。

【专利附图】

【附图说明】
[0021]构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0022]图1是根据本发明实施例的一种文件行为分析方法的流程图;
[0023]图2是根据本发明实施例的一种文件保护方法的流程图;
[0024]图3是根据本发明实施例的一种文件行为分析装置的结构示意图;
[0025]图4是根据本发明实施例的一种文件保护装置的结构示意图;
[0026]图5是根据本发明优选实施例的文件行为分析方法的流程图;
[0027]图6是根据本发明实施例的文件二进制比较结果的示意图;
[0028]图7是根据本发明实施例的通过API调用记录确定样本文件对一个或多个文件的操作行为的方法流程图;以及
[0029]图8是根据本发明实施例的通过文件快照确定样本文件对一个或多个文件的操作行为的方法流程图。

【具体实施方式】
[0030]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0031]为了对本申请实施例中的技术术语有更清楚的理解,以下给出了本申请实施例中涉及到的技术术语的定义:
[0032]文件:包括系统文件和用户文件。
[0033]API组合:指多个API的无序组合。
[0034]API流:指多个API的有序组合。
[0035]系统文件:是样本文件所运行系统中的与系统相关的文件。
[0036]样本文件:是待分析的文件。其可以为病毒文件,但不局限于病毒文件,也可以是任何有篡改用户文件或系统文件行为的文件。
[0037]探针文件:是模拟用户存放的用户文件,用于试探样本文件的操作行为。具体地说,是指在系统内放置的模拟真实用户可能存放的用户文件,该文件类型与内容可以经过特殊构造,用来试探样本文件是否会查找、读取或者修改以及怎样修改用户文件。这里,探针文件可以是经过特殊构造的文件,主要是根据之前积累的经验,部分样本文件会忽略一些出现某些内容的文档或者某些结构或者路径的可执行文件,从而不对此类文件进行修改。因此尽可能多的构造一些内容不同路径不同的文件来模拟正常用户可能存在的文件,以尽可能触发样本文件的感染行为。
[0038]本发明实施例提供了一种文件行为分析方法,如图1所示,该方法包括以下步骤:
[0039]步骤S102,获取样本文件的操作记录信息,该操作记录信息包括以下至少之一:样本文件运行期间的应用程序编程接口 API调用记录,样本文件运行前后的文件快照,其中,样本文件是待分析的文件,文件快照是样本文件所处系统中的文件的快照。
[0040]步骤S104,根据操作记录信息获取样本文件对系统中的文件中的一个或多个文件进行操作的操作行为信息,以分析样本文件的行为。
[0041]通过上述步骤,可以根据样本文件的操作记录信息分析该样本文件的行为。其中,操作记录信息可以通过API的调用记录获取,也可以通过文件快照的比对获取,或者通过两者的结合获取。需要说明的是,无论采用哪种或者哪些操作记录信息,均是通过操作记录信息来得到样本文件的行为,相比于相关技术中通过文件特征值分析样本文件的方式,其都更加有利于识别出样本文件的行为。
[0042]在本实施例中,样本文件的操作行为信息可以有很多种,例如,操作行为信息可以包括以下至少之一:操作类型(比如,读取操作、修改操作、比较操作),文件类型,文件路径,感染顺序,感染方式,感染标记。这些操作行为信息仅仅是一种举例,在本实施例中并不限于此,只要能够通过操作记录信息分析出的操作行为信息都在本实施例的保护范围之内。
[0043]对于操作记录信息,在本实施例中提供了几个优选的实施方式分别对如何获取操作记录信息进行说明。
[0044]在优选实施方式一中,通过API调用记录来确定样本文件对一个或多个文件进行操作的操作行为信息。在本优选实施方式中,API调用记录可以包括以下至少之一:API参数,API返回值,API组合,API流。这样便可以根据API调用记录获取样本文件的更多操作行为信息。例如,可以记录如下内容:调用API的名称、该API返回值、函数返回地址、异常处理指针、各个中央处理器(简称为CPU)寄存器值等,这些仅仅是可以记录的内容举例,记录的内容可以包括以上的至少之一,但是并不限于此。
[0045]在优选实施方式二中,通过比对文件快照来确定样本文件对一个或多个文件进行操作的操作行为信息。在该优选方式中,可以镜像系统某一时刻所有文件,并可以提供读取任意时刻历史快照中的任意文件,然后采用比较算法,迅速全面的比较文件、文件夹的区另IJ,进而获取文件内容的变化。例如可以得到文本内容差异,二进制差异,可执行文件节差异,可执行文件资源差异等。例如,可以在样本文件运行之前镜像系统中的所有文件,在样本文件中可以再次镜像系统中的所有文件,通过对这两个镜像的比较,确定期间发生变动的文件,通过这些文件的文件变化信息就可以得到样本文件都是对哪些文件进行了改动,从而可以确定该样本文件的行为方式。
[0046]在该优选实施方式二中,文件信息变化可以包括很多种,优选地,可以包括以下至少之一:文件路径变化,文件哈希变化,文件日期变化,文件大小变化,可执行文件节信息变化,可执行文件的入口点信息变化,可执行文件资源信息变化,文件内容变化,压缩包文件的文件列表变化,所包含文件的文件信息变化。
[0047]上述两个优选实施例是单独通过调用API或者文件快照比对的方式来确定样本文件的行为的。一个更优选的实施例是如下的实施方式三,在该优选实施方式三中,结合了调用API信息分析和文件快照比对分析。下面对优选实施方式三进行说明。
[0048]在该优选实施方式三中,首先,可以根据API调用记录确定样本文件操作的一个或多个文件,再根据对样本文件运行前后的文件快照的比对确定该一个或多个文件的文件信息变化,然后根据文件信息变化获取样本文件对一个或多个文件进行操作的操作行为信息。相对于优选实施方式二,在优选实施方式三中可以首先通过API调用记录来确定样本文件操作的文件,这样,可以直接定位到样本文件操作的一个或多个文件,然后通过对所定位到的一个或多个文件进行样本文件运行前后的文件快照的比对,进而可以更准确更快速地确定样本文件的操作行为信息。
[0049]在本实施例中以及上述三种优选实施方式中,为了更加准确地获取到样本文件的操作记录信息,可以在获取样本文件的操作记录信息之前,在系统中放置探针文件,探针文件可以是模拟用户存放的用户文件,用于试探样本文件的操作行为。在样本文件运行的系统中,可以只存在系统文件,但通过放置探针文件,可以更准确地分析样本文件的操作行为信息。探针文件可以根据需要选择不同类型的文件,例如,比较优地,探针文件可以包括以下至少之一:可执行文件,批处理文件,脚本文件,文本标记语言文件比如HTML文件,压缩文件,办公文档文件比如Word/Excel/PowerPoint文件等。
[0050]优选地,本实施例中的方案可以用来确定病毒,例如,可以在确定了样本文件的操作行为信息之后,根据样本文件的操作行为信息确定样本文件是否为病毒。通过上述步骤,可以使用户清楚地了解样本文件对其系统或文件是否有危害,进而可以决定对样本文件的下一步处置。更优的一种处理方式是,在确定该样本文件是病毒的情况下,还可以进一步识别该样本文件的感染方式,并根据感染方式确定样本文件的查杀方式和/或反推出一个或多个文件的修复还原方式。
[0051]图2是根据本发明实施例的一种文件保护方法的流程图,如图2所示,该方法包括以下步骤:
[0052]步骤S202,在确定样本文件是病毒的情况下,识别该样本文件的感染方式。
[0053]在采用上述文件行为分析方法确定样本文件是病毒的情况下,识别该样本文件的感染方式。
[0054]步骤S204,根据感染方式确定样本文件的查杀方式和/或反推出一个或多个文件的修复还原方式。
[0055]上述步骤可以通过一个或一组服务器来自动执行,服务器可以采用B/S架构,用户可以通过浏览器上传待分析文件即样本文件,服务器可以自动执行上述步骤。当然也可以通过其他渠道得到样本文件。
[0056]在本发明实施例中还提供了一种文件行为分析装置,本实施例中的装置用于实现上述方法,在方法中已经进行过的说明在此不再赘述。上述实施例中的方法的每个步骤均可以通过一个模块来实现。图3是根据本发明实施例的一种文件行为分析装置的结构示意图,如图3所示,该装置包括获取模块32、分析模块34。
[0057]获取模块32,用于获取样本文件的操作记录信息,该操作记录信息包括以下至少之一:样本文件运行期间的应用程序编程接口 API调用记录,样本文件运行前后的文件快照,其中,样本文件是待分析的文件,文件快照是样本文件所处系统中的文件的快照。
[0058]分析模块34,用于根据操作记录信息获取样本文件对系统中的文件中的一个或多个文件进行操作的操作行为信息,以分析样本文件的行为。
[0059]优选地,分析模块34还用于根据API调用记录确定样本文件操作的一个或多个文件,根据对该样本文件运行前后的文件快照的比对确定一个或多个文件的文件信息变化,并根据文件信息变化获取样本文件对一个或多个文件进行操作的操作行为信息。
[0060]优选地,该装置还包括探针模块36,用于在系统中放置探针文件,其中,探针文件是模拟用户存放的用户文件,用于试探样本文件的操作行为,该系统中的文件包括探针文件和/或系统文件。
[0061]优选地,该装置还可以包括确定模块38,用于根据该操作行为信息确定样本文件是否为病毒。
[0062]上述获取模块32虽然名称为获取,但是应当理解该模块名称并不对该模块进行限定,例如,该模块也可以称为“用于获取样本文件运行期间的操作行为信息的模块”。其它模块的模块名称对该模块也不构成限定,此处不再赘述。
[0063]同样,对应于图2中的方法,本发明实施例中还提供了一种文件保护装置,图4是根据本发明实施例的一种文件保护装置的结构示意图,如图4所示,该装置包括识别模块42、保护模块44。
[0064]在上述文件行为分析装置确定样本文件是病毒的情况下,识别模块42,用于识别样本文件的感染方式;保护模块44,用于根据感染方式确定样本文件的查杀方式和/或反推出一个或多个文件的修复还原方式。
[0065]在本实施例的优选实施例中,还提供了一种处理器,该处理器被配置成执行存储在存储器中的程序单元,这些程序单元包括的模块可以为以上任意一个实施例中所提到的模块。在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述模块,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。图5是根据本发明优选实施例的文件行为分析方法的流程图,如图5所示,该方法包括以下步骤:
[0066]步骤S500,放置探针文件。
[0067]在样本文件将要运行的系统中,放置探针文件。其中,探针文件的放置位置包括但不限于桌面、用户目录、系统文件目录、驱动目录、软件安装目录、磁盘根目录、虚拟移动磁盘目录以及子目录。放置的探针文件包括但不限于可执行文件、批处理文件、脚本文件、HTML文件、zip或者rar等压缩文件、其它格式可能被感染文件。
[0068]步骤S502,在样本文件运行前获取文件快照。
[0069]在样本文件运行之前,获取该系统中的所有文件的快照,即样本文件运行之前整个系统的文件快照。
[0070]步骤S504,在系统中运行样本文件。
[0071]步骤S506,获取API调用记录。
[0072]可以启动API监控模块,该模块挂钩所有系统API函数。这里挂钩指的是可以通过修改API函数头指令跳转到API监控模块,在获取并处理API调用记录后,再交给原始系统函数处理。
[0073]将需要分析的样本文件放入系统内,在运行样本文件时,获取并记录样本文件运行期间所有API调用记录,比如,调用的参数、函数调用的返回地址等。
[0074]步骤S508,在样本文件运行后获取文件快照。
[0075]样本文件在系统中运行结束之后,对整个系统做第二次文件快照,即样本文件运行之后的整个系统的文件快照。
[0076]其中,样本文件运行期间的API调用记录和/或样本文件运行前后的文件快照可以统称为操作记录信息。
[0077]步骤S510,通过操作记录信息确定样本文件对一个或多个文件的操作行为信息。
[0078]通过样本文件运行期间的API日志,获取样本文件的API调用记录。其中,API调用记录包括以下至少之一:API参数、API返回值、API组合、API流。进而可以根据API调用记录获取样本文件操作的一个或多个文件的文件类型、文件路径、感染顺序、感染方式、感染标记等。
[0079]通过分析样本文件运行前后的两次文件快照的各种信息变化来进一步确定样本文件的操作行为。其中,文件快照可以是系统内用户文件的快照,特殊构造的用于模拟用户文件的探针文件的快照,系统运行的衍生文件的快照,样本文件自身的快照。其中,各种信息变化中的信息包括以下至少之一:文件路径,文件哈西,文件日期,文件大小,可执行文件节信息,可执行文件的入口点信息,可执行文件资源信息,HTML文件文档对象模型(Document Object Model,简称DOM)结构,文件内容变化,压缩包内文件的文件列表变化与所包含文件的文件信息。其中,可执行文件节信息指的是任意一种可执行文件按区间保存的代码、数据、符号(变量和函数)重定位等信息。
[0080]通过分析样本文件运行前后被修改文件的文件类型,可以获取样本文件运行时修改的文件类型。
[0081]通过分析样本文件运行前后被修改文件的文件二进制比较结果,可以获取样本文件运行时系统内文件是如何被修改的,是否增、删、移动、替换、修改二进制数据。比如,如图6所示,文件在某病毒运行前,其某些二进制数据处于第一位置62,在某病毒运行后,这些二进制数据被挪动到文件其他位置64,并将原先位置替换为病毒自身代码。
[0082]通过分析样本文件运行前后被修改文件的文件快照,可以获取样本文件内容变化。比如,办公室office文档内容与结构变化,网页文件内容与结构变化,图片文件内容与结构变化,PDF文件内容与结构变化。再比如,某病毒感染网页文件,将原页面中插入其他危险网页内容达到传染目的。
[0083]步骤S512,输出样本文件的操作行为信息。
[0084]根据上述步骤的分析,输出样本文件的操作行为信息。
[0085]其中,步骤S510,可以具体包括图7和图8所示的两个流程,以下将详细阐述这两个流程。
[0086]图7是根据本发明实施例的通过API调用记录确定样本文件对一个或多个文件的操作行为的方法流程图。样本文件的操作行为通常可以分为三类,查找文件的操作行为、读写文件的操作行为和比较数据的操作行为。如图7所示,该流程包括以下步骤:
[0087]步骤S702,根据API调用记录判断是否有查找文件的操作行为。
[0088]查找文件的操作行为可以通过查找文件相关API参数来确定。比如在windows系统下,常用的查找文件第一个文件的API为FindFirstFileA或FindFirstFileW,查找下一个文件的API为FindNextFileA或FindNextFileW,可以通过查找第一个文件的API参数、查找下一个文件的API参数判断样本文件是否有查找文件的操作行为。如果有查找文件的操作行为,则执行步骤S710,获取查找文件的操作行为信息,比如,查找目录优先级、查找文件的类型、以及查找文件的路径即可能感染的路径。如果没有查找文件的操作行为,则直接执行步骤S704。
[0089]步骤S704,根据API调用记录判断是否有读写文件的操作行为。
[0090]读取文件的操作行为可以通过文件读取API参数来确定,比如在windows系统下读取文件内容的API有ReadFiIe,通过读取文件相关的API参数ReadFile等获取样本文件读取探针文件和/或系统文件的操作行为信息。
[0091]修改文件的操作行为可以通过文件API组合确定。比如在windows系统下,可以通过以下API组合:读文件ReadFile、写文件WriteFile、关闭句柄CloseHandle,或者通过以下API组合:读文件ReadFile、写文件WriteFile、设置文件属性SetFileAttributesA等,来获取修改文件的操作行为。
[0092]修改文件的操作行为还可以通过文件API流确定。比如在windows系统下,可以通过以下API流获取文件读写方式,以及匹配已有的读写规则:创建文件CreateFiIeA-> 读文件 ReadFile-〉关闭句柄 CloseHandle ;创建文件 CreateFileA-〉设置文件指针SetFilePointer-〉读文件ReadFile-〉---->关闭句柄CloseHandle ;创建文件
CreateFileA-〉写文件 WriteFile-〉关闭句柄 CloseHandle ;创建文件 CreateFileA-〉设置文件指针 SetFilePointer-〉写文件 WriteFile-〉----> 关闭句柄 CloseHandle。
[0093]在确定了修改文件的操作行为之后,获取样本文件写入的数据可以通过文件写入相关API参数。比如在windows系统下,写文件操作的常用API有WriteFile等,获取该API的参数即可获取写入数据内容。同时可以根据这些数据,对样本文件进行分类,比如,可以按照制定样本识别规则或制定样本家族规则等进行分类。
[0094]如果确定样本文件有读写操作行为后,执行步骤S712,获取样本文件的修改文件的操作行为信息,然后执行步骤S706。
[0095]步骤S706,根据API调用记录判断是否有比较数据的操作行为。
[0096]比较数据的操作行为可以通过与内存比较相关的API确定。比如在windows系统下,内容比较的相关 API 有 IstrcmpiA、Istrcmpiff> StrStrIff> StrCmpNIA 等,通过这些 API的参数获取样本文件比较数据的操作行为信息。
[0097]如果确定有比较数据的操作行为,则执行步骤S714,获取比较数据的操作行为信肩、O
[0098]图8是根据本发明实施例的通过文件快照确定样本文件对一个或多个文件的操作行为的方法流程图,如图8所示,该方法包括以下步骤:
[0099]步骤S802,判断系统文件是否有变化。
[0100]通过分析样本运行前后的两次文件快照,还可以获取样本文件运行时系统内文件增删、文件修改、文件属性修改等信息。
[0101]如果判定系统文件有变化,则执行步骤S810,确定样本文件有修改系统文件的操作行为,否则直接执行步骤S804。
[0102]步骤S804,判断探针文件是否有变化。
[0103]通过探针文件的文件快照的比对判断样本文件是否是感染型病毒。比如,如果出现可执行文件的代码被篡改并且被篡改的可执行文件仍然具有与原始样本相似行为即可认定是感染型病毒,再比如,多个网页文件被修改插入代码并且被篡改的网页仍然具有与原始样本相似行为即可认为是感染网页文件的病毒。如果确定探针文件有变化,则确定样本文件是病毒文件,执行步骤S812,否则直接执行步骤S806。
[0104]优选地,在确定了样本文件是感染型病毒后,还可以通过上述各种信息变化判断样本文件的感染方式。例如,修改可执行文件入口点地址指向插入的恶意代码,直接修改覆盖可执行文件入口点的代码,在网页文件插入〈OBJECT/〉相关代码,在网页文件插入〈SCRIPT/〉相关代码,在压缩包内的可执行文件目录中插入dll文件,在Office文档重插入Office宏代码。
[0105]优选地,在确定了样本文件是感染型病毒后,还可以通过上述各种信息变化确定样本文件是否变种以及变种方式。例如感染的多个可执行文件方式是否相同,感染后插入或者篡改的位置是否相同,感染后插入或者篡改的代码或者内容是否相同,如果篡改内容不同,则是否是比较常见的变种方式,比如用不同密钥加密、插入不同垃圾代码或变换代码插入位置等。另外,还可根据每个被篡改的文件的修改时间,来推算样本文件查找并篡改文件的查找顺序等。
[0106]步骤S806,判断样本文件是否有变化。
[0107]如果样本文件自身发生了变化,则执行步骤S814判定样本文件自修改。
[0108]当然,图7和图8所示的流程图也可以彼此独立执行。比如,在运行了样本文件之后,执行图7的流程,即仅根据API调用记录确定样本文件的行为。或者,在运行样本文件之后,并获取了样本文件运行前后的文件快照后,执行图8中的流程,即仅根据文件快照确定样本文件的行为。
[0109]从以上的描述中,可以看出,本优选实施例通过使用动态样本运行API监控获取的API日志作为分析条件,利用API流信息作为病毒特征,使用通过样本运行前后文件快照信息文件内容对比变化作为分析条件,利用样本文件对系统文件或者用户文件的篡改的方式与特点作为病毒特征,整个分析过程完全自动化流程,自动通过以上信息报告结果,从而可以快速自动识别新病毒、快速判定新病毒,并识别感染方式以及修复原文件的方法,进而可迅速退出精确的专杀以及修复工具。
[0110]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0111]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种文件行为分析方法,其特征在于,包括: 获取样本文件的操作记录信息,所述操作记录信息包括以下至少之一:所述样本文件运行期间的应用程序编程接口 API调用记录,所述样本文件运行前后的文件快照,其中,所述样本文件是待分析的文件,所述文件快照是所述样本文件所处系统中的文件的快照; 根据所述操作记录信息获取所述样本文件对所述系统中的文件中的一个或多个文件进行操作的操作行为信息,以分析所述样本文件的行为。
2.根据权利要求1所述的方法,其特征在于,根据所述操作记录信息获取所述样本文件对所述系统中的文件中的一个或多个文件进行操作的操作行为信息包括: 根据所述API调用记录确定所述样本文件操作的所述一个或多个文件; 根据对所述样本文件运行前后的文件快照的比对确定所述一个或多个文件的文件信息变化; 根据所述文件信息变化获取所述样本文件对所述一个或多个文件进行操作的操作行为信息。
3.根据权利要求1或2所述的方法,其特征在于, 所述API调用记录包括以下至少之一:API参数,API返回值,API组合,API流;和/或 所述操作行为信息包括以下至少之一:操作类型,文件类型,文件路径,感染顺序,感染方式,感染标记,其中,所述操作类型包括以下至少之一:读取操作、修改操作、比较操作。
4.根据权利要求2所述的方法,其特征在于,所述文件信息变化包括以下至少之一:文件路径变化,文件哈希变化,文件日期变化,文件大小变化,可执行文件节信息变化,可执行文件的入口点信息变化,可执行文件资源信息变化,文件内容变化,压缩包文件的文件列表变化,所包含文件的文件信息变化。
5.根据权利要求1所述的方法,其特征在于,获取所述样本文件的操作记录信息之前,所述方法还包括:在所述系统中放置探针文件,其中,所述探针文件是模拟用户存放的用户文件,用于试探所述样本文件的操作行为,所述系统中的文件包括所述探针文件和/或系统文件。
6.根据权利要求5所述的方法,其特征在于,所述探针文件包括以下至少之一:可执行文件,批处理文件,脚本文件,文本标记语言文件,压缩文件,办公文档文件。
7.根据权利要求1、2、4、5或6所述的方法,其特征在于,根据所述操作记录信息获取所述样本文件对所述系统中的文件中的一个或多个文件进行操作的操作行为信息之后,所述方法还包括:根据所述操作行为信息确定所述样本文件是否为病毒。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:在确定所述样本文件是病毒的情况下,识别所述样本文件的感染方式,并根据所述感染方式确定所述样本文件的查杀方式和/或反推出所述一个或多个文件的修复还原方式。
9.一种文件行为分析装置,其特征在于,包括: 获取模块,用于获取样本文件的操作记录信息,所述操作记录信息包括以下至少之一:所述样本文件运行期间的应用程序编程接口 API调用记录,所述样本文件运行前后的文件快照,其中,所述样本文件是待分析的文件,所述文件快照是所述样本文件所处系统中的文件的快照; 分析模块,用于根据所述操作记录信息获取所述样本文件对所述系统中的文件中的一个或多个文件进行操作的操作行为信息,以分析所述样本文件的行为。
10.根据权利要求9所述的装置,其特征在于,所述分析模块还用于根据所述API调用记录确定所述样本文件操作的所述一个或多个文件,根据对所述样本文件运行前后的文件快照的比对确定所述一个或多个文件的文件信息变化,根据所述文件信息变化获取所述样本文件对所述一个或多个文件进行操作的操作行为信息。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括探针模块,用于在所述系统中放置探针文件,其中,所述探针文件是模拟用户存放的用户文件,用于试探所述样本文件的操作行为,所述系统中的文件包括所述探针文件和/或系统文件。
12.根据权利要求9至11中任一项所述的装置,其特征在于,所述装置还包括确定模块,用于根据所述操作行为信息确定所述样本文件是否为病毒。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括修复模块,用于在确定所述样本文件是病毒的情况下,识别所述样本文件的感染方式,并根据所述感染方式确定所述样本文件的查杀方式和/或反推出所述一个或多个文件的修复还原方式。
【文档编号】G06F17/27GK104252447SQ201310263717
【公开日】2014年12月31日 申请日期:2013年6月27日 优先权日:2013年6月27日
【发明者】舒鑫, 陈勇, 张楠 申请人:贝壳网际(北京)安全技术有限公司, 北京金山网络科技有限公司, 北京金山安全软件有限公司, 珠海市君天电子科技有限公司, 可牛网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1