一种计算机文件检测的方法及装置的制作方法

文档序号:6465863阅读:147来源:国知局

专利名称::一种计算机文件检测的方法及装置的制作方法
技术领域
:本发明涉及计算机通信领域,尤其涉及一种计算机文件检测的方法及装置。
背景技术
:目前,在业界出现了未知计算机病毒主动防御技术,标志着反病毒技术由;坡动向主动方向发展。主动反病毒主要是对当前运行的进程进4亍行为分析,监测运行的程序是否有恶意的行为,进而给出运行的程序的可疑概率。这种检测方式使得未知病毒的检测取得了较好的识别率,但这种方式只能检测到运行着的病毒文件,对于静态的病毒样本和静态病毒文件则无法检测到。经实践证明,处于运行状态的病毒文件只占总病毒文件的40。/。左右甚至更少,由于一个病毒文件会在几个不同的文件路径下保存,但是同时运行的只有一个副本;基于行为判定的未知病毒检测,由病毒样本释放到其他多个不同文件夹位置的静态样本和例如通过Web浏览、USB设备、Email传播到本地的静态病毒文件则无法检测到。在对现有技术的研究和实践过程中,发明人发现现有技术存在以下问题现有技术基于行为检测的病毒主动防御措施不能检测到处于静态的病毒文件,因此只使用现有技术的病毒主动防御技术,会出现部分病毒清除不干净的现象,不能完全实现病毒的主动防御。
发明内容本发明实施例要解决的技术问题是提供一种计算机文件检测的方法及装置,能够实现对静态未知病毒的防御。本发明实施例所提供的计算机文件检测的方法及装置实施例是通过以下技术方案实现的本发明实施例提供一种计算机文件检测的方法,包括步骤检测文件的属性,选出可疑的检测项,所述属性包括结构属性和文件属性;为所述可疑的检测项赋予权值,统计同一可疑的检测项的出现数量;使用预置的可疑的检测项的权值和所述同一可疑的检测项的出现数量计算所述文件的可疑度,若所述可疑度大于或等于预置可疑标准,则所述文件为可疑文件,若所述可疑度小于所述预置可疑标准,则所述文件为非可疑文件。本发明实施例还提供一种计算机文件检测的装置,包括检测单元,用于检测文件的属性,选择可疑的检测项,所述属性包括结构属性和文件属性;赋值单元,用于为所述可疑的检测项赋予权值;统计单元,用于统计同一个可疑的检测项的出现数量;计算单元,用于使用所述可疑的检测项的权值和所述同一个可疑的检测项的出现数量计算得出所述文件的可疑度;比较单元,用于将所述文件的可疑度与预置可疑标准比较,若所述可疑度大于预置可疑标准,则所述文件是可疑文件,若所述可疑度小于预置可疑标准,则所述文件为非可疑文件。上述技术方案中的技术方案具有如下有益效果由于本发明实施例检测文件的结构属性和文件属性,选出可疑的检测项,并为所述可疑的检测项赋予权值,统计同一个可疑的检测项的出现数量,然后计算得出被检测文件的可疑度,根据预置的规则确定该文件是否是可疑文件,相对于现有技术实现对静态未知病毒的主动防御;提高未知病毒的检测概率,加强了对未知病毒的防御。图1是本发明实施例提供的计算机文件检测的方法流程图;图2是本发明实施例提供的计算机文件检测的装置图。具体实施方式本发明实施例提供了一种计算机文件检测的方法及装置,用于实现对静态病毒的主动防雄卩。本发明实施例通过对静态的文件的结构属性和文件属性进行检测,选出可疑的检测项,根据每个检测项的权重赋于该检测项权值,利用该权值和同一个可疑检测项的出现数量计算得出被检测文件的可疑度,根据计算出的可疑度确定该文件是否被感染了病毒。本发明实施例通过对静态文件的检测,实现对静态病毒的主动防御。当操作终端的用户选择利用本发明实施例提供的计算机文件检测装置开始检测终端中文件是否被感染了病毒,开始进入本发明实施例提供的计算机文件检测方法步骤中。请参阅图1是本发明实施例提供的计算机文件检测的方法流程图。开始检测时,首先打开文件并读取文件,然后执行步骤101。步骤101、检测文件的有效性;为加快文件的检测速度,在打开文件后首先检测文件的有效性,防止在无效的文件上花费时间进行检测。本发明实施例以检测word文件为例。检测文件的有效性主要通过检测文件结构属性中的映像DOS头(IMAGE_DOS_HEADER)结构中e_magic项是否等于一预设值,例如IMAGE_DOS_SIGNATURE,若不相等则是无效可执行文件(PE文件);若相等则根据结构属性中的映像DOS头结构中e—lfanew项指向的地址找到映像NT头(IMAGE_NT_HEADER)所在位置,比较映像NT头结构中的PE文件标识(Signature)项是否等于"PE00",若相等则认为是有效的PE文件;否则显示信息表示该文件不是有效的PE结构的文件,则该文件是无效的;该步骤检测文件是有效的PE结构文件。若检测打开的文件是有效的文件,执行步骤102,若检测打开的文件是无效文件,直接结束检测。步骤102、检测文件的结构属性;检测文件的结构属性具体包括检测结构属性中的映像DOS头中各项;检测映像文件头(IMAGE_FILE_HEADER)各项;检测可选映像头(IMAGE—OPTIONAL_HEADER)各项;检测段映像头(IMAGE—SECTION—HEADER)各项。检测结构属性中的映像DOS头中各项具体如下结构属性中的映像DOS头中e一lfanew项如果该项的数值超出待检测文件长度或小于0x10,则认为是可疑的。检测映像文件头各项具体如下映像文件头中NumberOfSections项;正常情况下该项的数值多为4,如果该项的数值小于3则认为是可疑文件。才企测可选映像头中各项具体如下段映像头中的BaseOfCode项;可疑文件此项的数值不等于任一段的起始地址,即不在任一段中。或起始地址异常,正常情况下在Win32下,起始地址多为0x1000、0x10000000、0x00400000。若不是这些数值则认为是可疑的。若此项的数值等于某一段的起始地址,但该段的段名(IMAGE—SECTION—HEADER中Name项)如果不是常见的".text"、".rsrc"则认为是可疑的。段映像头中的BaseOfData项;可疑文件此项的数值不等于任一段的起始地址,即不在任一段中,或此项的数值'J、于0x400,则认为是可疑的。若此项的数值等于某一段的起始地址,但该段的段名(IMAGE—SECTION—HEADER中Name项)如果不是常见的".data"也认为是可疑的。段映像头中ImageBase项;若此项的数值大于0x20000000则认为是可疑的。段映像头中FileAlignment项;若此项的数值不等于0x200则认为是可疑的。段映像头中Checksum项;病毒及一些非法程序,在修改PE文件格式时,常将此项置O,而正常编译器编译的文件有正确的数值。若此项为O,则认为是可疑的。段映像头中Importtable的VirtualAddress和Size项;如IMAGE_OPTIONAL_HEADER32陽〉DataDirectory[l].Size的凄W直大于0且小于0x28则认为是可疑的;段映像头中Resource项;另外还有其他文件的结构上的异常,例如资源段中又包含有PE文件普通文件的资源段一般存放文件的图标、文件相关的位图、版本信息等内容。如果发现在资源段中又出现了以MZ为标志的PE文件,则很大程度上可能是病毒了。在运行时病毒会把此段中的PE文件释放出来。段映像头中Relocationtable的VirtualAddress和Size项如I段映像头中VirtualAddress的值大于0且小于0x48则认为是可疑的。如Size的数值大于待测文件大小或小于0x0c则认为是可疑的;IMAGE_OPTIONAL_HEADER32中TLStable的VirtualAddress和Size项如IMAGE—OPTIONAL—HEADER32陽〉DataDirectory[9].VirtualAddress大于0且小于0x48,则认为是可疑的。IMAGE_OPTIONAL—HEADER32中Boundlmport表的VirtualAddress和Size项如IMAGE_OPTIONAL_HEADER32->DataDirectory[ll].Size的凄Mt大于待测文件大小或小于0x20则认为是可疑的;IMAGE_OPTIONAL—HEADER32中IAT表的VirtualAddress和Size项如IMAGE—OPTIONAL—HEADER32-〉DataDirectory[12].Size的^U直大于待测文件大小则认为是可疑的;检测IMAGE—SECTION_HEADER各项具体如下需要i兌明的是检测IMAGE_SECTION_HEADER各项时,首先要定位至段表(SECTIONTABLE),定位后进行IMAGE—SECTION_HEADER各项的检测,一个IMAGE—SECTION—HEADER各项检测完毕后,定位下一个IMAGE—SECTION—HEADER项,若无下一个IMAGE_SECTION—HEADER项,则结束IMAGE_SECTION—HEADER各项的检测;若定位到下一个IMAGE_SECTION—HEADE项,继续检测下一个IMAGE—SECTION—HEADER各项。IMAGE_SECTION—HEADER中Name项这是一个8位ASCII,多以".,,开头;常见段名:".text"、".data."、".code"、".rsrc"、".reloc"。.text存放指令代码,.data存放初始化的数据,.idata包含其他外来DLL的函数及数据信息,即输入表,.rsrc存放模块的全部资源数据,.reloc存放基地址重定位表,.edata存放文件的输出表。可疑文件和病毒文件常使用一些无规则的命名来定义这些常见的段名。如"PS斋腌""渤@"或者直接为空字符,则认为是可疑的。段映像头中PointerToRawData项;该块在磁盘文件中有一定的偏移,若此项被置零,则认为是可疑的。IMAGE—SECTION—HEADER中SizeOfRawData项;该块在磁盘文件中所占的大小,如果块表中某段此项值为零,说明该文件结构异常,认为是可疑的。IMAGE—SECTION—HEADER中Characteristics项;即段属性。该项是判断是否可疑的重要标志。该字段是一组指出块属性的标志,多个标志求和即为Characteristics值,如下是一些常见的标志<table>tableseeoriginaldocumentpage10</column></row><table><table>tableseeoriginaldocumentpage11</column></row><table>如Characteristics值C0000040h=40000000h|80000000h|00000040h表示该块可读、可写,含已初始化数据。常见的有可写标志的段名.data、DATA、BSS、.tls、.idata、.adata。如果某段有可写标志,而又不是常见的这些段名,就比较可疑了。例如某段的Characteristics值为80000000h,表示可写,但其Name不是以上有可写标志的段名,则认为是可疑的。检测了文件的结构属性后,执行步骤103。步骤103、^r测文件的文件属性;检测文件的文件属性具体包括检测文件资源,检测文件常规属性,检测文件版本信息。检测文件属性的各项具体如下文件常规属性对于可疑文件,文件常规属性通常会被隐藏。为了描述方便,本发明实施例文件常规属性是指文件的扩展名、文件的大小、文件的存储位置、文件的创建时间等信息。文件名对于可疑文件,文件名可能会被改变,病毒经常伪装成iexporer、svchost等并且带有()[]等特殊符号。文件的资源信息对于可疑文件或病毒文件,一般不会有资源信息。文件的版权信息对于可疑文件或病毒文件,一般不会有正常的版权信息。各段的入口特征对于可疑文件或病毒文件,在段的入口含有跳转指令。需要说明的是,检测文件的结构属性和文件的文件属性不分先后顺序,且具体检测文件的结构属性的各项和检测文件的文件属性的各项也不分先后顺序。步骤104、选出可疑的检测项;根据步骤102和步骤103中所述的规则,选出可疑的检测项。步骤105、为可疑的检测项赋予权值;根据检测项在整个结构属性和文件属性中的权重赋予检测项相应的权值。如下表举例说明各检测项权值<table>tableseeoriginaldocumentpage159</column></row><table>步骤106、统计同一个可疑项的出现数量;SECTIONTABLE在文件中可能会有多个,循环检测每个SECTIONTABLE中的各个才企测项。每个4全测项在各个SECTIONTABLE都存在,将多个同一个检测项的可疑度累加。因此执行该步骤,统计同一个可疑项的权值。步骤107、计算文件的可疑度;计算公式如下文件的可疑度=检测项1出现可疑的数量*权值1+检测项2出现可疑的数量*权值2+检测项3出现可疑的数量*权值3+...。每个检测项对应一个权值,计算获得文件的可疑度后,执行步骤108。IMAGE_DOS—HEADER中e—lfanew项,数量1个IMAGE_FILE—HEADER中NumberOfSections项,数量1个IMAGE—OPTIONAL_HEADER32中的BaseOfCode项,数量1个IMAGE—OPTIONAL—HEADER32种的BaseOfData项,数量1个IMAGE_OPTIONAL—HEADER32中FileAlignment项,数量1个IMAGE—OPTIONAL_HEADER32中CheckSum项,数量1个IMAGE—OPTIONAL—HEADER32->DataDirectory[l],Size项,数量1个IMAGE—SECTION_HEADER中Name项,数量2个则该文件的可疑度=15+2+5+5+5+5+5+2*7=56步骤108、将文件的可疑度与预置可疑标准比较;一般预置可疑标准是20,当计算文件的可疑度超过或等于20时,执行步骤109;上述计算得到文件的可疑度是56,即执行步骤109;若计算得到上述文件的可疑度小于20,则认为该文件是正常的文件,未被感染病毒。步骤109、显示可疑文件,并显示该文件是可疑文件;为方便终端用户得知可能被感染病毒的文件,以进行采取主动的防御,本发明实施例在计算得到的文件可疑度大于预置的可疑标准,显示该可疑文件,并对应显示该文件是可疑文件。至此,对于一个文件的检测完毕,本发明实施例提供的计算机文件检测装置开始下一个文件的检测,若检测完终端用户选中的所有文件,提示终端用户检测完毕,并全部显示所有检测到的可疑度达到预置可疑度的文件。另外,需要说明的是,本发明实施例计算机文件检测的方法步骤102、103中描述对文件结构属性和文件属性的检测异常状况可以根据普通文件或病毒文件的不断更新而进行更新,本发明实施例对此不做限制;另外,文件的结构属性和文件属性的所有各项以及所有各项对应的检测异常状况,本领域技术人员可以根据具体情况判断所有检测项的异常状况,在此不赘述。本发明实施例在计算得到的文件可疑度大于预置的可疑标准,显示该可疑文件,并对应显示该文件是可疑文件。方便终端用户得知可能被感染病毒的文件,以进行采取主动的防御。如下提供应用本发明实施例提供的计算机文件检测的方法的系统实施例。请参阅图2是本发明实施例提供的计算机文件检测的装置图。如图所示,本发明实施例提供的计算机文件检测的装置包括检测单元110,用于检测文件的属性,选择可疑的检测项,所述属性包括结构属性和文件属性;赋值单元120,用于为所述可疑的检测项赋予权值;统计单元130,用于统计同一个可疑的检测项的出现数量;计算单元140,用于使用所述可疑的检测项的权值和所述同一个可疑的检测项的出现数量计算得出所述文件的可疑度;比较单元150,用于将所述文件的可疑度与预置可疑标准比较,若所述可疑度大于预置可疑标准,则所述文件是可疑文件,若所述可疑度小于预置可疑标准,则所述文件为非可疑文件。检测到可疑的文件后,本发明实施例提供的计算机文件检测装置还包括显示单元160,用于在所述文件是可疑文件时,显示所述可疑文件,并显示所述文件是可疑文件。另外,为减少检测无效文件的检测时间,加快检测速度,所述计算机文件检测的装置还包括文件检测单元170,用于4全测打开的文件是否有效。在^^测文件的结构属性时,若文件结构属性存在多个SECTION项,本发明实施例提供的所述计算机文件检测装置还包括定位单元180,用于在检测所述文件结构属性时,定位所述文件结构属性的段表。本发明实施例提供的计算机文件检测方法及装置可以作为单独的检测工具,也可以与目前的杀毒软件结合使用。也可以在数据流查毒中,抓取文件传输的报文并做还原,然后对还原出来的文件使用本发明实施例提供的计算才几文件;险测方法;险测。例目前互联网上大多数病毒以超文本传输协议(HTTP,Hypertext,TransferProtocol)方式下载至本地然后运行;可以对HTTP协议数据流抓包并做还原后,得到病毒传送的原文件,之后使用本发明实施例提供的计算机文件检测方法检测是否为可疑文件。以上对本发明所提供的一种病毒防御的方法及装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。权利要求1、一种计算机文件检测的方法,其特征在于,包括步骤检测文件的属性,选出可疑的检测项,所述属性包括结构属性和文件属性;为所述可疑的检测项赋予权值,统计同一可疑的检测项的出现数量;使用预置的可疑的检测项的权值和所述同一可疑的检测项的出现数量计算所述文件的可疑度,若所述可疑度大于或等于预置可疑标准,则所述文件为可疑文件,若所述可疑度小于所述预置可疑标准,则所述文件为非可疑文件。2、根据权利要求1所述的计算机文件检测的方法,其特征在于,所述为所述可疑的检测项赋予权值具体是依据所述检测项的权重比例赋予相应的权值。3、根据权利要求2所述的计算机文件检测的方法,其特征在于,所述使用所述权值和所述同一个可疑的检测项的出现数量计算得出所述文件的可疑度具体为同一个可疑的检测项的出现数量乘以所述可疑的检测项的权值,然后将各检测项的结果相加,获得所述文件的可疑度。4、根据权利要求3所述的计算机文件检测的方法,其特征在于,若所述文件是可疑文件,则显示所述可疑文件,并显示所述文件是可疑文件。5、根据权利要求4所述的计算机文件检测的方法,其特征在于,打开所述文件后,检测所述文件是否有效;若所述文件无效,则结束检测。6、根据权利要求1至5任一项所述的计算机文件检测的方法,其特征在于,所述检测所述文件的结构属性包括检测映像DOS头各项;检测映像文件头各项;检测可选映像头各项;检测段映像头各项。7、根据权利要求6所述的计算机文件检测的方法,其特征在于,所述检测段映像头各项包括步骤定位段表;检测一个所述段表中段映像头各项;所述一个段表中段映像头各项检测完毕后,定位下一个段表,若所述一个段是最后一个段,则结束段表部分的检测;若所述段表不是最后一个段表,则对当前段表,检测所述段映像头各项。8、根据权利要求7所述的计算机文件检测的方法,其特征在于,所述检测所述文件的文件属性包括检测文件资源信息,检测文件常规属性,检测文件版本信息。9、一种计算机文件检测的装置,其特征在于,包括检测单元,用于检测文件的属性,选择可疑的检测项,所述属性包括结构属性和文件属性;赋值单元,用于为所述可疑的检测项赋予权值;统计单元,用于统计同一个可疑的检测项的出现数量;计算单元,用于使用所述可疑的检测项的权值和所述同一个可疑的检测项的出现数量计算得出所述文件的可疑度;比较单元,用于将所述文件的可疑度与预置可疑标准比较,若所述可疑度大于预置可疑标准,则所述文件是可疑文件,若所述可疑度小于预置可疑标准,则所述文件为非可疑文件。10、根据权利要求9所述的计算机文件检测的装置,其特征在于,所述计算机文件检测装置还包括显示单元,用于在所述文件是可疑文件时,显示所述可疑文件,并显示所述文件是可疑文件。11、根据权利要求IO所述的计算机文件检测的装置,其特征在于,所述计算机文件检测的装置还包括文件检测单元,用于检测打开的文件是否有效。12、根据权利要求9至ll任一项所述的计算机文件检测的装置,其特征在于,所述计算机文件检测装置还包括定位单元,用于在检测所述文件结构属性时,定位所述文件结构属性的段表。全文摘要本发明公开了一种计算机文件检测的方法及装置。本发明方法包括检测文件的属性,选出可疑的检测项,所述属性包括结构属性和文件属性;为所述可疑的检测项赋予权值,统计同一可疑的检测项的出现数量;使用预置的可疑的检测项的权值和所述同一可疑的检测项的出现数量计算所述文件的可疑度,若所述可疑度大于或等于预置可疑标准,则所述文件为可疑文件,若所述可疑度小于所述预置可疑标准,则所述文件为非可疑文件。本发明可以实现对静态未知病毒的主动防御,加强病毒的防御。文档编号G06F21/56GK101329711SQ20081013501公开日2008年12月24日申请日期2008年7月24日优先权日2008年7月24日发明者震樊申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1