CN103886229B - 一种提取pe文件特征的方法及装置 - Google Patents
一种提取pe文件特征的方法及装置 Download PDFInfo
- Publication number
- CN103886229B CN103886229B CN201410086803.3A CN201410086803A CN103886229B CN 103886229 B CN103886229 B CN 103886229B CN 201410086803 A CN201410086803 A CN 201410086803A CN 103886229 B CN103886229 B CN 103886229B
- Authority
- CN
- China
- Prior art keywords
- code
- feature
- file
- target
- hash
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000011218 segmentation Effects 0.000 claims description 26
- 239000000284 extract Substances 0.000 claims description 25
- 238000000605 extraction Methods 0.000 claims description 25
- 230000003612 virological effect Effects 0.000 claims description 25
- 239000000203 mixture Substances 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000000151 deposition Methods 0.000 claims description 3
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 241000700605 Viruses Species 0.000 abstract description 26
- 230000002155 anti-virotic effect Effects 0.000 abstract description 19
- 238000001514 detection method Methods 0.000 abstract description 4
- 238000003745 diagnosis Methods 0.000 description 23
- 230000008859 change Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 231100000614 poison Toxicity 0.000 description 2
- 230000009385 viral infection Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000002574 poison Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种提取PE文件特征的方法及装置,所述方法包括:对目标PE文件的源代码进行分析,获得所述源代码中的特征代码;所述特征代码为以下几种中任意一种或几种的组合,目标PE文件的代码节、目标PE文件的附加数据或目标PE文件的资源节;提取所述特征代码的hash特征;根据所述特征代码的hash特征生成目标PE文件的特征,所述目标PE文件的特征用于检测所述目标PE文件是否被病毒感染。杀毒软件利用通过本发明实施提供的方法提取的特征进行病毒检测时不易被绕过,且能够提高杀毒软件利用该特征进行病毒检测时的通用性,且应用本发明实施例可以提高提取目标PE文件特征的速度。
Description
技术领域
本发明涉及数据安全技术领域,特别涉及一种提取PE文件特征的方法及装置。
背景技术
PE(Portable Execute)文件被称为可移植的执行体,例如,exe文件、dll文件、ocx文件、sys文件和com文件等均为PE文件。由于实际应用中PE文件感染计算机病毒的现象越来越常见,因此,用户在获得某一PE文件后,通常先通过杀毒软件检测该PE文件是否已被计算机病毒感染。
应用杀毒软件检测待检测PE文件是否已被计算机病毒感染时,首先要提取待检测PE文件的特征。现有技术中,提取待检测PE文件的全文hash(哈希)特征是较常见的一种PE文件特征提取方法。在提取全文hash特征时,其计算范围为待检测PE文件中的所有字节,因此,该特征可以精确的描述待检测文件的特征。但是,全文hash特征对数据比较敏感,即使改变文件中的一个字节也会带来全文hash特征的改变,例如,两个PE文件的核心代码是一样的,但是非核心代码稍有区别,则全文hash特征可能存在很大差别,因此,杀毒软件利用全文hash特征匹配法进行病毒检测时,全文hash特征的通用性较弱。另外,一般PE文件中会存在多处可以随意修改但是不影响文件正常运行的结构,例如,节缝隙等等,因此,实际应用中病毒程序可以通过修改这些地方而改变待检测文件的全文hash特征,从而绕过杀毒软件的检测。再者,由于提取全文hash特征时,需覆盖待检测PE文件中的所有字节,因此,提取全文hash特征时,速度慢、消耗资源高。
发明内容
本发明实施例公开了一种提取PE文件特征的方法及装置,以使得杀毒软件利用该特征进行病毒检测时不易被绕过,且提高利用该特征进行病毒检测时的通用性,及提取目标PE文件特征的速度。
为达到上述目的,本发明实施例公开了一种提取PE文件特征的方法,所述方法包括:
对目标PE文件的源代码进行分析,获得所述源代码中的特征代码;所述特征代码为以下几种中任意一种或几种的组合,目标PE文件的代码节、目标PE文件的附加数据或目标PE文件的资源节;
提取所述特征代码的hash特征;
根据所述特征代码的hash特征生成目标PE文件的特征,所述目标PE文件的特征用于检测所述目标PE文件是否被病毒感染。
较佳的,所述提取所述特征代码的hash值,包括:
根据预设规则对特征代码进行分段;
提取分段后各个代码段预设位置对应的子代码段;
提取各个子代码段的hash特征;
根据各个子代码段的hash特征生成特征代码的hash特征。
较佳的,所述预设位置,包括:
从代码段的开始位置,向后,长度为预设的第一阈值的代码区间;或
从代码段的结束位置,向前,长度为预设的第二阈值的代码区间;或
从代码段的中间位置,向前和向后,长度均为预设的第三阈值的代码区间。
较佳的,在分析得知所述目标PE文件包括多个代码节的情况下,
所述获得所述源代码中的特征代码,包括:
获得所述源代码中的一个或多个代码节。
较佳的,所述获得所述源代码中的一个代码节,包括:
获得所述源代码中长度最长的代码节;或
获得所述源代码中包含入口代码的代码节。
为达到上述目的,本发明实施例公开了一种提取PE文件特征的装置,所述装置包括:
特征代码获得模块,用于对目标PE文件的源代码进行分析,获得所述源代码中的特征代码;所述特征代码为以下几种中任意一种或几种的组合,目标PE文件的代码节、目标PE文件的附加数据或目标PE文件的资源节;
hash特征提取模块,用于提取所述特征代码的hash特征;
PE文件特征生成模块,用于根据所述特征代码的hash特征生成目标PE文件的特征,所述目标PE文件的特征用于检测所述目标PE文件是否被病毒感染。
较佳的,所述hash特征提取模块,包括:特征代码分段子模块、子代码段提取子模块、子代码段hash特征提取子模块和hash特征生成子模块;
所述特征代码分段子模块,用于根据预设规则对特征代码进行分段;
所述子代码段提取子模块,用于提取分段后各个代码段预设位置对应的子代码段;
所述子代码段hash特征提取子模块,用于提取各个子代码段的hash特征;
所述hash特征生成子模块,用于根据各个子代码段的hash特征生成特征代码的hash特征。
较佳的,所述子代码段提取子模块,具体用于提取分段后各个代码段以下位置对应的子代码段,
从代码段的开始位置,向后,长度为预设的第一阈值的代码区间;或
从代码段的结束位置,向前,长度为预设的第二阈值的代码区间;或
从代码段的中间位置,向前和向后,长度均为预设的第三阈值的代码区间。
较佳的,所述特征代码获得模块,具体用于对目标PE文件的源代码进行分析,在分析得知所述目标PE文件的源代码中包括多个代码节的情况下,获得所述源代码中的一个或多个代码节。
较佳的,所述特征代码获得模块,
具体用于对目标PE文件的源代码进行分析,获得所述源代码中长度最长的代码节;或
具体用于对目标PE文件的源代码进行分析,获得所述源代码中包含入口代码的代码节。
由以上可见,本方案中,通过提取目标PE文件特征代码的hash特征来生成该目标PE文件的特征,以使得杀毒软件利用该目标PE文件的特征检测该目标PE文件是否被计算机病毒感染。与现有技术相比,由于全文hash特征对数据比较敏感,改变文件中的一个字节即可引起全文hash特征的改变,而PE文件的特征代码部分为PE文件的核心代码,且不能够被随意修改,因此,用特征代码的hash特征生成目标PE文件的特征,可以使得杀毒软件利用该特征进行病毒检测时不易被绕过,且能够提高杀毒软件利用该特征进行病毒检测时的通用性,又由于本方案中只提取目标PE文件的特征代码的特征而非全文的特征,因此提高了提取目标PE文件特征的速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种提取PE文件特征的方法的流程示意图;
图2为本发明实施例提供的提取特征代码的hash特征方法的流程示意图;
图3为本发明实施例提供的一种病毒检测方法的流程示意图;
图4为本发明实施例提供的一种提取PE文件特征的装置的结构示意图;
图5为本发明实施例提供的一种hash特征提取模块的结构示意图。
具体实施方式
现有技术中,常通过提取全文hash特征的方法获得待检测PE文件的特征,虽然全文hash特征能够精确的描述待检测PE文件的特征,但是其对数据比较敏感,杀毒软件利用该特征进行病毒检测时,通用性差且易被病毒绕过,又由于提取全文hash特征时,需覆盖待检测PE文件的所有字节,因此该提取PE文件特征的方法速度慢。鉴于现有提取PE文件的方法中存在上述问题,本发明实施例提供了一种提取PE文件特征的方法及装置,以使得杀毒软件利用该特征进行病毒检测时不易被绕过,且提高利用该特征进行病毒检测时的通用性,及提取目标PE文件特征的速度。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种提取PE文件特征的方法的流程示意图,该方法包括以下步骤:
S101:对目标PE文件的源代码进行分析,获得所述源代码中的特征代码。
其中,特征代码可以包括:以下几种中任意一种或几种的组合,目标PE文件的代码节、目标PE文件的附加数据或目标PE文件的资源节等等,本申请不对目标PE文件特征代码的具体表现形式进行限定,可以根据目标PE文件的具体代码结构确定。
实际应用中,由于常用的PE文件的代码节属于PE文件的关键代码,其被随意修改后,很容易导致文件运行错误,所以,通常情况下,PE文件的代码节部分不易被自动化工具修改,可以选取代码节作为PE文件的特征代码。
一个PE文件中可以包括一个代码节也可以包括多个代码节,当分析得知当前PE文件包括多个代码节时,可以选取其中的一个或多个代码节作为当前目标PE文件的特征代码。当当前PE文件的源代码中包括多个代码节,而只选取其中的一个代码节作为特征代码时,可以选取各个代码节中长度最长的代码节作为特征代码,也可以选取包含入口代码的代码节作为特征代码。
除了选取上述的一个或多个代码节作为PE文件的特征代码外,一个或多个代码节还可以与PE文件的头信息或附加数据组合作为PE文件的特征代码。
其中,附加数据是指PE文件的源代码中最后一个节的末尾至文件末尾之间的区域对应的数据。
实际应用中,还存在另外一种类型的PE文件,该类型的PE文件含有大量框架代码,不同文件之间PE头信息和所有节的数据几乎一样,但是其附加数据的内容不同,例如:脚本驱动类型的PE文件。这一类型的PE文件可以选取附加数据或者资源节或者两者的组合等作为特征代码。
其中,资源节是指PE文件中用于存放外围数据的节区域,例如,编译器通常将PE文件的图标、版本信息、界面对话框等等信息存放于资源节区域内。
S102:提取所述特征代码的hash特征。
在本发明的一个具体实施例中,提供了一种提取所述特征代码的hash特征的具体实现方式,图2为本发明实施例提供的提取特征代码的hash特征方法的流程示意图,该方法包括以下步骤:
S102A:根据预设规则对特征代码进行分段。
上述的预设规则可以是从特征代码的起始位置开始,按照固定值依次对特征代码进行分段,各段之间不重叠。例如:选取长度为0x10000的代码节作为特征代码,则可以从特征代码的起始位置开始,每0x1000长度的代码段为一段,将特征代码分段,即:[0x0000,0x0FFF]、[0x1000,0x1FFF]、[0x2000,0x2FFF]……
上述的预设规则还可以是从特征代码的起始位置开始,按照固定值依次对特征代码进行分段,各段之间部分重叠。例如:上述特征代码按照该预设规则分段后各段的区间为:[0x0000,0x100F]、[0x0FF5,0x200F]……
当然,本申请只是以上述为例进行说明,实际应用中预设规则的具体形式不仅限于此,例如:分段间隔还可以是非固定值等等。
S102B:提取分段后各个代码段预设位置对应的子代码段。
其中,预设位置,可以是:
从代码段的开始位置,向后,长度为预设的第一阈值的代码区间;或
从代码段的结束位置,向前,长度为预设的第二阈值的代码区间;或
从代码段的中间位置,向前和向后,长度均为预设的第三阈值的代码区间等等。
具体的,上述按照固定值对特征代码分段,且各段之间不重叠的情况,可以选择分段后各个代码段的中间位置、长度为0x100的代码区间作为子代码段。
S102C:提取各个子代码段的hash特征。
S102D:根据各个子代码段的hash特征生成特征代码的hash特征。
本步骤中,可以通过计算各个子代码段的hash特征的hash特征,生成目标PE文件的特征代码的hash特征。
S103:根据所述特征代码的hash特征生成目标PE文件的特征。
由以上可见,本方案中,通过提取目标PE文件特征代码的hash特征来生成该目标PE文件的特征,以使得杀毒软件利用该目标PE文件的特征检测该目标PE文件是否被计算机病毒感染。与现有技术相比,由于全文hash特征对数据比较敏感,改变文件中的一个字节即可引起全文hash特征的改变,而PE文件的特征代码部分为PE文件的核心代码,且不能够被随意修改,因此,用特征代码的hash特征生成目标PE文件的特征,可以使得杀毒软件利用该特征进行病毒检测时不易被绕过,且能够提高杀毒软件利用该特征进行病毒检测时的通用性,又由于本方案中只提取目标PE文件的特征代码的特征而非全文的特征,因此提高了提取目标PE文件特征的速度。
杀毒软件进行病毒检测时,首先需提取待检测PE文件的特征,再根据所提取的特征对待检测PE文件进行病毒检测。其中,提取待检测PE文件的特征可以采用图1所示实施例提供的提取PE文件特征的方法进行。具体的,杀毒软件进行病毒检测,可以分为以下三种情况:
第一种情况,待检测PE文件存储于客户端,客户端通过图1所示实施例提供的提取PE文件特征的方法提取待检测PE文件的特征,并将该特征与存储于客户端的预设的特征病毒库匹配,进行病毒检测;
第二种情况,待检测PE文件存储于客户端,客户端通过图1所示实施例提供的提取PE文件特征的方法提取待检测PE文件的特征,并将该特征发送给服务器端,服务器端接收到该特征后,将该特征与存储于服务器端的预设的特征病毒库匹配,进行病毒检测;
第三种情况,待检测PE文件存储于服务器端,服务器端通过图1所示实施例提供的提取PE文件特征的方法提取待检测PE文件的特征,并将该特征与存储于服务器端的预设的特征病毒库匹配,进行病毒检测。
其中,预设的特征病毒库中的特征是通过图1所示实施例提供的提取PE文件特征的方法提取样本PE文件得到的。
下面通过具体实施例进行详细说明。
图3为本发明实施例提供的一种病毒检测方法的流程示意图,该方法包括:
S301:确定待检测PE文件的特征信息。
实际应用中,待检测PE文件的特征信息可以是客户端提取存储于客户端的待检测PE文件的特征信息后,发送给服务器端的特征信息、服务器端提取的存储于服务器端的待检测PE文件的特征信息或客户端提取的存储于客户端的待检测PE文件的特征信息。其中,提取待检测PE文件的特征信息可以通过图1所示实施例提供的方法实现。
待检测PE文件的特征信息是指:待检测PE文件的特征代码对应的特征信息。每一个待检测PE文件的源代码都可以按照各部分代码的不同的功能划分为不同的代码段,其中,有些代码段可以随意修改而不会影响文件的正常运行,而有些代码段一旦修改即可导致文件运行错误。待检测PE文件源代码中修改后会导致文件运行错误的代码段,称为待检测PE文件的特征代码。
具体的,待检测PE文件的特征代码可以是待检测PE文件的代码节、待检测PE文件的附加数据或待检测PE文件的资源节等等,也可以是上述几种的任意组合。
S302:将所述特征信息与预设的特征病毒库中的特征进行匹配,获得第一匹配结果。
通常情况下,预设的特征病毒库中会包含多个已被病毒感染的样本文件的特征信息,在S301确定待检测PE文件的特征信息后,将该特征信息与预设的特征病毒库中的特征逐个进行匹配,若与该病毒库中的任一特征相匹配,则说明待检测PE文件已被与待检测PE文件的特征相匹配的特征对应的病毒感染,否则,则说明待检测PE文件未被预设的特征病毒库中特征对应的病毒感染。
其中,预设的特征病毒库中的特征是通过图1所示实施例提供的提取PE文件特征的方法提取样本PE文件得到的。
S103:根据第一匹配结果生成病毒检测报告。
本步骤中生成的病毒检测报告中可以包括:待检测PE文件是否已被病毒感染、已感染病毒的类型、对待检测PE文件的处理建议等等,当然,实际应用中,病毒检测报告所包括的内容不仅限于上述几种。
由以上可见,本方案中,通过将待检测PE文件的特征与预设的特征病毒库中的特征相匹配的方法进行病毒检测。由于现有的全文hash特征匹配法中,全文hash特征对数据比较敏感,改变文件中的一个字节即可引起全文hash特征的改变,因此,全文hash特征通用性较弱,而应用图1所示实施例提供的提取PE文件特征的方法提取的待检测PE文件的特征通用性较强,用该特征进行病毒检测,可以降低病毒检测的误报率。
图4为本发明实施例提供的一种提取PE文件特征的装置的结构示意图,该装置包括:特征代码获得模块401、hash特征提取模块402和PE文件特征生成模块403。
其中,特征代码获得模块401,用于对目标PE文件的源代码进行分析,获得所述源代码中的特征代码;所述特征代码为以下几种中任意一种或几种的组合,目标PE文件的代码节、目标PE文件的附加数据或目标PE文件的资源节;
hash特征提取模块402,用于提取所述特征代码的hash特征;
PE文件特征生成模块403,用于根据所述hash特征生成目标PE文件的特征,所述目标PE文件的特征用于检测所述目标PE文件是否被病毒感染。
在本发明的一个具体实施例中,提供了一种hash特征提取模块402的具体实现方式,图5为本发明实施例提供的一种hash特征提取模块的结构示意图,具体包括:特征代码分段子模块4021、子代码段提取子模块4022、子代码段hash特征提取子模块4023和hash特征生成子模块4024。
所述特征代码分段子模块4021,用于根据预设规则对特征代码进行分段;
所述子代码段提取子模块4022,用于提取分段后各个代码段预设位置对应的子代码段;
所述子代码段hash特征提取子模块4023,用于提取各个子代码段的hash特征;
所述hash特征生成子模块4024,用于根据各个子代码段的hash特征生成特征代码的hash特征。
其中,所述子代码段提取子模块4022,可以具体用于提取分段后各个代码段以下位置对应的子代码段,
从代码段的开始位置,向后,长度为预设的第一阈值的代码区间;或
从代码段的结束位置,向前,长度为预设的第二阈值的代码区间;或
从代码段的中间位置,向前和向后,长度均为预设的第三阈值的代码区间。
本实施例中,所述特征代码获得模块401,可以具体用于对目标PE文件的源代码进行分析,在分析得知所述目标PE文件的源代码中包括多个代码节的情况下,获得所述源代码中的一个或多个代码节。
本实施例中,所述特征代码获得模块401,
可以具体用于对目标PE文件的源代码进行分析,获得所述源代码中长度最长的代码节;或
可以具体用于对目标PE文件的源代码进行分析,获得所述源代码中包含入口代码的代码节。
由以上可见,本方案中,通过提取目标PE文件特征代码的hash特征来生成该目标PE文件的特征,以使得杀毒软件利用该目标PE文件的特征检测该目标PE文件是否被计算机病毒感染。与现有技术相比,由于全文hash特征对数据比较敏感,改变文件中的一个字节即可引起全文hash特征的改变,而PE文件的特征代码部分为PE文件的核心代码,且不能够被随意修改,因此,用特征代码的hash特征生成目标PE文件的特征,可以使得杀毒软件利用该特征进行病毒检测时不易被绕过,且能够提高杀毒软件利用该特征进行病毒检测时的通用性,又由于本方案中只提取目标PE文件的特征代码的特征而非全文的特征,因此提高了提取目标PE文件特征的速度。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种提取PE文件特征的方法,其特征在于,所述方法包括:
对目标PE文件的源代码进行分析,获得所述源代码中的特征代码;所述特征代码为以下几种中任意一种或几种的组合,目标PE文件的代码节、目标PE文件的附加数据或目标PE文件的资源节;其中,所述代码节为PE文件的关键代码;所述附加数据为PE文件的源代码中最后一个节的末尾至文件末尾之间的区域对应的数据;所述资源节为PE文件中用于存放外围数据的节区域;
提取所述特征代码的hash特征;
根据所述特征代码的hash特征生成目标PE文件的特征,所述目标PE文件的特征用于检测所述目标PE文件是否被病毒感染。
2.根据权利要求1所述的方法,其特征在于,所述提取所述特征代码的hash值,包括:
根据预设规则对特征代码进行分段;
提取分段后各个代码段预设位置对应的子代码段;
提取各个子代码段的hash特征;
根据各个子代码段的hash特征生成特征代码的hash特征。
3.根据权利要求2所述的方法,其特征在于,所述预设位置,包括:
从代码段的开始位置,向后,长度为预设的第一阈值的代码区间;或
从代码段的结束位置,向前,长度为预设的第二阈值的代码区间;或
从代码段的中间位置,向前和向后,长度均为预设的第三阈值的代码区间。
4.根据权利要求1-3中任一项所述的方法,其特征在于,在分析得知所述目标PE文件包括多个代码节的情况下,
所述获得所述源代码中的特征代码,包括:
获得所述源代码中的一个或多个代码节。
5.根据权利要求4所述的方法,其特征在于,
所述获得所述源代码中的一个代码节,包括:
获得所述源代码中长度最长的代码节;或
获得所述源代码中包含入口代码的代码节。
6.一种提取PE文件特征的装置,其特征在于,所述装置包括:
特征代码获得模块,用于对目标PE文件的源代码进行分析,获得所述源代码中的特征代码;所述特征代码为以下几种中任意一种或几种的组合,目标PE文件的代码节、目标PE文件的附加数据或目标PE文件的资源节;其中,所述代码节为PE文件的关键代码;所述附加数据为PE文件的源代码中最后一个节的末尾至文件末尾之间的区域对应的数据;所述资源节为PE文件中用于存放外围数据的节区域;
hash特征提取模块,用于提取所述特征代码的hash特征;
PE文件特征生成模块,用于根据所述特征代码的hash特征生成目标PE文件的特征,所述目标PE文件的特征用于检测所述目标PE文件是否被病毒感染。
7.根据权利要求6所述的装置,其特征在于,所述hash特征提取模块,包括:特征代码分段子模块、子代码段提取子模块、子代码段hash特征提取子模块和hash特征生成子模块;
所述特征代码分段子模块,用于根据预设规则对特征代码进行分段;
所述子代码段提取子模块,用于提取分段后各个代码段预设位置对应的子代码段;
所述子代码段hash特征提取子模块,用于提取各个子代码段的hash特征;
所述hash特征生成子模块,用于根据各个子代码段的hash特征生成特征代码的hash特征。
8.根据权利要求7所述的装置,其特征在于,所述子代码段提取子模块,具体用于提取分段后各个代码段以下位置对应的子代码段,
从代码段的开始位置,向后,长度为预设的第一阈值的代码区间;或
从代码段的结束位置,向前,长度为预设的第二阈值的代码区间;或
从代码段的中间位置,向前和向后,长度均为预设的第三阈值的代码区间。
9.根据权利要求6-8中任一项所述的装置,其特征在于,所述特征代码获得模块,具体用于对目标PE文件的源代码进行分析,在分析得知所述目标PE文件的源代码中包括多个代码节的情况下,获得所述源代码中的一个或多个代码节。
10.根据权利要求9所述的装置,其特征在于,所述特征代码获得模块,
具体用于对目标PE文件的源代码进行分析,获得所述源代码中长度最长的代码节;或
具体用于对目标PE文件的源代码进行分析,获得所述源代码中包含入口代码的代码节。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410086803.3A CN103886229B (zh) | 2014-03-10 | 2014-03-10 | 一种提取pe文件特征的方法及装置 |
PCT/CN2014/084391 WO2015135286A1 (zh) | 2014-03-10 | 2014-08-14 | 提取pe文件特征的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410086803.3A CN103886229B (zh) | 2014-03-10 | 2014-03-10 | 一种提取pe文件特征的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103886229A CN103886229A (zh) | 2014-06-25 |
CN103886229B true CN103886229B (zh) | 2017-01-04 |
Family
ID=50955118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410086803.3A Active CN103886229B (zh) | 2014-03-10 | 2014-03-10 | 一种提取pe文件特征的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103886229B (zh) |
WO (1) | WO2015135286A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103886229B (zh) * | 2014-03-10 | 2017-01-04 | 珠海市君天电子科技有限公司 | 一种提取pe文件特征的方法及装置 |
CN104991893A (zh) * | 2014-11-06 | 2015-10-21 | 哈尔滨安天科技股份有限公司 | 一种启发式自解压包和安装包检测方法及系统 |
CN105488403A (zh) * | 2014-12-23 | 2016-04-13 | 哈尔滨安天科技股份有限公司 | 基于pe文件中未使用字段的恶意代码检测方法及系统 |
CN104700000B (zh) * | 2015-03-05 | 2017-12-08 | 中国科学技术大学苏州研究院 | 一种基于pe文件的隐蔽信道的检测和限制方法 |
CN104700033B (zh) * | 2015-03-30 | 2019-01-29 | 北京瑞星网安技术股份有限公司 | 病毒检测的方法及装置 |
CN105653940B (zh) * | 2015-07-14 | 2019-02-26 | 哈尔滨安天科技股份有限公司 | 一种基于pe文件分析攻击者来源的方法及系统 |
CN106682505B (zh) * | 2016-05-04 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 一种病毒检测方法、终端、服务器及系统 |
CN106650453B (zh) * | 2016-12-30 | 2019-11-05 | 北京启明星辰信息安全技术有限公司 | 一种检测方法和装置 |
CN107977574A (zh) * | 2017-12-19 | 2018-05-01 | 深圳豪客互联网有限公司 | 病毒识别方法和装置 |
CN111310184A (zh) * | 2020-03-05 | 2020-06-19 | 北京安码科技有限公司 | 基于rich头部标识的pe文件特征码生成方法、系统、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930206A (zh) * | 2011-08-09 | 2013-02-13 | 腾讯科技(深圳)有限公司 | 病毒文件的聚类划分处理方法和装置 |
CN103559438A (zh) * | 2013-10-31 | 2014-02-05 | 上海上讯信息技术有限公司 | 进程识别方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7644287B2 (en) * | 2004-07-29 | 2010-01-05 | Microsoft Corporation | Portion-level in-memory module authentication |
KR20090032701A (ko) * | 2007-09-28 | 2009-04-01 | 에스케이 텔레콤주식회사 | 하드웨어 고유번호에 기반한 소프트웨어 보호 방법 및 그를위한 저장매체 |
CN102024112B (zh) * | 2010-12-17 | 2012-08-01 | 四川大学 | 基于静态特征的pe文件加壳检测方法 |
CN102509049B (zh) * | 2011-11-14 | 2014-11-26 | 任子行网络技术股份有限公司 | 一种程序合法性验证方法和系统 |
CN103268445B (zh) * | 2012-12-27 | 2016-01-13 | 武汉安天信息技术有限责任公司 | 一种基于OpCode的android恶意代码检测方法及系统 |
CN103886229B (zh) * | 2014-03-10 | 2017-01-04 | 珠海市君天电子科技有限公司 | 一种提取pe文件特征的方法及装置 |
-
2014
- 2014-03-10 CN CN201410086803.3A patent/CN103886229B/zh active Active
- 2014-08-14 WO PCT/CN2014/084391 patent/WO2015135286A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930206A (zh) * | 2011-08-09 | 2013-02-13 | 腾讯科技(深圳)有限公司 | 病毒文件的聚类划分处理方法和装置 |
CN103559438A (zh) * | 2013-10-31 | 2014-02-05 | 上海上讯信息技术有限公司 | 进程识别方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2015135286A1 (zh) | 2015-09-17 |
CN103886229A (zh) | 2014-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103886229B (zh) | 一种提取pe文件特征的方法及装置 | |
US9690935B2 (en) | Identification of obfuscated computer items using visual algorithms | |
US8448094B2 (en) | Mapping a natural input device to a legacy system | |
Wang et al. | In-memory fuzzing for binary code similarity analysis | |
Bonfante et al. | CoDisasm: Medium scale concatic disassembly of self-modifying binaries with overlapping instructions | |
US20150256552A1 (en) | Imalicious code detection apparatus and method | |
CN106326737B (zh) | 用于检测可在虚拟堆栈机上执行的有害文件的系统和方法 | |
CN107423048A (zh) | 数据收集的方法、装置、介质和计算设备 | |
CN103294951B (zh) | 一种基于文档型漏洞的恶意代码样本提取方法及系统 | |
US9965631B2 (en) | Apparatus and method for analyzing malicious code in multi-core environment using a program flow tracer | |
WO2018159010A1 (ja) | 選択装置、選択方法及び選択プログラム | |
CN105354496B (zh) | Android平台自动生成的恶意程序的检测方法及系统 | |
CN106384048A (zh) | 一种威胁信息处理方法与装置 | |
CN109918907A (zh) | Linux平台进程内存恶意代码取证方法、控制器及介质 | |
CN103886258A (zh) | 一种病毒检测方法及装置 | |
Urbina et al. | Sigpath: A memory graph based approach for program data introspection and modification | |
CN105740711A (zh) | 一种基于内核对象行为本体的恶意代码检测方法及系统 | |
Tan et al. | Detecting kernel refcount bugs with {Two-Dimensional} consistency checking | |
CN103971055B (zh) | 一种基于程序切片技术的安卓恶意软件检测方法 | |
CN103632099B (zh) | 未导出的Native API函数获取方法及装置 | |
CN108319853A (zh) | 病毒特征码处理方法及装置 | |
Sali et al. | Ram forensics: The analysis and extraction of malicious processes from memory image using gui based memory forensic toolkit | |
Van Nhuong et al. | Semantic set analysis for malware detection | |
CN114579965A (zh) | 一种恶意代码的检测方法、装置及计算机可读存储介质 | |
CN104657662B (zh) | 用于检测感染型病毒的方法及装置 |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20181211 Address after: Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Patentee after: Zhuhai Seal Interest Technology Co., Ltd. Address before: 519070, six level 601F, 10 main building, science and technology road, Tangjia Bay Town, Zhuhai, Guangdong. Patentee before: Zhuhai Juntian Electronic Technology Co.,Ltd. |