CN116910756B - 一种恶意pe文件的检测方法 - Google Patents
一种恶意pe文件的检测方法 Download PDFInfo
- Publication number
- CN116910756B CN116910756B CN202311175514.6A CN202311175514A CN116910756B CN 116910756 B CN116910756 B CN 116910756B CN 202311175514 A CN202311175514 A CN 202311175514A CN 116910756 B CN116910756 B CN 116910756B
- Authority
- CN
- China
- Prior art keywords
- target
- file
- malicious
- instruction information
- detection
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 187
- 239000004698 Polyethylene Substances 0.000 title description 108
- -1 polyethylene Polymers 0.000 title description 2
- 229920000573 polyethylene Polymers 0.000 title description 2
- 239000013598 vector Substances 0.000 claims abstract description 99
- 238000000034 method Methods 0.000 claims abstract description 63
- 238000004458 analytical method Methods 0.000 claims abstract description 10
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 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
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种恶意PE文件的检测方法,涉及安全检测领域,包括:获取目标PE文件对应的目标json文件;确定目标json文件对应的目标指令向量;确定若干目标恶意检测规则的检测顺序;从目标json文件中的若干PE文件信息内确定出若干目标指令信息,以得到目标指令信息列表;根据检测顺序,依次使用每一目标恶意检测规则对目标指令信息列表进行恶意检测,得到目标PE文件对应的恶意检测结果。本发明通过对目标PE文件进行指令分析,得到目标指令向量,确定目标恶意检测规则的检测顺序,无需对目标PE文件进行特定单一顺序的目标恶意检测规则的检测,可以更迅速的完成对目标PE文件的恶意检测,提高了目标PE文件的检测效率。
Description
技术领域
本发明涉及安全检测领域,特别是涉及一种恶意PE文件的检测方法。
背景技术
目前的PE文件的恶意检测方法根据特定顺序的若干检测规则对待检测PE文件进行检测,由于PE文件中包含若干个PE文件信息,每个检测规则均需要对每个PE文件信息进行检测,所以检测PE文件的全量信息的操作量较大,且检测规则的检测顺序是固定的,会存在待检测PE文件的恶意类型与检测顺序的检测规则不匹配的情况,相关性较差,造成了检测算力的浪费,检测效率低下。
发明内容
有鉴于此,本发明提供一种恶意PE文件的检测方法,至少部分解决现有技术中存在的由于检测规则的固定检测顺序导致检测算力的浪费的技术问题,本发明采用的技术方案为:
根据本申请的一个方面,提供一种恶意PE文件的检测方法,包括如下步骤:
响应于接收到目标PE文件,获取目标PE文件对应的IDB文件;
对IDB文件进行解析,得到目标json文件;目标json文件中包含目标PE文件中的若干PE文件信息;PE文件信息包含目标指令信息和目标指令信息对应的目标相对存储地址字段;每一目标指令信息具有对应的目标指令信息类型;
根据目标json文件对应的若干目标指令信息类型,确定目标json文件对应的目标指令向量;
根据目标指令向量与若干恶意样本向量的匹配度,确定若干目标恶意检测规则的检测顺序;每一恶意样本向量对应有一目标恶意检测规则;
从目标json文件中的若干PE文件信息内确定出若干目标指令信息,以得到目标指令信息列表;目标指令信息列表中的目标指令信息根据对应的目标相对存储地址的先后顺序排列;
根据检测顺序,依次使用每一目标恶意检测规则对目标指令信息列表进行恶意检测,得到目标PE文件对应的恶意检测结果。
在本申请的一种示例性实施例中,从目标json文件中的若干PE文件信息内确定出若干目标指令信息,以得到目标指令信息列表,包括:
根据目标json文件内每一PE文件信息对应的PE文件信息类型,得到PE文件信息集Q=(Q1,Q2,...,Qi,...,Qn);Qi=(Qi1,Qi2,...,Qid,...,QiH(i));其中,i=1,2,...,n;d=1,2,...,H(i);n为目标json文件对应的PE文件信息类型的数量;Qi为第i个PE文件信息类型对应的PE文件信息列表;H(i)为目标json文件包含的第i个PE文件信息类型的PE文件信息的数量;Qid为Qi中的第d个PE文件信息;
遍历PE文件信息集Q,若Qi对应的PE文件信息类型为预设指令信息类型,则将Qi中每一PE文件信息确定为目标指令信息,得到目标指令信息列表A=(A1,A2,...,Ab,...,Ac);其中,b=1,2,...,c;c为确定出的目标指令信息的数量;Ab为目标json文件对应的第b个目标指令信息。
在本申请的一种示例性实施例中,将Qi中每一PE文件信息确定为目标指令信息,得到目标指令信息列表A=(A1,A2,...,Ab,...,Ac),包括:
将Qi中每一PE文件信息确定为中间指令信息,得到中间指令信息列表F=(F1,F2,...,Fb,...,Fc);其中,Fb为目标json文件对应的第b个中间指令信息;
获取每一中间指令信息对应的目标相对存储地址;
根据c个中间指令信息对应的目标相对存储地址,对c个中间指令信息进行排序,得到目标指令信息列表A=(A1,A2,...,Ab,...,Ac)。
在本申请的一种示例性实施例中,获取目标PE文件对应的IDB文件,包括:
将目标PE文件输入至IDA解析工具中,得到目标PE文件对应的IDB文件。
在本申请的一种示例性实施例中,目标指令向量通过以下步骤确定:
根据h个第一指令信息类型,得到第一初始特征向量E=(E1,E2,...,Ea,...,Eh);其中,a=1,2,...,h;Ea为E中第a个第一指令信息类型对应的特征信息;Ea的初始值为NULL;
遍历第一初始特征向量E,若目标json文件中包含Ea对应的第一指令信息类型的目标指令信息,则将Ea确定为1;否则,将Ea确定为0;
将赋值后的第一初始特征向量E确定为目标json文件对应的目标指令向量。
在本申请的一种示例性实施例中,对IDB文件进行解析,得到目标json文件,包括:
对IDB文件进行解析处理,得到若干个PE文件信息;
根据预设生成规则,将若干个PE文件信息填充至预设文件模板的对应位置内,以得到目标json文件。
在本申请的一种示例性实施例中,恶意样本向量通过以下步骤确定:
获取每一目标恶意检测规则对应的若干恶意样本文件;
根据h个第一指令信息类型,得到每一目标恶意检测规则对应的第二初始特征向量组W1,W2,...,Wp,...,Wt;Wp=(Wp1,Wp2,...,Wpx,...,WpG(p));Wpx=(Wpx1,Wpx2,...,Wpxa,...,Wpxh);其中,p=1,2,...,t;t为目标恶意检测规则的数量;Wp为第p个目标恶意检测规则对应的第二初始特征向量组;x=1,2,...,G(p);G(p)为第p个目标恶意检测规则对应的恶意样本文件的数量;Wpx为第p个目标恶意检测规则对应的第x个恶意样本文件的第二初始特征向量,Wpxa为Wpx中第a个第一指令信息类型对应的特征信息;Wpxa的初始值为NULL;Wpxa对应的第一指令信息类型和Ea对应的第一指令信息类型相同;
获取第p个目标恶意检测规则对应的每一恶意样本文件的样本指令信息类型列表Mp1,Mp2,...,Mpx,...,MpG(p);Mpx=(Mpx1,Mpx2,...,Mpxr,...,MpxD(px));其中,Mpx为第p个目标恶意检测规则对应的第x个恶意样本文件的样本指令信息类型列表;r=1,2,...,D(px);D(px)≤h;D(px)为第p个目标恶意检测规则对应的第x个恶意样本文件中包含的样本指令信息类型的数量;Mpxr为第p个目标恶意检测规则对应的第x个恶意样本文件的第r个样本指令信息类型;
遍历Wpx,若Wpxa对应的第一指令信息类型存在于Mpx中,则将Wpxa确定为1;否则,将Wpxa确定为0;
将赋值后的Wpx确定为第p个目标恶意检测规则对应的第x个恶意样本文件的指令类型特征向量;
对Wp1,Wp2,...,Wpx,...,WpG(p)进行向量平均处理,得到第p个目标恶意检测规则对应的恶意样本向量Zp。
在本申请的一种示例性实施例中,目标恶意检测规则通过以下步骤确定:
获取g个恶意样本文件对应的恶意样本检测规则,得到恶意样本检测规则集L=(L1,L2,...,Le,...,Lg);其中,e=1,2,...,g;Le为第e个恶意样本文件对应的恶意样本检测规则;
对恶意样本检测规则集L进行去重处理,得到t个目标恶意检测规则。
在本申请的一种示例性实施例中,若干目标恶意检测规则的检测顺序通过以下步骤确定:
根据Z1,Z2,...,Zp,...,Zt与赋值后的第一初始特征向量E,得到若干向量匹配度J1,J2,...,Jp,...,Jt;其中,Jp为赋值后的第一初始特征向量E与Zp之间的向量匹配度;
根据数值递减顺序,对J1,J2,...,Jp,...,Jt进行排列,得到R1,R2,...,Rp,...,Rt;其中,Rp为进行数值递减排列后的第p个向量匹配度;
将R1,R2,...,Rp,...,Rt的排列顺序确定为对应的目标恶意检测规则的检测顺序。
在本申请的一种示例性实施例中,目标PE文件对应的恶意检测结果通过以下步骤确定:
步骤S610、令p=1;
步骤S620、根据Rp对应的目标恶意检测规则,对A1,A2,...,Ab,...,Ac进行恶意检测,得到第p个目标恶意检测规则对应的风险检测值Tp;
步骤S630、若Tp<T0,则执行步骤S640;否则,将第一结果确定为恶意检测结果;其中,T0为预设风险检测值阈值;第一结果表征目标PE文件为恶意文件;
步骤S640、若p<t,则令p=p+1,并执行步骤S620;否则,将第二结果确定为恶意检测结果;第二结果表征目标PE文件为非恶意文件。
本发明至少具有以下有益效果:
本发明的检测方法,通过对接收到的目标PE文件进行解析,得到对应的目标json文件,目标json文件中包含目标PE文件的目标指令信息和对应的目标相对存储地址字段,通过目标相对存储地址对目标指令信息进行排序,得到目标指令信息列表,通过目标指令信息列表,可得知目标PE文件的指令执行顺序,根据目标json文件对应的目标指令信息类型,确定目标json文件对应的目标指令向量,根据目标指令向量和若干恶意样本向量的匹配度,确定每个目标恶意检测规则的检测顺序,根据检测顺序,对目标指令信息列表进行恶意检测,得到对应的检测结果。本发明通过对目标PE文件进行指令分析,得到目标指令向量,并确定出每个目标恶意检测规则的检测顺序,与现有的PE文件检测方法相比,无需对目标PE文件进行特定单一顺序的目标恶意检测规则的检测,可以更为迅速的完成对目标PE文件的恶意检测,提高了目标PE文件的检测效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的恶意PE文件的检测方法的流程图;
图2为本发明实施例提供的恶意样本向量的确定方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种恶意PE文件的检测方法,如图1所示,包括如下步骤:
步骤S100、响应于接收到目标PE文件,获取目标PE文件对应的IDB文件;
目标PE文件为PE文件。
进一步,步骤S100中,获取目标PE文件对应的IDB文件,包括:
步骤S110、将目标PE文件输入至IDA解析工具中,得到目标PE文件对应的IDB文件。
IDA解析工具为一种PE文件的解析工具,通过IDA解析工具得到目标PE文件对应的IDB文件。IDB文件,即Indexed Database,中文名为“索引化数据库”,是一种可在浏览器端进行本地保存和存储数据的技术。
步骤S200、对IDB文件进行解析,得到目标json文件;目标json文件中包含目标PE文件中的若干PE文件信息;PE文件信息包含目标指令信息和目标指令信息对应的目标相对存储地址字段;每一目标指令信息具有对应的目标指令信息类型;
传统的获取文件指令信息的方法是利用解析模块的API获取文件的汇编代码,通过汇编代码确定PE函数及其参数,此种方法的效率低下,且会产生大量的无用数据占用空间,特别在批量自动化检测的过程中尤为明显,得到结果非常慢,生成的日志也很大,导致恶意样本分析的效率很低,对工作进度有很大影响。所以,本发明中通过IDA解析工具对目标PE文件进行解析,得到IDB文件,将IDB文件中的若干PE文件信息解析出来,得到目标json文件,可以在去除大量无用信息的同时,还不影响对关键信息的提取,同样也可以减少信息的储存空间,便于对指令信息的定位,提高了检测效率。
进一步,步骤S200中,对IDB文件进行解析,得到目标json文件,包括:
步骤S210、对IDB文件进行解析处理,得到若干个PE文件信息;
步骤S220、根据预设生成规则,将若干个PE文件信息填充至预设文件模板的对应位置内,以得到目标json文件;
步骤S300、根据目标json文件对应的若干目标指令信息类型,确定目标json文件对应的目标指令向量;
目标指令向量表示目标json文件中包含的目标指令信息的类型,目标json文件为目标PE文件进行解析得到的,目标json文件中包含目标PE文件中的若干文件信息,如指令信息、网址信息、地址信息、用户信息等。
由于文件中的函数及其参数可以更好的体现该文件的恶意行为,而在参数中的字符串又是直观体现的,因此,需要对接收到的目标PE文件进行解析,得到目标json文件,目标json文件可以清晰的表示目标PE文件中的函数调用关系以及字符串参数的传递,即目标PE文件执行了哪些指令,通过这些指令完成何种行为,所以,将目标PE文件解析为目标json文件,可以更清楚的获知目标PE文件需要执行的指令,通过获取对应的指令信息类型,得到对应的目标指令向量。
其中,目标指令向量通过以下步骤确定:
步骤S310、根据h个第一指令信息类型,得到第一初始特征向量E=(E1,E2,...,Ea,...,Eh);其中,a=1,2,...,h;Ea为E中第a个第一指令信息类型对应的特征信息;Ea的初始值为NULL;
第一指令信息类型为预设的指令信息类型,为根据若干个目标恶意检测规则确定出的指令信息类型。
步骤S320、遍历第一初始特征向量E,若目标json文件中包含Ea对应的第一指令信息类型的目标指令信息,则将Ea确定为1;否则,将Ea确定为0;
步骤S330、将赋值后的第一初始特征向量E确定为目标json文件对应的目标指令向量。
步骤S400、根据目标指令向量与若干恶意样本向量的匹配度,确定若干目标恶意检测规则的检测顺序;每一恶意样本向量对应有一目标恶意检测规则;恶意样本向量为根据每一目标恶意检测规则对应的若干指令类型特征向量得到的;指令类型特征向量为根据每一目标恶意检测规则对应的若干恶意样本文件得到的;
目标恶意检测规则为用于对目标PE文件进行恶意检测的检测规则,每一目标恶意检测规则对应有一恶意样本向量,恶意样本向量为根据若干恶意样本文件的样本指令信息类型得到的,通过每一恶意样本向量,可得知通过对应的目标恶意检测规则检测为恶意文件的恶意样本文件中的指令信息的类型。
其中,如图2所示,恶意样本向量通过以下步骤确定:
步骤S410、获取每一目标恶意检测规则对应的若干恶意样本文件;
恶意样本文件为确定为恶意文件的PE文件,其对应的目标恶意检测规则为将其检测为恶意文件所用的检测规则。每个恶意样本文件对应有一个目标恶意检测规则,即该恶意样本文件是通过其对应的目标恶意检测规则检测为恶意文件的。先统计所有恶意样本文件对应的目标恶意检测规则的数量,再根据统计出的每一目标恶意检测规则,对若干个恶意样本文件进行分组,得到每个目标恶意检测规则对应的恶意样本文件组,每个恶意样本文件组中包括若干个恶意样本文件,即同一个恶意样本文件组中的所有恶意样本文件对应的目标恶意检测规则相同。
步骤S411、根据h个第一指令信息类型,得到每一目标恶意检测规则对应的第二初始特征向量组W1,W2,...,Wp,...,Wt;Wp=(Wp1,Wp2,...,Wpx,...,WpG(p));Wpx=(Wpx1,Wpx2,...,Wpxa,...,Wpxh);其中,p=1,2,...,t;t为目标恶意检测规则的数量;Wp为第p个目标恶意检测规则对应的第二初始特征向量组;x=1,2,...,G(p);G(p)为第p个目标恶意检测规则对应的恶意样本文件的数量;Wpx为第p个目标恶意检测规则对应的第x个恶意样本文件的第二初始特征向量,Wpxa为Wpx中第a个第一指令信息类型对应的特征信息;Wpxa的初始值为NULL;Wpxa对应的第一指令信息类型和Ea对应的第一指令信息类型相同;
恶意样本向量的第一指令信息类型的数量和目标指令向量的第一指令信息类型的数量相等,即均为h个,且每个向量中的同一个位置的特征信息对应的指令信息类型相同,如目标指令向量中的第一位特征信息对应的指令信息类型和每一恶意样本向量中的第一位特征信息对应的指令信息类型均为call指令,便于后续目标指令向量与每一恶意样本向量的对比。
步骤S412、获取第p个目标恶意检测规则对应的每一恶意样本文件的样本指令信息类型列表Mp1,Mp2,...,Mpx,...,MpG(p);Mpx=(Mpx1,Mpx2,...,Mpxr,...,MpxD(px));其中,Mpx为第p个目标恶意检测规则对应的第x个恶意样本文件的样本指令信息类型列表;r=1,2,...,D(px);D(px)≤h;D(px)为第p个目标恶意检测规则对应的第x个恶意样本文件中包含的样本指令信息类型的数量;Mpxr为第p个目标恶意检测规则对应的第x个恶意样本文件的第r个样本指令信息类型;
样本指令信息类型为对应的恶意样本文件中包括的汇编指令信息的类型,如call指令、push指令等。
步骤S413、遍历Wpx,若Wpxa对应的第一指令信息类型存在于Mpx中,则将Wpxa确定为1;否则,将Wpxa确定为0;
步骤S414、将赋值后的Wpx确定为第p个目标恶意检测规则对应的第x个恶意样本文件的指令类型特征向量;
指令类型特征向量的确定方法与目标指令向量的确定方法相同,均是通过确定对应的文件中包含的指令信息类型,确定对应的指令向量。
步骤S415、对Wp1,Wp2,...,Wpx,...,WpG(p)进行向量平均处理,得到第p个目标恶意检测规则对应的恶意样本向量Zp。
得到每一恶意样本文件的指令类型特征向量后,对属于同一个恶意样本文件组中的所有恶意样本文件的指令类型特征向量进行向量平均处理,得到每一目标恶意检测规则对应的恶意样本向量,恶意样本向量可以反映出对应的目标恶意检测规则通过哪些指令信息类型检测出的恶意文件。
其中,目标恶意检测规则通过以下步骤确定:
步骤S420、获取g个恶意样本文件对应的恶意样本检测规则,得到恶意样本检测规则集L=(L1,L2,...,Le,...,Lg);其中,e=1,2,...,g;Le为第e个恶意样本文件对应的恶意样本检测规则;
步骤S421、对恶意样本检测规则集L进行去重处理,得到t个目标恶意检测规则。
其中,若干目标恶意检测规则的检测顺序通过以下步骤确定:
步骤S430、根据Z1,Z2,...,Zp,...,Zt与赋值后的第一初始特征向量E,得到若干向量匹配度J1,J2,...,Jp,...,Jt;其中,Jp为赋值后的第一初始特征向量E与Zp之间的向量匹配度;
步骤S431、根据数值递减顺序,对J1,J2,...,Jp,...,Jt进行排列,得到R1,R2,...,Rp,...,Rt;其中,Rp为进行数值递减排列后的第p个向量匹配度;
步骤S432、将R1,R2,...,Rp,...,Rt的排列顺序确定为对应的目标恶意检测规则的检测顺序。
将若干个目标恶意检测规则根据向量匹配度的递减进行排序,得到对应的检测顺序,向量匹配度越大,表示对应的目标恶意检测规则检测目标PE文件为恶意文件的概率越大。若干目标恶意检测规则通过检测顺序对目标PE文件进行恶意检测,从向量匹配度高的目标恶意检测规则对目标PE文件进行检测,可以缩短检测出恶意文件的检测时间,提高检测效率。
步骤S500、从目标json文件中的若干PE文件信息内确定出若干目标指令信息,以得到目标指令信息列表;目标指令信息列表中的目标指令信息根据对应的目标相对存储地址的先后顺序排列;
进一步,步骤S500中,从目标json文件中的若干PE文件信息内确定出若干目标指令信息,以得到目标指令信息列表,包括:
步骤S510、根据目标json文件内每一PE文件信息对应的PE文件信息类型,得到PE文件信息集Q=(Q1,Q2,...,Qi,...,Qn);Qi=(Qi1,Qi2,...,Qid,...,QiH(i));其中,i=1,2,...,n;d=1,2,...,H(i);n为目标json文件对应的PE文件信息类型的数量;Qi为第i个PE文件信息类型对应的PE文件信息列表;H(i)为目标json文件包含的第i个PE文件信息类型的PE文件信息的数量;Qid为Qi中的第d个PE文件信息;
步骤S520、遍历PE文件信息集Q,若Qi对应的PE文件信息类型为预设指令信息类型,则将Qi中每一PE文件信息确定为目标指令信息,得到目标指令信息列表A=(A1,A2,...,Ab,...,Ac);其中,b=1,2,...,c;c为确定出的目标指令信息的数量;Ab为目标json文件对应的第b个目标指令信息。
预设指令信息类型为检测恶意文件所需的指令信息类型。
进一步,步骤S520中,将Qi中每一PE文件信息确定为目标指令信息,得到目标指令信息列表A=(A1,A2,...,Ab,...,Ac),包括:
步骤S521、将Qi中每一PE文件信息确定为中间指令信息,得到中间指令信息列表F=(F1,F2,...,Fb,...,Fc);其中,Fb为目标json文件对应的第b个中间指令信息;
步骤S522、获取每一中间指令信息对应的目标相对存储地址;
步骤S523、根据c个中间指令信息对应的目标相对存储地址由低到高的顺序,对c个中间指令信息进行排序,得到目标指令信息列表A=(A1,A2,...,Ab,...,Ac)。
目标相对存储地址字段对应的目标相对存储地址为对应的中间指令信息在寄存器中的存储地址,根据目标相对存储地址字段对应的目标相对存储地址,对每一中间指令信息进行排序,得到对应的目标指令信息列表,目标指令信息列表中的若干中间指令信息根据对应的目标相对存储地址进行排序,可以清楚的表示目标PE文件的指令执行顺序,便于对指令信息的检测。
步骤S600、根据检测顺序,依次使用每一目标恶意检测规则对目标指令信息列表进行恶意检测,得到目标PE文件对应的恶意检测结果;
进一步,步骤S600中,目标PE文件对应的恶意检测结果通过以下步骤确定:
步骤S610、令p=1;
步骤S620、根据Rp对应的目标恶意检测规则,对A1,A2,...,Ab,...,Ac进行恶意检测,得到第p个目标恶意检测规则对应的风险检测值Tp;
步骤S630、若Tp<T0,则执行步骤S640;否则,将第一结果确定为恶意检测结果;其中,T0为预设风险检测值阈值;第一结果表征目标PE文件为恶意文件;
步骤S640、若p<t,则令p=p+1,并执行步骤S620;否则,将第二结果确定为恶意检测结果;第二结果表征目标PE文件为非恶意文件。
在接收到任一目标恶意检测规则返回的检测结果为第一结果时,表示此时已经检测出目标PE文件为恶意文件,无需再进行其他目标恶意检测规则的检测,直接退出检测方法,将目标PE文件确定为恶意文件;若当前的目标恶意检测规则返回的检测结果为第二结果时,则表示此时的目标PE文件通过已经检测的目标恶意检测规则的检测后,仍为非恶意文件,还需要根据检测顺序,继续根据后续的目标恶意检测规则对目标PE文件进行后续的恶意检测。
本发明的检测方法,通过对接收到的目标PE文件进行解析,得到对应的目标json文件,目标json文件中包含目标PE文件的目标指令信息和对应的目标相对存储地址字段,通过目标相对存储地址对目标指令信息进行排序,得到目标指令信息列表,通过目标指令信息列表,可得知目标PE文件的指令执行顺序,根据目标json文件对应的目标指令信息类型,确定目标json文件对应的目标指令向量,根据目标指令向量和若干恶意样本向量的匹配度,确定每个目标恶意检测规则的检测顺序,根据检测顺序,对目标指令信息列表进行恶意检测,得到对应的检测结果,本发明通过对目标PE文件进行指令分析,得到目标指令向量,并确定出每个目标恶意检测规则的检测顺序,与现有的PE文件检测方法相比,无需对目标PE文件进行特定单一顺序的目标恶意检测规则的检测,可以更为迅速的完成对目标PE文件的恶意检测,提高了目标PE文件的检测效率。
本发明的实施例还提供一种计算机程序产品,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使该电子设备执行本说明书上述描述的根据本发明各种示例性实施方式的方法中的步骤。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
根据本发明的这种实施方式的电子设备。电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:上述至少一个处理器、上述至少一个储存器、连接不同系统组件(包括储存器和处理器)的总线。
其中,所述储存器存储有程序代码,所述程序代码可以被所述处理器执行,使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
储存器可以包括易失性储存器形式的可读介质,例如随机存取储存器(RAM)和/或高速缓存储存器,还可以进一步包括只读储存器(ROM)。
储存器还可以包括具有一组(至少一个)程序模块的程序/实用工具,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线可以为表示几类总线结构中的一种或多种,包括储存器总线或者储存器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
电子设备也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口进行。并且,电子设备还可以通过网络适配器与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器通过总线与电子设备的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种恶意PE文件的检测方法,其特征在于,包括如下步骤:
响应于接收到目标PE文件,获取所述目标PE文件对应的IDB文件;
对所述IDB文件进行解析,得到目标json文件;所述目标json文件中包含所述目标PE文件中的若干PE文件信息;所述PE文件信息包含目标指令信息和所述目标指令信息对应的目标相对存储地址字段;每一所述目标指令信息具有对应的目标指令信息类型;
根据所述目标json文件对应的若干所述目标指令信息类型,确定所述目标json文件对应的目标指令向量;
根据所述目标指令向量与若干恶意样本向量的匹配度,确定若干目标恶意检测规则的检测顺序;每一所述恶意样本向量对应有一目标恶意检测规则;
从所述目标json文件中的若干PE文件信息内确定出若干目标指令信息,以得到目标指令信息列表;所述目标指令信息列表中的目标指令信息根据对应的目标相对存储地址的先后顺序排列;
根据所述检测顺序,依次使用每一目标恶意检测规则对所述目标指令信息列表进行恶意检测,得到所述目标PE文件对应的恶意检测结果;
其中,所述目标指令向量通过以下步骤确定:
根据h个第一指令信息类型,得到第一初始特征向量E=(E1,E2,...,Ea,...,Eh);其中,a=1,2,...,h;Ea为E中第a个第一指令信息类型对应的特征信息;Ea的初始值为NULL;
遍历第一初始特征向量E,若所述目标json文件中包含Ea对应的第一指令信息类型的目标指令信息,则将Ea确定为1;否则,将Ea确定为0;
将赋值后的第一初始特征向量E确定为所述目标json文件对应的目标指令向量;
其中,所述恶意样本向量通过以下步骤确定:
获取每一目标恶意检测规则对应的若干恶意样本文件;
根据h个第一指令信息类型,得到每一目标恶意检测规则对应的第二初始特征向量组W1,W2,...,Wp,...,Wt;Wp=(Wp1,Wp2,...,Wpx,...,WpG(p));Wpx=(Wpx1,Wpx2,...,Wpxa,...,Wpxh);其中,p=1,2,...,t;t为目标恶意检测规则的数量;Wp为第p个目标恶意检测规则对应的第二初始特征向量组;x=1,2,...,G(p);G(p)为第p个目标恶意检测规则对应的恶意样本文件的数量;Wpx为第p个目标恶意检测规则对应的第x个恶意样本文件的第二初始特征向量,Wpxa为Wpx中第a个第一指令信息类型对应的特征信息;Wpxa的初始值为NULL;Wpxa对应的第一指令信息类型和Ea对应的第一指令信息类型相同;
获取第p个目标恶意检测规则对应的每一恶意样本文件的样本指令信息类型列表Mp1,Mp2,...,Mpx,...,MpG(p);Mpx=(Mpx1,Mpx2,...,Mpxr,...,MpxD(px));其中,Mpx为第p个目标恶意检测规则对应的第x个恶意样本文件的样本指令信息类型列表;r=1,2,...,D(px);D(px)≤h;D(px)为第p个目标恶意检测规则对应的第x个恶意样本文件中包含的样本指令信息类型的数量;Mpxr为第p个目标恶意检测规则对应的第x个恶意样本文件的第r个样本指令信息类型;
遍历Wpx,若Wpxa对应的第一指令信息类型存在于Mpx中,则将Wpxa确定为1;否则,将Wpxa确定为0;
将赋值后的Wpx确定为第p个目标恶意检测规则对应的第x个恶意样本文件的指令类型特征向量;
对Wp1,Wp2,...,Wpx,...,WpG(p)进行向量平均处理,得到第p个目标恶意检测规则对应的恶意样本向量Zp;
其中,若干所述目标恶意检测规则的检测顺序通过以下步骤确定:
根据Z1,Z2,...,Zp,...,Zt与赋值后的第一初始特征向量E,得到若干向量匹配度J1,J2,...,Jp,...,Jt;其中,Jp为赋值后的第一初始特征向量E与Zp之间的向量匹配度;
根据数值递减顺序,对J1,J2,...,Jp,...,Jt进行排列,得到R1,R2,...,Rp,...,Rt;其中,Rp为进行数值递减排列后的第p个向量匹配度;
将R1,R2,...,Rp,...,Rt的排列顺序确定为对应的目标恶意检测规则的检测顺序。
2.根据权利要求1所述的方法,其特征在于,所述从所述目标json文件中的若干PE文件信息内确定出若干目标指令信息,以得到目标指令信息列表,包括:
根据所述目标json文件内每一所述PE文件信息对应的PE文件信息类型,得到PE文件信息集Q=(Q1,Q2,...,Qi,...,Qn);Qi=(Qi1,Qi2,...,Qid,...,QiH(i));其中,i=1,2,...,n;d=1,2,...,H(i);n为所述目标json文件对应的PE文件信息类型的数量;Qi为第i个PE文件信息类型对应的PE文件信息列表;H(i)为所述目标json文件包含的第i个PE文件信息类型的PE文件信息的数量;Qid为Qi中的第d个PE文件信息;
遍历PE文件信息集Q,若Qi对应的PE文件信息类型为预设指令信息类型,则将Qi中每一所述PE文件信息确定为目标指令信息,得到目标指令信息列表A=(A1,A2,...,Ab,...,Ac);其中,b=1,2,...,c;c为确定出的目标指令信息的数量;Ab为所述目标json文件对应的第b个目标指令信息。
3.根据权利要求2所述的方法,其特征在于,所述将Qi中每一所述PE文件信息确定为目标指令信息,得到目标指令信息列表A=(A1,A2,...,Ab,...,Ac),包括:
将Qi中每一所述PE文件信息确定为中间指令信息,得到中间指令信息列表F=(F1,F2,...,Fb,...,Fc);其中,Fb为所述目标json文件对应的第b个中间指令信息;
获取每一所述中间指令信息对应的目标相对存储地址;
根据c个所述中间指令信息对应的所述目标相对存储地址,对c个所述中间指令信息进行排序,得到目标指令信息列表A=(A1,A2,...,Ab,...,Ac)。
4.根据权利要求1所述的方法,其特征在于,所述获取所述目标PE文件对应的IDB文件,包括:
将所述目标PE文件输入至IDA解析工具中,得到所述目标PE文件对应的IDB文件。
5.根据权利要求1所述的方法,其特征在于,所述对所述IDB文件进行解析,得到目标json文件,包括:
对所述IDB文件进行解析处理,得到若干个PE文件信息;
根据预设生成规则,将若干个所述PE文件信息填充至预设文件模板的对应位置内,以得到目标json文件。
6.根据权利要求1所述的方法,其特征在于,所述目标恶意检测规则通过以下步骤确定:
获取g个恶意样本文件对应的恶意样本检测规则,得到恶意样本检测规则集L=(L1,L2,...,Le,...,Lg);其中,e=1,2,...,g;Le为第e个恶意样本文件对应的恶意样本检测规则;
对恶意样本检测规则集L进行去重处理,得到t个目标恶意检测规则。
7.根据权利要求1所述的方法,其特征在于,所述目标PE文件对应的恶意检测结果通过以下步骤确定:
步骤S610、令p=1;
步骤S620、根据Rp对应的目标恶意检测规则,对A1,A2,...,Ab,...,Ac进行恶意检测,得到第p个目标恶意检测规则对应的风险检测值Tp;
步骤S630、若Tp<T0,则执行步骤S640;否则,将第一结果确定为恶意检测结果;其中,T0为预设风险检测值阈值;所述第一结果表征所述目标PE文件为恶意文件;
步骤S640、若p<t,则令p=p+1,并执行步骤S620;否则,将第二结果确定为恶意检测结果;所述第二结果表征所述目标PE文件为非恶意文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311175514.6A CN116910756B (zh) | 2023-09-13 | 2023-09-13 | 一种恶意pe文件的检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311175514.6A CN116910756B (zh) | 2023-09-13 | 2023-09-13 | 一种恶意pe文件的检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116910756A CN116910756A (zh) | 2023-10-20 |
CN116910756B true CN116910756B (zh) | 2024-01-23 |
Family
ID=88360714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311175514.6A Active CN116910756B (zh) | 2023-09-13 | 2023-09-13 | 一种恶意pe文件的检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116910756B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778268A (zh) * | 2016-11-28 | 2017-05-31 | 广东省信息安全测评中心 | 恶意代码检测方法与系统 |
CN112100619A (zh) * | 2019-06-18 | 2020-12-18 | 深信服科技股份有限公司 | 一种恶意文件检测方法、系统、设备及计算机存储介质 |
WO2021027831A1 (zh) * | 2019-08-15 | 2021-02-18 | 中兴通讯股份有限公司 | 一种恶意文件检测方法和装置、电子设备及存储介质 |
CN113792293A (zh) * | 2021-09-15 | 2021-12-14 | 杭州显宏信息工程咨询有限公司 | 一种基于软件功能、性能、数据安全的信息监理检测方法 |
CN115640066A (zh) * | 2022-09-21 | 2023-01-24 | 浙江极氪智能科技有限公司 | 一种安全检测方法、装置、设备及存储介质 |
CN116366377A (zh) * | 2023-06-02 | 2023-06-30 | 深信服科技股份有限公司 | 恶意文件检测方法、装置、设备及存储介质 |
-
2023
- 2023-09-13 CN CN202311175514.6A patent/CN116910756B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778268A (zh) * | 2016-11-28 | 2017-05-31 | 广东省信息安全测评中心 | 恶意代码检测方法与系统 |
CN112100619A (zh) * | 2019-06-18 | 2020-12-18 | 深信服科技股份有限公司 | 一种恶意文件检测方法、系统、设备及计算机存储介质 |
WO2021027831A1 (zh) * | 2019-08-15 | 2021-02-18 | 中兴通讯股份有限公司 | 一种恶意文件检测方法和装置、电子设备及存储介质 |
CN113792293A (zh) * | 2021-09-15 | 2021-12-14 | 杭州显宏信息工程咨询有限公司 | 一种基于软件功能、性能、数据安全的信息监理检测方法 |
CN115640066A (zh) * | 2022-09-21 | 2023-01-24 | 浙江极氪智能科技有限公司 | 一种安全检测方法、装置、设备及存储介质 |
CN116366377A (zh) * | 2023-06-02 | 2023-06-30 | 深信服科技股份有限公司 | 恶意文件检测方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116910756A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106022349B (zh) | 用于设备类型确定的方法和系统 | |
CN110704390B (zh) | 获取服务器维护脚本的方法、装置、电子设备及介质 | |
CN115221516B (zh) | 恶意应用程序识别方法及装置、存储介质、电子设备 | |
CN113568626B (zh) | 动态打包、应用程序包开启方法、装置和电子设备 | |
CN112148305A (zh) | 一种应用检测方法、装置、计算机设备和可读存储介质 | |
CN117009911B (zh) | 一种目标事件的异常判定方法、装置、介质及电子设备 | |
CN115328753B (zh) | 一种故障预测方法及装置、电子设备、存储介质 | |
CN116910756B (zh) | 一种恶意pe文件的检测方法 | |
CN115495740A (zh) | 一种病毒检测方法和装置 | |
CN116015861A (zh) | 一种数据检测方法、装置、电子设备及存储介质 | |
CN115643094A (zh) | 一种威胁情报融合方法、装置、电子设备及存储介质 | |
CN114154153A (zh) | 恶意代码检测方法及装置、电子设备、存储介质 | |
CN114338187A (zh) | 基于决策树的终端安全检测方法及装置 | |
CN112988441A (zh) | 异常处理方法和装置 | |
CN111753548A (zh) | 信息获取方法及装置、计算机存储介质、电子设备 | |
CN117077138B (zh) | 一种基于浏览器的异常检测方法、系统、介质及设备 | |
CN116910755A (zh) | 一种文件检测方法 | |
CN116910757B (zh) | 一种多进程检测系统、电子设备及存储介质 | |
CN116992449B (zh) | 一种相似样本文件确定方法及装置、电子设备及存储介质 | |
CN114881018B (zh) | 一种文件处理方法、装置、电子设备及存储介质 | |
CN116992448B (zh) | 基于数据源重要程度的样本确定方法及装置、设备及介质 | |
CN114238976B (zh) | 文件的检测方法、装置、可读介质和电子设备 | |
CN116992450B (zh) | 一种文件检测规则确定方法及装置、电子设备及存储介质 | |
CN117235744B (zh) | 源文件上线方法、装置、电子设备和计算机可读介质 | |
CN116305172B (zh) | OneNote文档的检测方法、装置、介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |