CN102855440B - 一种检测加壳可执行文件的方法、装置和系统 - Google Patents

一种检测加壳可执行文件的方法、装置和系统 Download PDF

Info

Publication number
CN102855440B
CN102855440B CN201210340234.1A CN201210340234A CN102855440B CN 102855440 B CN102855440 B CN 102855440B CN 201210340234 A CN201210340234 A CN 201210340234A CN 102855440 B CN102855440 B CN 102855440B
Authority
CN
China
Prior art keywords
value
executable file
technical
initial value
shell
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
Application number
CN201210340234.1A
Other languages
English (en)
Other versions
CN102855440A (zh
Inventor
马茂刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qizhi Business Consulting Co ltd
Beijing Qihoo Technology Co Ltd
360 Digital Security Technology Group Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201210340234.1A priority Critical patent/CN102855440B/zh
Publication of CN102855440A publication Critical patent/CN102855440A/zh
Application granted granted Critical
Publication of CN102855440B publication Critical patent/CN102855440B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种检测加壳可执行文件的方法、装置和系统,该方法包括:根据加壳可执行文件样本的特征设置至少两项技术指标;应用加壳可执行文件样本得出各项技术指标的权重值;计算待检测的可执行文件的各项技术指标的值,使用权重值将所述各项技术指标的值加权求和,依据加权求和的结果判断所述待检测的可执行文件是否为加壳可执行文件。本发明适用于信息安全领域,能够解决现有技术中存在病毒作者可以通过修改特定匹配特征来绕过加壳可执行文件检测,导致无法将加壳可执行文件检测出来的问题。

Description

一种检测加壳可执行文件的方法、装置和系统
技术领域
本发明涉及信息安全领域,具体涉及一种检测加壳可执行文件的方法、装置和系统。
背景技术
现有技术中,通过统计可知有超过80%的恶意程序使用了加壳技术。加壳后的可执行文件与原可执行文件在文件内容上具有差异。而对于以特征码检测为主要技术的反病毒厂商,脱壳就成为了必不可少的一个重要环节。因而需要对PE(Portable Executable,可执行程序)文件是否加壳进行准确的检测,即检测出加壳可执行文件。其中,PE是Win32可执行文件的标准格式,常见可执行文件包括EXE、DLL、OCX、SYS、COM等。
现有技术中对PE文件的检测主要是基于特征码匹配,典型的工具是PEID(PE编辑器,PE iDentifier),PEID检测PE文件是否加壳的方法为基于特征匹配,即病毒分析员将PE文件中具有特殊含义的二进制数据作为壳特征进行匹配,通常选择壳代码的二进制数据作为壳特征。具体包括:基于PE文件节特征,即病毒分析员将病毒PE文件中一个节作为其文件特征,在特定的节中提取特征;以及基于PE文件入口点特征,由于多数加壳PE文件的入口处特点明显,通常提取入口点处的代码作为特征。
由于现有技术的加壳可执行文件检测方法基于特征匹配,病毒作者可以使用多态技术绕过特征。病毒作者可以在静态程序中不存在进行匹配的特征,当程序加载到内存时动态解密出壳。这样就绕过了现有技术中基于特征匹配的加壳检测。因此,现有技术中存在病毒作者可以通过修改特定匹配特征来绕过加壳可执行文件检测,导致无法将加壳可执行文件检测出来的问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种检测加壳可执行文件的方法和相应的检测加壳可执行文件的系统,以及检测加壳可执行文件的装置。
依据本发明的一个方面,提供了一种检测加壳可执行文件的方法,该方法包括:
根据加壳可执行文件样本的特征设置至少两项技术指标,所述技术指标为用于表示可执行文件符合加壳可执行文件特征的程度的参量;
应用加壳可执行文件样本得出各项技术指标的权重值;
计算待检测的可执行文件的各项技术指标的值,使用所述权重值将所述各项技术指标的值加权求和,依据加权求和的结果判断所述待检测的可执行文件是否为加壳可执行文件。
依据本发明的另一个方面,提供了一种检测加壳可执行文件的系统,该系统包括:服务器和客户端,
所述服务器包括:
样本存储模块,用于存储加壳可执行文件样本;
技术指标设置模块,用于根据加壳可执行文件样本的特征设置至少两项技术指标,所述技术指标为用于表示可执行文件符合加壳可执行文件特征的程度的参量;
权重值计算模块,用于应用加壳可执行文件样本得出各项技术指标的权重值;
参量发送模块,用将设置的技术指标和得出的权重值发送给客户端;
所述客户端包括:
参量存储模块,用于保存服务器发送的技术指标和权重值;
加壳检测模块,用于根据参量存储模块中保存的技术指标计算待检测的可执行文件的各项技术指标的值,使用参量存储模块中保存的权重值将所述各项技术指标的值加权求和,依据加权求和的结果判断所述待检测的可执行文件是否为加壳可执行文件。
依据本发明的另一个方面,提供了一种检测加壳可执行文件的装置,该装置包括:
样本存储模块,用于存储加壳可执行文件样本;
技术指标设置模块,用于根据加壳可执行文件样本的特征设置至少两项技术指标,所述技术指标为用于表示可执行文件符合加壳可执行文件特征的程度的参量;
权重值计算模块,用于应用加壳可执行文件样本得出各项技术指标的权重值;
加壳检测模块,用于计算待检测的可执行文件的各项技术指标的值,使用所述权重值将所述各项技术指标的值加权求和,依据加权求和的结果判断所述待检测的可执行文件是否为加壳可执行文件。
根据本发明的技术方案,其中,根据加壳可执行文件样本的特征设置至少两项技术指标,应用加壳可执行文件样本得出各项技术指标的权重值,计算待检测的可执行文件的各项技术指标的值,使用权重值将所述各项技术指标的值加权求和,依据加权求和的结果判断所述待检测的可执行文件是否为加壳可执行文件。通过采用技术指标将可执行文件符合加壳可执行文件的特征的程度进行量化,即使可执行文件不完全符合某个特征,也可以确定可执行文件的特性与该特征的接近程度,进而对可执行文件进行更加精确的分析。通过加权求和能够对可执行文件的多个特征符合程度进行综合衡量,依据综合衡量的结果判断可执行文件是否加壳,这样,即使病毒作者修改匹配特征,仍然可以依据对可执行文件符合特征程度的综合衡量结果检测出可执行文件加壳,使得病毒作者修改匹配特征对检测的最终结果影响较小。由此,解决了病毒作者可以通过修改匹配特征绕过加壳可执行文件检测,导致无法将加壳可执行文件检测出来的问题,取得了提高加壳可执行文件被检测出的可能性的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的检测加壳可执行文件的方法的流程图;
图2示出了根据本发明一个实施例的求导技术指标权重值的方法的流程;
图3示出了根据本发明一个实施例的根据技术指标的均值求导权重值的方法的流程;
图4示出根据本发明一个实施例的采用粒子群算法得出权重值来检测加壳可执行文件的方法的流程图;
图5示出根据本发明一个实施例的采用粒子群算法得出权重值的流程图;
图6示出根据本发明一个实施例的采用遗传算法得出权重值的流程图;
图7示出了根据本发明一个实施例的检测加壳可执行文件的系统的结构图;
图8示出了根据本发明一个实施例的检测加壳可执行文件的装置的结构图。
图9示出了根据本发明一个实施例的权重值计算模块的结构图;以及
图10示出了根据本发明一个实施例的权重值求导子模块的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参见图1,示出了根据本发明一个实施例的检测加壳可执行文件的方法的流程图,所述方法包括如下步骤。
步骤S100,根据加壳可执行文件样本的特征设置至少两项技术指标。
所述技术指标为用于表示可执行文件符合加壳可执行文件特征的程度的参量。
步骤S200,应用加壳可执行文件样本得出各项技术指标的权重值。
步骤S300,计算待检测的可执行文件的各项技术指标的值,使用权重值将各项技术指标的值加权求和,依据加权求和的结果判断该待检测的可执行文件是否为加壳可执行文件。
本方案提供了高效的针对新壳查壳方法。采用本方案能够结合特征匹配、静态分析的特点,一方面保证了对已知壳的检测,另一方面提高了对未知壳的检测。例如,测试证明,对于不常见的加壳软件diProtector、DiskDupe、DJoin、PUNiSHER、QrYPt0r等的加壳,都可以检测出来。
在一实施例中,在执行步骤S300前,将待检测的可执行文件与预设的特征项进行匹配,如果匹配成功,则待检测的可执行文件加壳,不执行步骤S300,如果不匹配,则没有检测出待检测的可执行文件加壳,执行步骤S300。
这样,将特征匹配的方式与加权求和的方式相结合,使得本实施例中技术方案具有较高的扩展性。开发人员,或者病毒分析人员,通过遵从一定的规范,添加新的加壳可执行文件的特征,仍可实现特征匹配所达到的检测效果。
在一实施例中,步骤S100可以按如下方式实现。
所述根据加壳可执行文件样本的特征设置至少两个技术指标具体包括:
从加壳可执行文件样本如下特征中选择至少两项特征,
所述特征包括:非正常区段特征、导入函数量特征、代码熵特征和附加特征,
所述代码熵为可执行文件中代码段大小与数据段大小的比值,
所述附加特征包括如下子特征中的一项或多项,
所述子特征包括:可执行文件包含附加数据段、可执行文件的资源节入口在第一区段、可执行文件中包含大小为0的区段、可执行文件的入口点在第一或第二区段、可执行文件包含名称为空的区段、和可执行文件包含预设的敏感字符串;
根据选择的特征对技术指标进行如下设置:
当非正常区段特征被选择时,根据非正常区段特征将非正常区段指标设置为:当可执行文件中包含除预设的正常区段之外的区段时,非正常区段指标的值为1,否则,非正常区段指标的值为0;
当导入函数量特征被选择时,根据导入函数量特征将导入函数量指标设置为:当可执行文件从外部导入的函数的数量大于等于预设阀值时,导入函数量指标的值为1,否则,导入函数量指标的值为导入函数数量除以所述阀值的商;
当代码熵特征被选择时,根据代码熵特征将代码熵指标设置为:当代码熵的值小于等于预设的下限阀值时,代码熵指标的值为0,当代码熵的值大于等于预设的上限阀值时,代码熵指标的值为1,当代码熵的值在所述下限阀值和所述上限阀值之间时,代码熵指标的值为其中,e为代码熵,Rdown为下限阀值,Rup为上限阀值;
当附加特征被选择时,根据附加特征将附加指标设置为:附加指标的值为可执行文件满足的子特征数量除以附加特征所包含的子特征总量的商。
上述设置的技术指标仅为示例性说明,本领域所属技术人员能够根据不同的加壳可执行文件样本统计出加壳可执行文件的特征,并由此设置技术指标。
此外,在现有技术中,可执行文件符合一项特征项则判定该可执行文件加壳,因此,采用的特征具有限制:采用特征为加壳可执行文件的显著特征,对于那些不能够仅凭单独一项符合便可判定为加壳的特征不采用。这样,使得很多对于加壳检测有价值的特征不能被采用。本实施例中,设置技术指标依据的特征不受上述限制,可以采用任何对于判定加壳有价值的特征来设置技术指标。本实施例中所用特征的范围大于现有技术中特征项对应特征的范围。具体地,本实施例中选用的非正常区段特征、导入函数量特征、代码熵特征和附加特征为一组优选的特征组合,从可执行文件的多个方面对可执行文件进行检测,得出各方面综合检测结果,提高加壳可执行文件被检测出的概率。
在一实施例中,步骤S200通过如下方式实现。
参见图2,示出了根据本发明一个实施例的求导技术指标权重值的方法的流程。所述步骤S200具体包括步骤S210和步骤S220。
步骤S210,求出每项技术指标在各个加壳可执行文件样本中的值的均值。
步骤S220,依据各项技术指标的均值得出各项技术指标的权重值。
进一步地,参见图3,示出了根据本发明一个实施例的根据技术指标的均值求导权重值的方法的流程。所述步骤S220具体包括如下步骤。
步骤S222,以各项技术指标的权重值集合为权重值组,为权重值组设置多组初始值。
其中,每组初始值中包含多个分量值,一个分量值对应权重值组中一个权重值的初始值。可以使用向量表示初始值,向量中的一个元素为初始值的一个分量值。
步骤S224,应用各项技术指标的均值对各组初始值进行迭代优化。
其中,步骤S224的实现为:根据初始值中分量值与对应技术指标的均值间绝对差值计算各组初始值的适应度,依据各组初始值的适应度对各组初始值进行迭代优化。
所述适应度为用于表示初始值趋向最优解的程度的参量,适应度的值越高表示越接近最优解。
举例而言,所述步骤S224具体包括:按如下公式计算各组初始值的适应度,依据各组初始值的适应度对各组初始值进行迭代优化,
所述公式为:
fitness = ( T 1 - w 1 ) 2 + . . . . . . + ( T k - w k ) 2 + . . . . . . + ( T d - w d ) 2 公式一
其中,fitness为适应度,Tk为第k项技术指标的均值,wk为初始值中对应于第k项技术指标权重值的分量值,d为技术指标的项数。
上述计算适应度的公式为一优选的实现方式,还可以采用其他利用各项技术指标的均值计算适应度的实现方式,例如,用如下公式计算适应度。
fitness=|T1-w1|+......+|Tk-wk|+......+|Td-wd|       公式二
其中,fitness为适应度,Tk为第k项技术指标的均值,wk为初始值中对应于第k项技术指标权重值的分量值,d为技术指标的项数。
进一步地,所述依据各组初始值的适应度对各组初始值进行迭代优化具体包括:以初始值为群体中的个体,以初始值的适应度为群体中个体的适应度,应用粒子群算法或遗传算法对各组初始值进行迭代优化。
此处,通过结合动态粒子群算法得出权重值,能够进一步提高对修改特征码,动态修改内存等方式逃避检测的加壳可执行文件检测出来的概率。
步骤S226,依据初始值评价标准,从优化后的多组初始值中选出最优的初始值作为各项技术指标的权重值。
举例而言,所述步骤S226具体包括:以初始值的适应度为初始值评价标准,从优化后的多组初始值中选择适应度的值最高的初始值作为各项技术指标的权重值。
上述举例中的选择方式仅为实现步骤S226的多种方式中的一种,也可以使用其他方式实现步骤S226。例如,按公式一计算步骤S224中适应度时,按公式二计算优化后的各个初始值的评价值,选择评价值最高的初始值为各项技术指标的权重值。
本实施例中,采用公式一计算适应度,所得优化后的多组初始值收敛情况最好,各组初始值间偏差小,因此,采用公式一计算适应度为一种优选方案。
通过应用各项技术指标的均值对各组初始值进行迭代优化,使得最终确定的权重值能够更好地反映各个技术指标在检测中权重,能够进一步提高加壳可执行文件被检测出的可能性。
特别是对于新壳或未知壳的可执行文件,由于现有技术中,不能够知晓新壳或未知壳的特定特征,无法针对该特定特征进行匹配,因而无法将新壳或未知壳的可执行文件检测出来。本实施中通过迭代优化得出权重值,对于待检测可执行文件依据该权重值得出加和,依据加和进行加壳判断,该权重值根据样本迭代优化得出,当样本中包含具有新壳或未知壳的可执行文件时,权重值能够反映出新壳或未知壳的特征,从而使得检测出新壳或未知壳的可执行文件的可能性增大。
本实施例中实现步骤S200的方式仅为一种优选方式,所述步骤S200除上述方式实现外,还可以通过其他多种方式实现。例如,可以通过如下方式实现应用加壳可执行文件样本得出各项技术指标的权重值。
预设多组权重值,并计算各个加壳可执行文件样本的各项技术指标的值;对应于每组权重值,使用权重值将每个加壳可执行文件样本的各项技术指标的值加权求和,并将加壳可执行文件样本的和值相加求均值;依据每组权重值对应的均值,选择出使得加壳可执行文件样本被判定为加壳的概率最大的一组权重值作为最终确定使用的权重值。
此外,在一实施例中本发明的方法还包括:定期从加壳可执行文件样本库中抽取新增的加壳可执行文件样本,依据抽取的加壳可执行文件样本对各项技术指标的权重值进行更新。具体更新的方式可采用与步骤S200中应用加壳可执行文件样本得出各项技术指标的权重值相同的方式,仅是更新时使用抽取的加壳可执行文件样本得出权重值。由此,可以依据新增的加壳可执行文件的特征更新权重值,使权重值体现新增的加壳可执行文件的特征,进一步提高新壳或未知壳的可执行文件的被检测出的可能性。
参见图4,示出根据本发明一个实施例的采用粒子群算法得出权重值来检测加壳可执行文件的方法的流程图。
步骤S410,根据加壳可执行文件样本的特征设置4项技术指标。
本实施例中,步骤S410的具体实施方式如下所述
确定加壳可执行文件样本的特征包括:非正常区段特征、导入函数量特征、代码熵特征和附加特征。针对各个特征设置技术指标值。
1、非正常区段指标:该项技术指标的值表示为S,当可执行文件中包含除预设的正常区段之外的区段时,S为1,否则,S为0。
本实施例中,预设的正常区段包括:[".text",".rdata",".data",".rsrc",".reloc","idata","code","data","bss",".idata",".tls"]。
2、导入函数量指标:该项技术指标的值表示为F,当可执行文件从外部导入的函数的数量大于等于预设阀值时,F为1,否则,F为导入函数数量除以所述阀值的商。
通过统计得知,98%的加壳可执行文件的导入的函数数量大于80,因此,本实施例中,预设阀值设为80。如果可执行文件中导入的函数数量大于等于80,F为1,否则,F为n/80,其中n为可执行文件中导入的函数数量。
3、代码熵指标:该项技术指标的值表示为C,代码熵为可执行文件中代码段大小与数据段大小的比值,当代码熵的值小于等于预设的下限阀值时,C为0,当代码熵的值大于等于预设的上限阀值时,C为1,当代码熵的值在所述下限阀值和所述上限阀值之间时,C为
e - R down R up - R down ,
其中,e为代码熵,Rdown为下限阀值,Rup为上限阀值。
根据统计可知,加壳可执行文件的代码熵的范围位于0.3~2.0之间。因此,本实施例中下限阀值设为0.3,上限阀值设为2.0,C的值如下所述。
C = 0 e &le; 0.3 e - 0.3 2.0 - 0.3 0.3 < e < 2.0 1.0 e &GreaterEqual; 2.0
4、附加指标:
附加指标对应的附加特征包括6项子特征:
子特征1,可执行文件包含附加数据段;
子特征2,可执行文件的资源节入口在第一区段;
子特征3,可执行文件中包含大小为0的区段;
子特征4,可执行文件的入口点在第一或第二区段;
子特征5,可执行文件包含名称为空的区段;
子特征6,可执行文件包含预设的敏感字符串。
附加指标的值表示为O,为可执行文件满足的子特征数量除以附加特征所包含的子特征总量的商,即n/6,n为可执行文件满足的子特征数量。
步骤S420,从样本库中抽取一定量的加壳可执行文件样本,计算每项技术指标在各个加壳可执行文件样本中的值的均值。
本实施中,从样本库中抽取1000个样本。
分别计算出这1000个样本的S,F,C,O的值,分别得向量
S 1 S 2 &CenterDot; &CenterDot; &CenterDot; S 1000 , F 1 F 2 &CenterDot; &CenterDot; &CenterDot; F 1000 , C 1 C 2 &CenterDot; &CenterDot; &CenterDot; C 1000 , O 1 O 2 &CenterDot; &CenterDot; &CenterDot; O 1000 .
计算每项技术指标在各个加壳可执行文件样本中的值的均值,S的平均值为 S &OverBar; = &Sigma; j = 1 1000 S j 1000 ; F的平均值为 F &OverBar; = &Sigma; j = 1 1000 F j 1000 ; C的平均值为 C &OverBar; = &Sigma; j = 1 1000 C j 1000 ; O的平均值为 O &OverBar; = &Sigma; j = 1 1000 O j 1000 .
步骤S430,为权重值组设置多组初始值,应用各项技术指标的均值应用粒子群算法对各组初始值进行迭代优化,选出最优的初始值作为各项技术指标的权重值。
非正常区段指标对应的权重值为w1,导入函数量指标对应的权重值为w2,代码熵指标对应的权重值为w3,附加指标对应的权重值为w4。该4个权重组成权重值组,表示为向量 W = w 1 w 2 w 3 w 4 . 生成向量W的多个初始值,即权重值组的多组初始值,例如100个初始值,向量W中每个元素的值在0.5~1之间。
以向量W的每个初始值作为粒子群算法中的粒子,即粒子群算法中的个体,运用粒子群算法对每个初始值进行迭代优化。参见图5,示出根据本发明一个实施例的采用粒子群算法得出权重值的流程图。
步骤S510,设置初始值。
设置初始速度,本实施例中速度为包括4个元素的向量,例如设置每个元素为0.3~0.5之间的随机数;迭代次数阀值,例如50;粒子群算法中学习因子C1和C2,例如C1=C2=2;惯用因子ω,例如ω=0.5。各个粒子的初始位置为步骤S430中设置的初始值,即向量W。对该初始值进行迭代优化,则每代优化后,粒子位置被更新,即向量W的初始值中各个元素的值被更新。
步骤S520,计算各个粒子的适应度值,找出当前个体极值和全局极值
按如下公式计算各个粒子,即每个初始值的适应度值。
公式为:
fitness = ( S &OverBar; - w 1 ) 2 ( F &OverBar; - w 2 ) 2 ( C &OverBar; - w 3 ) 2 ( O &OverBar; - w 4 ) 2
其中,为各个技术指标值的均值,w1~w4为权重值。
对于每个粒子,选出已经进行的一代一代的优化中,适应度值最大的位置值,即该粒子的个体极值Pbesti;以及从本代优化的各个粒子位置中选择适应度值最大的位置值,即全局极值gbest。
步骤S530,更新速度和粒子的位置。
对于每个粒子,按如下公式进行优化。
Vi=ω×Vi+c1×rand()×(pbesti-Wi)+c2×rand()×(gbest-Wi)
Wi=Wi+Vi
其中,Vi为粒子i的速度,C1和C2为粒子群算法中学习因子,ω为惯用因子,rand()为随机数,Pbesti为粒子i的个体极值,gbest为当代的全局极值,Wi为粒子i的位置。
每个粒子的位置中包含四个元素,即所述对应于四个技术指标的权重值。
步骤S540,判断是否达到迭代次数阀值,如果是,执行步骤S550,否则,执行步骤S520。
步骤S550,结束迭代。
通过上述方法,得出优化的各个粒子的位置,即向量W的各个初始值优化后的值。例如,当向量W初始值个数为100时,得出100个优化后的W的初始值。
以向量W优化后的多个初始值的适应度为初始值评价标准,从向量W优化后的多个初始值中选择适应度的值最高的初始值作为各项技术指标的权重值。
即按公式 fitness = ( S &OverBar; - w 1 ) 2 ( F &OverBar; - w 2 ) 2 ( C &OverBar; - w 3 ) 2 ( O &OverBar; - w 4 ) 2 计算步骤S550结束优化后得出的各个初始值的适应度的值,选择适应度的值最高的一个初始值作为使用的权重值。
步骤S440,对待检测的可执行文件计算4项技术指标的值。
计算待检测的可执行文件计算4项技术指标的值分别为Sdet、Fdet、Cdet和Odet
步骤S450,应用权重值对待检测的可执行文件的技术指标的值加权求和。
按公式r=w1·Sdet+w2·Fdet+w3·Cdet+w4·Odet计算和值。
步骤S460,判断和值是否大于等于预设的检测阀值,如果是,则执行步骤S470,否则,执行步骤S480。
将和值r与检测阀值比较,例如检测阀值为0.5,如果大于等于0.5,则该待检测可执行文件为加壳可执行文件。
步骤S470,检测出待检测的可执行文件为加壳可执行文件。
步骤S480,检测出待检测的可执行文件不为加壳可执行文件。
在一测试举例中,迭代次数阀值为50,惯用因子ω=0.5,学习因子C1=C2=2,第一代的粒子进化的速度Vi中元素定义为[0.3,0.5]之间的随机值。
适应度函数为: fitness = ( S &OverBar; - w 1 ) 2 ( F &OverBar; - w 2 ) 2 ( C &OverBar; - w 3 ) 2 ( O &OverBar; - w 4 ) 2
迭代50次后得出的最优量向量W值为:
w = w 1 w 2 w 3 w 4 = 0.35 0.67 0.82 0.63
对一待检测的可执行文件,计算其S、F、C、O值,分别为Sdet=0,Fdet=0.875,Cdet=0.764,Odet=0.5。
计算出r=0×0.35+0.875×0.67+0.764×0.82+0.5×0.63=1.52
因为1.52>0.5判定该可执行文件为加壳可执行文件。
在一实施例中使用遗传算法对权重值组的多组初始值进行迭代优化,其他步骤与前述实施例相同,在此省略其说明。参见图6,示出根据本发明一个实施例的采用遗传算法得出权重值的流程图。
步骤S610,设置编码规则。
遗传算法中采用二进制编码,
W = w 1 w 2 w 3 w 4 w i &Subset; [ 0,1 ]
因此设置编码规则,将wi数值规范到[1,10]。
wi′=floor(9×wi+1),floor表示下取整。
经过变换后的w′为整数向量且方便采用二进制编码,w′的每一维使用4位二进制表示,w′使用16位二进制表示。
w = 0.67 0.73 0.29 0.82 , 经过变换后 w = 7 7 3 8
步骤S620,判断是否达到迭代次数阀值,如果是,则执行步骤S670,否则,执行步骤S630。
步骤S630,执行选择算法。
适应度函数为: fitness = ( S &OverBar; - w 1 ) 2 ( F &OverBar; - w 2 ) 2 ( C &OverBar; - w 3 ) 2 ( O &OverBar; - w 4 ) 2
其中,各个技术指标值的均值和权重值wi为按所述编码规则转换为整数后的数值。
随机确定本代优化中从种群中选取的个体的数量,例如,采用轮盘赌算法进行选择,每代选择的个体数量为:n_itertor=int(random())×n,其中n为种群规模,random为随机生成[0,1]的数。
对选出的每个个体使用下列公式计算出其被选中的概率
P i = fitness i &Sigma; j = 1 n fitness j ,
其中,fitnessi为第i个个体的适应度。
根据每个个体的Pi值选择出n_itertor个个体。例如,对于每个个体,每次产生一个随机数,当Pi大于该随机数时,该个体被选中,如此从没被选中的个体中选择,直到选择出n_itertor个个体为止。
步骤S640,对选择出的个体进行交叉操作。
本实施例中采用双点交叉。将两个选择出的个体的二进制表示值中一个指定位的值进行相互交换,将另一个指定位的值也进行相互交换。
步骤S650,对群体中个体进行变异操作。
产生一个随机数,当Pi大于该随机数时,对个体二进制表示值的一个指定位做取反操作,即0变为1,1变为0。
步骤S660,将迭代代数加1,执行步骤S620。
步骤S670,应用编码规则对种群中个体进行反编码。即从而得到优化后的向量W的多个初始值。
进一步,可以应用适应度函数选出最优初始值后,仅对最优初始值做反编码。
在一测试举例中,最大迭代数:100
迭代100次,结束后得到最优向量W的初始值为
w &prime; = 4 7 8 7 .
通过编码规则转换后
w = 0.33 0.67 0.78 0.67
对一待检测的可执行文件,计算其S、F、C、O值,分别为Sdet=0,Fdet=0.875,Cdet=0.764,Odet=0.5。
计算出r=0×0.33+0.67×0.67+0.764×0.78+0.5×0.67=1.38
因为1.38>0.5判定该可执行文件为加壳可执行文件。
本发明还公开了一种检测加壳可执行文件的系统。参见图7,示出了根据本发明一个实施例的检测加壳可执行文件的系统的结构图。
该系统包括服务器100和客户端200。服务器100中保存加壳可执行文件样本,并根据加壳可执行文件样本设置技术指标和计算权重值,将该技术指标和权重值下发给各个客户端200。客户端200通常位于用户终端,使用服务器100下发的技术指标和权重值对可执行文件进行是否加壳的检测。
所述服务器100包括如下模块。
样本存储模块110,用于存储加壳可执行文件样本。
技术指标设置模块120,用于根据加壳可执行文件样本的特征设置至少两项技术指标,所述技术指标为用于表示可执行文件符合加壳可执行文件特征的程度的参量。
权重值计算模块130,用于应用加壳可执行文件样本得出各项技术指标的权重值。
参量发送模块140,用将设置的技术指标和得出的权重值发送给客户端200。
所述客户端200包括如下模块。
参量存储模块210,用于保存服务器100发送的技术指标和权重值。
加壳检测模块220,用于根据参量存储模块210中保存的技术指标计算待检测的可执行文件的各项技术指标的值,使用参量存储模块210中保存的权重值将所述各项技术指标的值加权求和,依据加权求和的结果判断所述待检测的可执行文件是否为加壳可执行文件。
本实施例提供了高效的针对新壳查壳进行检测的系统。采用该系统能够结合特征匹配、静态分析的特点,一方面保证了对已知壳的检测,另一方面提高了对未知壳的检测。例如,测试证明,对于不常见的加壳软件diProtector、DiskDupe、DJoin、PUNiSHER、QrYPt0r等的加壳,都可以检测出来。此外,本系统中将运算量和存储量要求高的部分在服务器侧完成,将运算和设置结果下发给客户端,能够进一步节约客户端的资源,并且便于管理。
本发明还公开了一种检测加壳可执行文件的装置。参见图8,示出了根据本发明一个实施例的检测加壳可执行文件的装置的结构图。所述装置包括如下模块。
样本存储模块310,用于存储加壳可执行文件样本。
技术指标设置模块320,用于根据加壳可执行文件样本的特征设置至少两项技术指标,所述技术指标为用于表示可执行文件符合所述特征的程度的参量。
权重值计算模块330,用于应用加壳可执行文件样本得出各项技术指标的权重值。
加壳检测模块340,用于计算待检测的可执行文件的各项技术指标的值,使用所述权重值将所述各项技术指标的值加权求和,依据加权求和的结果判断所述待检测的可执行文件是否为加壳可执行文件。
本实施例提供了高效的针对新壳查壳进行检测的系统。采用该系统能够结合特征匹配、静态分析的特点,一方面保证了对已知壳的检测,另一方面提高了对未知壳的检测。例如,测试证明,对于不常见的加壳软件diProtector、DiskDupe、DJoin、PUNiSHER、QrYPt0r等的加壳,都可以检测出来。此外,本系统中将运算量和存储量要求高的部分在服务器侧完成,将运算和设置结果下发给客户端,能够进一步节约客户端的资源,并且便于管理。
在一实施例中,所述权重值计算模块具体包括如下子模块。参见图9,示出了根据本发明一个实施例的权重值计算模块的结构图。此处,权重值计算模块可以为所述系统中服务器100中权重值计算模块130,也可为所述装置中权重值计算模块330,在此没有特别限制。
均值计算子模块910,用于求出每项技术指标在各个加壳可执行文件样本中的值的均值。
权重值求导子模块920,用于依据各项技术指标的均值得出各项技术指标的权重值。
进一步地,所述权重值求导子模块920具体包括如下单元。参见图10,示出了根据本发明一个实施例的权重值求导子模块920的结构图。
设置单元922,用于以各项技术指标的权重值集合为权重值组,为权重值组设置多组初始值。
迭代优化单元924,用于应用各项技术指标的均值对各组初始值进行迭代优化。
其中,所述迭代优化单元924具体用于:根据初始值中分量值与对应技术指标的均值间绝对差值计算各组初始值的适应度,依据各组初始值的适应度对各组初始值进行迭代优化。
所述适应度为用于表示初始值趋向最优解的程度的参量,适应度的值越高表示越接近最优解。
具体地,按如下公式计算各组初始值的适应度,依据各组初始值的适应度对各组初始值进行迭代优化,
所述公式为:
fitness = ( T 1 - w 1 ) 2 + . . . . . . + ( T k - w k ) 2 + . . . . . . + ( T d - w d ) 2
其中,fitness为适应度,Tk为第k项技术指标的均值,wk为初始值中对应于第k项技术指标的权重值的分量值,d为技术指标的项数。
迭代优化单元924具体用于以初始值为群体中的个体,以初始值的适应度为群体中个体的适应度,应用粒子群算法或遗传算法对各组初始值进行迭代优化。
此处,通过结合动态粒子群算法得出权重值,能够进一步提高对修改特征码,动态修改内存等方式逃避检测的加壳可执行文件检测出来的概率。
选取单元926,用于依据初始值评价标准,从优化后的多组初始值中选出最优的初始值作为各项技术指标的权重值。
其中,选取单元926具体用于以初始值的适应度为初始值评价标准,从优化后的多组初始值中选择适应度的值最高的初始值作为各项技术指标的权重值。
实验证明,采用所述公式计算适应度,所得优化后的多组初始值收敛情况好,各组初始值间偏差小,因此,采用所述公式计算适应度为一种优选方案。
通过应用各项技术指标的均值对各组初始值进行迭代优化,使得最终确定的权重值能够更好地反映各个技术指标在检测中权重,能够进一步提高加壳可执行文件被检测出的可能性。
特别是对于新壳或未知壳的可执行文件,由于现有技术中,不能够知晓新壳或未知壳的特定特征,无法针对该特定特征进行匹配,因而无法将新壳或未知壳的可执行文件检测出来。本实施中通过迭代优化得出权重值,对于待检测可执行文件依据该权重值得出加和,依据加和进行加壳判断,该权重值根据样本迭代优化得出,当样本中包含具有新壳或未知壳的可执行文件时,权重值能够反映出新壳或未知壳的特征,从而使得检测出新壳或未知壳的可执行文件的可能性增大。
此外,在一实施例中权重值计算模块还用于定期从加壳可执行文件样本库中抽取新增的加壳可执行文件样本,依据抽取的加壳可执行文件样本对各项技术指标的权重值进行更新。具体更新的方式可采用与所述应用加壳可执行文件样本得出各项技术指标的权重值相同的方式,仅是更新时使用抽取的加壳可执行文件样本得出权重值。由此,可以依据新增的加壳可执行文件的特征更新权重值,使权重值体现新增的加壳可执行文件的特征,进一步提高新壳或未知壳的可执行文件的被检测出的可能性。
在一实施例中,所述技术指标设置模块具体实现如下功能。此处,技术指标设置模块可以为所述系统中服务器100中技术指标设置模块120,也可为所述装置中技术指标设置模块320,在此没有特别限制。从加壳可执行文件样本如下特征中选择至少两项特征,
所述特征包括:非正常区段特征、导入函数量特征、代码熵特征和附加特征,
所述代码熵为可执行文件中代码段大小与数据段大小的比值,
所述附加特征包括如下子特征中的一项或多项,
所述子特征包括:可执行文件包含附加数据段、可执行文件的资源节入口在第一区段、可执行文件中包含大小为0的区段、可执行文件的入口点在第一或第二区段、可执行文件包含名称为空的区段、和可执行文件包含预设的敏感字符串;
根据选择的特征设置技术指标,
当非正常区段特征被选择时,根据非正常区段特征将非正常区段指标设置为:当可执行文件中包含除预设的正常区段之外的区段时,非正常区段指标的值为1,否则,非正常区段指标的值为0;
当导入函数量特征被选择时,根据导入函数量特征将导入函数量指标设置为:当可执行文件从外部导入的函数的数量大于等于预设阀值时,导入函数量指标的值为1,否则,导入函数量指标的值为导入函数数量除以所述阀值的商;
当代码熵特征被选择时,根据代码熵特征将代码熵指标设置为:当代码熵的值小于等于预设的下限阀值时,代码熵指标的值为0,当代码熵的值大于等于预设的上限阀值时,代码熵指标的值为1,当代码熵的值在所述下限阀值和所述上限阀值之间时,代码熵指标的值为其中,e为代码熵,Rdown为下限阀值,Rup为上限阀值;
当附加特征被选择时,根据附加特征将附加指标设置为:附加指标的值为可执行文件满足的子特征数量除以附加特征所包含的子特征总量的商。
上述设置的技术指标仅为示例性说明,本领域所属技术人员能够根据不同的加壳可执行文件样本统计出加壳可执行文件的特征,并由此设置技术指标。
此外,在现有技术中,可执行文件符合一项特征项则判定该可执行文件加壳,因此,采用的特征具有限制:采用特征为加壳可执行文件的显著特征,对于那些不能够仅凭单独一项符合便可判定为加壳的特征不采用。这样,使得很多对于加壳检测有价值的特征不能被采用。本实施例中,设置技术指标依据的特征不受上述限制,可以采用任何对于判定加壳有价值的特征来设置技术指标。本实施例中所用特征的范围大于现有技术中特征项对应特征的范围。
具体地,本实施例中选用的非正常区段特征、导入函数量特征、代码熵特征和附加特征为一组优选的特征组合,从可执行文件的多个方面对可执行文件进行检测,得出各方面综合检测结果,提高加壳可执行文件被检测出的概率。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种检测加壳可执行文件的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (11)

1.一种检测加壳可执行文件的方法,该方法包括:
根据加壳可执行文件样本的特征设置至少两项技术指标,所述技术指标为用于表示可执行文件符合加壳可执行文件特征的程度的参量;
应用加壳可执行文件样本得出各项技术指标的权重值;
计算待检测的可执行文件的各项技术指标的值,使用所述权重值将所述各项技术指标的值加权求和,依据加权求和的结果判断所述待检测的可执行文件是否为加壳可执行文件;
其中,所述应用加壳可执行文件样本得出各项技术指标的权重值具体包括:
求出每项技术指标在各个加壳可执行文件样本中的值的均值;
依据各项技术指标的均值得出各项技术指标的权重值;
所述依据各项技术指标的均值得出各项技术指标的权重值具体包括:
以各项技术指标的权重值集合为权重值组,为权重值组设置多组初始值;
应用各项技术指标的均值对各组初始值进行迭代优化;
依据初始值评价标准,从优化后的多组初始值中选出最优的初始值作为各项技术指标的权重值。
2.如权利要求1所述的方法,其中,
所述应用各项技术指标的均值对各组初始值进行迭代优化具体包括:
根据初始值中分量值与对应技术指标的均值间绝对差值计算各组初始值的适应度,依据各组初始值的适应度对各组初始值进行迭代优化;
所述适应度为用于表示初始值趋向最优解的程度的参量,适应度的值越高表示越接近最优解。
3.如权利要求2所述的方法,其中,
所述依据初始值评价标准,从优化后的多组初始值中选出最优的初始值作为各项技术指标的权重值具体包括:
以初始值的适应度为初始值评价标准,从优化后的多组初始值中选择适应度的值最高的初始值作为各项技术指标的权重值。
4.如权利要求2或3所述的方法,其中,
所述依据各组初始值的适应度对各组初始值进行迭代优化具体包括:
以初始值为群体中的个体,以初始值的适应度为群体中个体的适应度,应用粒子群算法或遗传算法对各组初始值进行迭代优化。
5.如权利要求1至3中任一项权利要求所述的方法,其中,
所述根据加壳可执行文件样本的特征设置至少两个技术指标具体包括:
从加壳可执行文件样本如下特征中选择至少两项特征,
所述特征包括:非正常区段特征、导入函数量特征、代码熵特征和附加特征,
所述代码熵为可执行文件中代码段大小与数据段大小的比值,
所述附加特征包括如下子特征中的一项或多项,
所述子特征包括:可执行文件包含附加数据段、可执行文件的资源节入口在第一区段、可执行文件中包含大小为0的区段、可执行文件的入口点在第一或第二区段、可执行文件包含名称为空的区段、和可执行文件包含预设的敏感字符串;
根据选择的特征设置技术指标:
当非正常区段特征被选择时,根据非正常区段特征将非正常区段指标设置为:当可执行文件中包含除预设的正常区段之外的区段时,非正常区段指标的值为1,否则,非正常区段指标的值为0;
当导入函数量特征被选择时,根据导入函数量特征将导入函数量指标设置为:当可执行文件从外部导入的函数的数量大于等于预设阀值时,导入函数量指标的值为1,否则,导入函数量指标的值为导入函数数量除以所述阀值的商;
当代码熵特征被选择时,根据代码熵特征将代码熵指标设置为:当代码熵的值小于等于预设的下限阀值时,代码熵指标的值为0,当代码熵的值大于等于预设的上限阀值时,代码熵指标的值为1,当代码熵的值在所述下限阀值和所述上限阀值之间时,代码熵指标的值为其中,e为代码熵,Rdown为下限阀值,Rup为上限阀值;
当附加特征被选择时,根据附加特征将附加指标设置为:附加指标的值为可执行文件满足的子特征数量除以附加特征所包含的子特征总量的商。
6.一种检测加壳可执行文件的系统,该系统包括:服务器和客户端,
所述服务器包括:
样本存储模块,用于存储加壳可执行文件样本;
技术指标设置模块,用于根据加壳可执行文件样本的特征设置至少两项技术指标,所述技术指标为用于表示可执行文件符合加壳可执行文件特征的程度的参量;
权重值计算模块,用于应用加壳可执行文件样本得出各项技术指标的权重值;
参量发送模块,用将设置的技术指标和得出的权重值发送给客户端;
所述客户端包括:
参量存储模块,用于保存服务器发送的技术指标和权重值;
加壳检测模块,用于根据参量存储模块中保存的技术指标计算待检测的可执行文件的各项技术指标的值,使用参量存储模块中保存的权重值将所述各项技术指标的值加权求和,依据加权求和的结果判断所述待检测的可执行文件是否为加壳可执行文件;
其中,所述权重值计算模块具体包括:
均值计算子模块,用于求出每项技术指标在各个加壳可执行文件样本中的值的均值;
权重值求导子模块,用于依据各项技术指标的均值得出各项技术指标的权重值
所述权重值求导子模块具体包括:
设置单元,用于以各项技术指标的权重值集合为权重值组,为权重值组设置多组初始值;
迭代优化单元,用于应用各项技术指标的均值对各组初始值进行迭代优化;
选取单元,用于依据初始值评价标准,从优化后的多组初始值中选出最优的初始值作为各项技术指标的权重值。
7.如权利要求6所述的系统,其中,
所述迭代优化单元具体用于根据初始值中分量值与对应技术指标的均值间绝对差值计算各组初始值的适应度,依据各组初始值的适应度对各组初始值进行迭代优化;
所述适应度为用于表示初始值趋向最优解的程度的参量,适应度的值越高表示越接近最优解。
8.如权利要求7所述的系统,其中,
所述选取单元具体用于以初始值的适应度为初始值评价标准,从优化后的多组初始值中选择适应度的值最高的初始值作为各项技术指标的权重值。
9.如权利要求7或8所述的系统,其中,
所述迭代优化单元具体用于以初始值为群体中的个体,以初始值的适应度为群体中个体的适应度,应用粒子群算法或遗传算法对各组初始值进行迭代优化。
10.如权利要求6至8中任一项权利要求所述的系统,其中,
所述技术指标设置模块具体用于:
从加壳可执行文件样本如下特征中选择至少两项特征,
所述特征包括:非正常区段特征、导入函数量特征、代码熵特征和附加特征,
所述代码熵为可执行文件中代码段大小与数据段大小的比值,
所述附加特征包括如下子特征中的一项或多项,
所述子特征包括:可执行文件包含附加数据段、可执行文件的资源节入口在第一区段、可执行文件中包含大小为0的区段、可执行文件的入口点在第一或第二区段、可执行文件包含名称为空的区段、和可执行文件包含预设的敏感字符串;
根据选择的特征设置技术指标:
当非正常区段特征被选择时,根据非正常区段特征将非正常区段指标设置为:当可执行文件中包含除预设的正常区段之外的区段时,非正常区段指标的值为1,否则,非正常区段指标的值为0;
当导入函数量特征被选择时,根据导入函数量特征将导入函数量指标设置为:当可执行文件从外部导入的函数的数量大于等于预设阀值时,导入函数量指标的值为1,否则,导入函数量指标的值为导入函数数量除以所述阀值的商;
当代码熵特征被选择时,根据代码熵特征将代码熵指标设置为:当代码熵的值小于等于预设的下限阀值时,代码熵指标的值为0,当代码熵的值大于等于预设的上限阀值时,代码熵指标的值为1,当代码熵的值在所述下限阀值和所述上限阀值之间时,代码熵指标的值为其中,e为代码熵,Rdown为下限阀值,Rup为上限阀值;
当附加特征被选择时,根据附加特征将附加指标设置为:附加指标的值为可执行文件满足的子特征数量除以附加特征所包含的子特征总量的商。
11.一种检测加壳可执行文件的装置,该装置包括:
样本存储模块,用于存储加壳可执行文件样本;
技术指标设置模块,用于根据加壳可执行文件样本的特征设置至少两项技术指标,所述技术指标为用于表示可执行文件符合加壳可执行文件特征的程度的参量;
权重值计算模块,用于应用加壳可执行文件样本得出各项技术指标的权重值;
加壳检测模块,用于计算待检测的可执行文件的各项技术指标的值,使用所述权重值将所述各项技术指标的值加权求和,依据加权求和的结果判断所述待检测的可执行文件是否为加壳可执行文件;
其中,所述权重值计算模块具体包括:
均值计算子模块,用于求出每项技术指标在各个加壳可执行文件样本中的值的均值;
权重值求导子模块,用于依据各项技术指标的均值得出各项技术指标的权重值;
所述权重值求导子模块具体包括:
设置单元,用于以各项技术指标的权重值集合为权重值组,为权重值组设置多组初始值;
迭代优化单元,用于应用各项技术指标的均值对各组初始值进行迭代优化;
选取单元,用于依据初始值评价标准,从优化后的多组初始值中选出最优的初始值作为各项技术指标的权重值。
CN201210340234.1A 2012-09-13 2012-09-13 一种检测加壳可执行文件的方法、装置和系统 Active CN102855440B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210340234.1A CN102855440B (zh) 2012-09-13 2012-09-13 一种检测加壳可执行文件的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210340234.1A CN102855440B (zh) 2012-09-13 2012-09-13 一种检测加壳可执行文件的方法、装置和系统

Publications (2)

Publication Number Publication Date
CN102855440A CN102855440A (zh) 2013-01-02
CN102855440B true CN102855440B (zh) 2015-09-02

Family

ID=47402023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210340234.1A Active CN102855440B (zh) 2012-09-13 2012-09-13 一种检测加壳可执行文件的方法、装置和系统

Country Status (1)

Country Link
CN (1) CN102855440B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279711A (zh) * 2013-05-03 2013-09-04 国家电网公司 一种静态特征值稳定的pe文件加壳检测方法
CN104424437B (zh) * 2013-08-28 2018-07-10 贝壳网际(北京)安全技术有限公司 多文件样本的测试方法、装置和客户端
CN103729593B (zh) * 2013-12-31 2017-04-12 安一恒通(北京)科技有限公司 一种文件安全性的识别方法和系统
CN104932929B (zh) * 2015-05-26 2018-06-08 百度在线网络技术(北京)有限公司 一种文件处理方法及装置
CN107103236B (zh) * 2016-02-22 2020-06-16 中国移动通信集团河北有限公司 一种网络防病毒指标优化方法和装置
CN106201602B (zh) * 2016-06-30 2020-02-14 北京奇虎科技有限公司 一种标签提供方法、获取方法、服务器及电子设备
CN108573149A (zh) * 2017-03-10 2018-09-25 武汉安天信息技术有限责任公司 一种样本检测方法及装置
CN109559245B (zh) * 2017-09-26 2022-02-25 北京国双科技有限公司 一种识别特定用户的方法及装置
CN108171020A (zh) * 2017-12-26 2018-06-15 哈尔滨安天科技股份有限公司 一种基于文件结构的压缩壳识别方法、系统及存储介质
CN109460658B (zh) * 2018-11-16 2022-03-25 成都网域复兴科技有限公司 一种针对恶意勒索样本的检测方法
CN109784057A (zh) * 2019-01-04 2019-05-21 国家计算机网络与信息安全管理中心 安卓应用加固识别方法、控制器及介质
CN110262953A (zh) * 2019-06-21 2019-09-20 中汇信息技术(上海)有限公司 软件系统性能测试方法和计算机可读存储介质
CN110569646B (zh) * 2019-09-06 2022-07-26 腾讯科技(深圳)有限公司 文件识别方法及介质
CN112580034B (zh) * 2019-09-30 2022-04-22 奇安信安全技术(珠海)有限公司 脱壳文件的验证方法及装置、存储介质、计算机设备
CN112580040B (zh) * 2019-09-30 2023-07-04 奇安信安全技术(珠海)有限公司 文件外壳的脱壳方法及装置、存储介质、电子装置
CN113836528B (zh) * 2020-06-08 2023-10-13 中国电信股份有限公司 安卓应用查壳方法和装置
CN112818359B (zh) * 2020-12-31 2022-06-03 北京深思数盾科技股份有限公司 一种文件保护方法及装置
CN113805971B (zh) * 2021-09-23 2023-10-13 武汉深之度科技有限公司 一种应用程序运行方法、计算设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894294A (zh) * 2009-05-20 2010-11-24 中国科学院半导体研究所 一种基于特征分析的粒子群聚类方法
CN101924762A (zh) * 2010-08-18 2010-12-22 奇智软件(北京)有限公司 一种基于云安全的主动防御方法
CN101937440A (zh) * 2009-06-30 2011-01-05 华为技术有限公司 特征选择的方法及装置
CN102567674A (zh) * 2012-02-10 2012-07-11 联信摩贝软件(北京)有限公司 基于行为判断软件是否含有病毒的方法和设备
CN102663100A (zh) * 2012-04-13 2012-09-12 西安电子科技大学 一种两阶段混合粒子群优化聚类方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984628B2 (en) * 2008-10-21 2015-03-17 Lookout, Inc. System and method for adverse mobile application identification

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894294A (zh) * 2009-05-20 2010-11-24 中国科学院半导体研究所 一种基于特征分析的粒子群聚类方法
CN101937440A (zh) * 2009-06-30 2011-01-05 华为技术有限公司 特征选择的方法及装置
CN101924762A (zh) * 2010-08-18 2010-12-22 奇智软件(北京)有限公司 一种基于云安全的主动防御方法
CN102567674A (zh) * 2012-02-10 2012-07-11 联信摩贝软件(北京)有限公司 基于行为判断软件是否含有病毒的方法和设备
CN102663100A (zh) * 2012-04-13 2012-09-12 西安电子科技大学 一种两阶段混合粒子群优化聚类方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种PE文件加壳检测规则;姜晓新等;《计算机工程》;20100731;第36卷(第14期);第135-137页 *

Also Published As

Publication number Publication date
CN102855440A (zh) 2013-01-02

Similar Documents

Publication Publication Date Title
CN102855440B (zh) 一种检测加壳可执行文件的方法、装置和系统
CN107908963B (zh) 一种自动化检测恶意代码核心特征的方法
Bertorelle et al. ABC as a flexible framework to estimate demography over space and time: some cons, many pros
US8935258B2 (en) Identification of sample data items for re-judging
CN111460472B (zh) 一种基于深度学习图网络的加密算法识别方法
CN100383812C (zh) 信息处理装置和方法
CN110659744A (zh) 训练事件预测模型、评估操作事件的方法及装置
CN103210368A (zh) 软件应用程序识别
CN105022957A (zh) 随选检测恶意程序的方法及其电子装置和使用者界面
US7870082B2 (en) Method for machine learning using online convex optimization problem solving with minimum regret
CN113254354A (zh) 测试用例推荐方法、装置、可读存储介质及电子设备
CN103443809A (zh) 判别模型学习设备、方法和程序
Bouzarkouna et al. Local-meta-model CMA-ES for partially separable functions
Das et al. Multi-objective feature selection (MOFS) algorithms for prediction of liquefaction susceptibility of soil based on in situ test methods
Ledezma et al. GA-stacking: Evolutionary stacked generalization
CN115860836A (zh) 一种基于用户行为大数据分析的电商服务推送方法及系统
CN113298634B (zh) 基于时序特征和图神经网络的用户风险预测方法及装置
CN103310221B (zh) 图像处理装置、图像处理方法以及设备
Chen et al. Predicting the change of exon splicing caused by genetic variant using support vector regression
CN104598705A (zh) 用于识别地下物质层的方法和装置
US7797136B2 (en) Metrics to evaluate process objects
Ignatiev et al. Quantified maximum satisfiability: A core-guided approach
CN102082700B (zh) 一种网络入侵的检测方法
CN113569578B (zh) 一种用户意图识别方法、装置和计算机设备
CN114297063B (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
CP01 Change in the name or title of a patent holder

Address after: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee after: Beijing Qizhi Business Consulting Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20220329

Address after: 100016 1773, 15 / F, 17 / F, building 3, No.10, Jiuxianqiao Road, Chaoyang District, Beijing

Patentee after: Sanliu0 Digital Security Technology Group Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Beijing Qizhi Business Consulting Co.,Ltd.

TR01 Transfer of patent right