CN104978522A - 一种检测恶意代码的方法和装置 - Google Patents
一种检测恶意代码的方法和装置 Download PDFInfo
- Publication number
- CN104978522A CN104978522A CN201410142983.2A CN201410142983A CN104978522A CN 104978522 A CN104978522 A CN 104978522A CN 201410142983 A CN201410142983 A CN 201410142983A CN 104978522 A CN104978522 A CN 104978522A
- Authority
- CN
- China
- Prior art keywords
- malicious code
- texture
- file
- code
- measured
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000001514 detection method Methods 0.000 claims abstract description 35
- 238000012360 testing method Methods 0.000 claims description 20
- 230000011218 segmentation Effects 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 6
- 238000011426 transformation method Methods 0.000 claims description 5
- 238000012790 confirmation Methods 0.000 claims description 4
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 230000013011 mating Effects 0.000 claims description 2
- 230000003068 static effect Effects 0.000 abstract description 12
- 239000013598 vector Substances 0.000 description 30
- 238000010606 normalization Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 230000035772 mutation Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 239000012141 concentrate Substances 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 201000011243 gastrointestinal stromal tumor Diseases 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 101100516702 Caenorhabditis elegans nlg-1 gene Proteins 0.000 description 1
- 244000035744 Hura crepitans Species 0.000 description 1
- 241000270666 Testudines Species 0.000 description 1
- 230000008485 antagonism Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Landscapes
- Collating Specific Patterns (AREA)
Abstract
本发明公开了一种检测恶意代码的方法和装置,预先建立恶意代码样本数据库,所述恶意代码样本数据库包括已知恶意代码的可移植的执行体PE文件的信息摘要;预先建立布隆过滤器Bloom-Filter索引结构;该方法包括:获取待测代码的PE文件的信息摘要;当判断出获得的信息摘要和恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要不匹配时,获取所述待测代码的PE文件的纹理指纹;根据预先建立的Bloom-Filter索引结构对获得的纹理指纹进行检测,并返回第一检测报告,所述第一检测报告至少包括所述待测代码是否为恶意代码的检测结果。本发明能够弥补静态检测方法无法检测未知的恶意代码及其变种的问题。
Description
技术领域
本发明涉及计算机安全技术和图像处理技术,尤指一种检测恶意代码的方法和装置。
背景技术
互联网技术的蓬勃发展使人们的生活和工作方式发生了巨大变革,人们在享受着因特网提供便利的同时,也遭受着恶意程序带来的安全威胁,在数字化时代的今天,与恶意代码的对抗已成为信息领域的焦点。
传统的恶意代码检测技术是基于静态特征码的检测,而恶意程序采用的混淆、加密、加壳等技术,使得基于静态特征码的检测技术变得无能为力。恶意程序的动态分析技术解决了混淆、加密、加壳等技术问题,但恶意程序的变种及多态性却是动态分析无法解决的问题。
现有的恶意代码变种在实现上可大致分为两类:一类是基于基础技术的共用,恶意代码开发人员通过重用基础代码实现变种;一类是恶意代码专门针对现有防范技术而设计开发的混淆技术。混淆技术按实现机理可分为两类:一类是干扰反汇编的混淆,使反汇编无法得到正确结果,从而阻碍进一步分析;另一类是指令/控制流混淆,此类混淆技术通常采用垃圾代码插入、寄存器重分配、等价指令替换及代码变化等方式,改变代码的语法特征,隐藏其内部逻辑关系。目前已提出检测恶意代码变种的不同检测方法,当更复杂的恶意代码仍然层出不穷。
恶意代码变种的检测通常是基于一个特征向量,该向量标识了恶意代码的内在特征,良好的特征抽取算法是变种检测的关键环节。目前,主流的检测恶意代码的方法主要分为两类:基于恶意代码二进制的静态特征检测方法和基于恶意代码运行行为的动态检测方法。
基于静态特征的检测方法首先将可移植的执行体(PE,Portable Execute)文件转变为汇编文件,再通过分析恶意代码的静态文件结构、二进制字节码、反汇编后的代码、反汇编后的静态系统调用等获取恶意代码的静态特征,利用分类算法区分正常代码与恶意代码,实现已知和未知恶意代码的检测。基于静态特征的恶意代码检测通常容易受代码混淆技术(如加壳、变形、多态技术等)的影响,提高逆向(即将PE文件转变为汇编文件)的难度,使其几乎很难逆向或是不可能,而且静态检测方法没有真实地运行软件,判断是否为恶意代码的行为没有展现,误报和漏报的情况比较明显。
基于动态特征的检测方法是将待检测目标程序放置在一个沙箱环境(如虚拟机)中,通过监控目标程序运行过程的行为来判断是否为恶意程序。动态检测方法又分为粗粒度方法和细粒度方法。粗粒度方法通过运行恶意代码分析其行为所对应的应用程序接口(API,Application Program Interface)调用序列来进行恶意代码检测,细粒度方法通过恶意代码的运行动态指令序列来进行检测。然而,动态检测方法是时间密集型和资源消耗型的方法,虚拟机执行包括2、执行、全路径探索来捕捉调用序列、退出等过程,动态检测方法的平均分析时间为3-5分钟。因此,动态检测方法可扩展性不足。而且,由于激发条件不能满足,一些恶意代码的行为不能表现出来。
发明内容
为了解决上述问题,本发明提出了一种检测恶意代码的方法和装置,能够弥补静态检测方法无法检测未知的恶意代码及其变种的问题。
为了达到上述目的,本发明提出了一种检测恶意代码的方法,预先建立恶意代码样本数据库,所述恶意代码样本数据库包括已知恶意代码的可移植的执行体PE文件的信息摘要;预先建立布隆过滤器Bloom-Filter索引结构;
该方法包括:
获取待测代码的PE文件的信息摘要;
当判断出获得的信息摘要和恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要不匹配时,获取所述待测代码的PE文件的纹理指纹;根据预先建立的Bloom-Filter索引结构对获得的纹理指纹进行检测,并返回第一检测报告,所述第一检测报告至少包括所述待测代码是否为恶意代码的检测结果。
优选地,当判断出获得的信息摘要和恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要相匹配时,该方法还包括:
返回第二检测报告,所述第二检测报告包括确认所述待测代码为恶意代码的检测结果。
优选地,所述预先建立Bloom-Filter索引结构包括:
接收来自用户的已确认为恶意代码的PE文件;
获取接收到的恶意代码的PE文件的信息摘要,当判断出所述获得的信息摘要和所述恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要不匹配时,将所述接收到的恶意代码的PE文件保存到所述恶意代码样本数据库中,并对所述接收到的恶意代码的PE文件进行标注;获取所述接收到的恶意代码的PE文件的纹理指纹;根据获得的恶意代码的PE文件的纹理指纹建立Bloom-Filter索引结构。
优选地,当判断出获得的信息摘要和所述恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要相匹配时,该方法还包括:
丢弃所述接收到的恶意代码的PE文件。
优选地,所述获取所述待测代码的PE文件的纹理指纹包括:
将所述待测代码的PE文件映射为灰度纹理图像;
采用纹理分割算法对所述灰度纹理图像进行分块;
提取各分块的纹理特征。
优选地,所述采用纹理分割算法对所述灰度纹理图像进行分块包括:
对所述灰度纹理图像按纹理段顺序扫描,找到第一个还没有归属的纹理段,标记该纹理段为当前纹理段;
当判断出所述当前纹理段满足退化准则时,将所述当前纹理段所在分块的所有纹理段划分为一个分块;
当判断出所述当前纹理段不满足退化准则,且所述当前纹理段与下一纹理段满足生长准则时,将所述当前纹理段和所述下一纹理段合并为一个分块,并将所述下一纹理段标记为当前纹理段,继续执行判断所述当前纹理段是否满足退化准则的步骤;
读取灰度纹理图像的下一纹理段,继续执行判断所述当前纹理段是否满足退化准则的步骤;
当判断出当前纹理段为灰度纹理图像的最后一纹理段时,返回图像纹理的分块结果。
优选地,采用灰度共生矩阵、或通用搜索树方法、或局部二值模式方法、或傅里叶变换方法提取所述各分块的纹理特征。
优选地,所述根据预先建立的Bloom-Filter索引结构对获得的纹理指纹进行检测包括:
获取所述灰度纹理图像各分块在恶意代码样本数据库中出现的次数;
根据获得的次数获取所述待测代码的总体匹配度;
根据获得的总体匹配度判断所述待测代码是否为恶意代码。
优选地,根据公式计算所述待测代码的总体匹配度;其中,Md为所述待测代码的总体匹配度,wi为块权重指标,Cri为可信度评分,i为分块数,n为总分块数;所述Cri根据所述次数确定。
优选地,所述根据预先建立的Bloom-Filter索引结构对获得的纹理指纹进行检测还包括:
对所述待测代码所属恶意代码家族进行评估。
优选地,所述对所述待测代码所属恶意代码家族进行评估包括:
根据公式确定所述待测代码所属恶意代码家族;其中,MF为所述待测代码所属恶意代码家族,Si为BaMp个恶意代码的名称集合,Ba为所述Bloom-Filter索引结构中与分块Bi匹配的分块个数,Mp为每个所述与分块Bi匹配的数据块对应的恶意代码数。
本发明还提出一种检测恶意代码的装置,至少包括:
恶意样本存储模块,用于保存预先建立恶意代码样本数据库,所述恶意代码样本数据库包括已知恶意代码的可移植的执行体PE文件的信息摘要;
索引模块,用于保存预先建立布隆过滤器Bloom-Filter索引结构;
获取模块,用于获取待测代码的PE文件的信息摘要;判断出获得的信息摘要和恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要不匹配,获取所述待测代码的PE文件的纹理指纹;
计算模块,用于根据预先建立的Bloom-Filter索引结构对获得的纹理指纹进行检测,并返回第一检测报告,所述第一检测报告至少包括所述待测代码是否为恶意代码的检测结果。
优选地,所述获取模块,还用于:
判断出获得的信息摘要和恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要相匹配,返回第二检测报告,所述第二检测报告包括确认所述待测代码为恶意代码的检测结果。
优选地,所述获取模块,还用于:
接收来自用户的已确认为恶意代码的PE文件;获取接收到的恶意代码的PE文件的信息摘要,判断出所述获得的信息摘要和所述恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要不匹配,将所述接收到的恶意代码的PE文件保存到所述恶意代码样本数据库中,并对所述接收到的恶意代码的PE文件进行标注;获取所述接收到的恶意代码的PE文件的纹理指纹;
所述装置还包括:
索引结构建立模块,用于根据获得的恶意代码的PE文件的纹理指纹建立Bloom-Filter索引结构,并将建立的Bloom-Filter索引结构保存到索引模块中。
优选地,所述获取模块,还用于:
判断出获得的信息摘要和所述恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要相匹配,丢弃接收到的恶意代码的PE文件。
优选地,所述获取所述待测代码的PE文件的纹理指纹包括:
将所述待测代码的PE文件映射为灰度纹理图像;
采用纹理分割算法对所述灰度纹理图像进行分块;
提取各分块的纹理特征。
优选地,所述采用纹理分割算法对所述灰度纹理图像进行分块包括:
对所述灰度纹理图像按纹理段顺序扫描,找到第1个还没有归属的纹理段,标记该纹理段为当前纹理段;
当判断出所述当前纹理段满足退化准则时,将所述当前纹理段所在分块的所有纹理段划分为一个分块;
当判断出所述当前纹理段不满足退化准则,且所述当前纹理段与下一纹理段满足生长准则时,将所述当前纹理段和所述下一纹理段合并为一个分块,并将所述下一纹理段标记为当前纹理段,继续执行判断所述当前纹理段是否满足退化准则的步骤;
读取灰度纹理图像的下一纹理段,继续执行判断所述当前纹理段是否满足退化准则的步骤;
当判断出当前纹理段为灰度纹理图像的最后一纹理段时,返回图像纹理的分块结果。
优选地,所述计算模块,具体用于:
获取所述灰度纹理图像各分块在所述恶意代码样本数据库中出现的次数;
根据获得的次数获取所述待测代码的总体匹配度;
根据获得的总体匹配度判断所述待测代码是否为恶意代码。
优选地,所述计算模块,还用于:
对所述待测代码所属恶意代码家族进行评估。
与现有技术相比,本发明包括:获取待测代码的PE文件的信息摘要;当判断出获得的信息摘要和恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要不匹配时,获取待测代码的PE文件的纹理指纹;根据预先建立的Bloom-Filter索引结构对获得的纹理指纹进行检测,并返回第一检测报告,第一检测报告至少包括待测代码是否为恶意代码的检测结果。通过本发明的方案,通过提取待测代码的纹理指纹,并根据预先建立的Bloom-Filter索引结构对待测代码的纹理指纹进行检测,从而实现了对恶意代码的检测,而不需要像现有的方法那样,先将PE文件转换成汇编文件,从而弥补了静态检测方法无法检测未知的恶意代码及其变种的问题。
附图说明
下面对本发明实施例中的附图进行说明,实施例中的附图是用于对本发明的进一步理解,与说明书一起用于解释本发明,并不构成对本发明保护范围的限制。
图1为本发明检测恶意代码的方法流程图;
图2为本发明建立布隆过滤器(Bloom-Filter)索引结构的方法流程图;
图3为本发明获取恶意代码的纹理指纹的方法流程图;
图4为本发明基于纹理段自增长的纹理分割算法的流程图;
图5为本发明获取待测代码的纹理指纹的方法流程图;
图6为本发明检测恶意代码的装置的结构组成示意图。
具体实施方式
为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述,并不能用来限制本发明的保护范围。
参见图1,本发明提出了一种检测恶意代码的方法,该方法预先建立恶意代码样本数据库,恶意代码样本数据库中包括已知恶意代码的PE文件的信息摘要。
该方法包括:
步骤100、获取待测代码的PE文件的信息摘要。
本步骤中,可以采用现有的信息摘要算法(如信息摘要算法5(MD5,Message-Digest Algorithm5),安全散列算法(SHA,Secure Hash Algorithm)等)获取待测代码的信息摘要,并不用于限定本发明的保护范围。
步骤101、判断出获得的信息摘要和恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要相匹配时,返回第二检测报告,第二检测报告包括确认待测代码为恶意代码的检测结果。
本步骤中,信息摘要作为代码的唯一标识符,如果两个代码的信息摘要完全匹配,说明两个代码是完全相同的代码。因此,如果待测代码的PE文件的信息摘要已存在于恶意代码样本数据库中,说明该待测代码就是恶意代码。
本发明的方法中,还可以预先建立Bloom-Filter索引结构。建立Bloom-Filter索引结构的具体过程如下:
步骤200、接收来自用户的已确认为恶意代码的PE文件。
步骤201、获取接收到的PE文件的信息摘要,当判断出获得的信息摘要和恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要相匹配时,丢弃接收到的恶意代码的PE文件,并结束本流程。
本步骤中,可以采用信息摘要算法(如MD5、SHA等)获取恶意代码的PE文件的信息摘要。
步骤202、当判断出获得的信息摘要和恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要不匹配时,将接收到的恶意代码的PE文件保存到恶意代码样本数据库中,并对接收到的恶意代码的PE文件进行标注。
本步骤中,对接收到的恶意代码的PE文件进行标注是指将恶意代码的信息摘要作为恶意代码的标识符。信息摘要作为恶意代码的PE文件的唯一标识符,能够对恶意代码样本数据库中的恶意代码样本进行去重。
步骤203、获取恶意代码的PE文件的纹理指纹。
本步骤中,获取恶意代码的PE文件的纹理指纹包括:
步骤300、将恶意代码的PE文件映射为灰度纹理图像。
本步骤中,可以采用B2M映射算法将恶意代码的PE文件(即二进制执行文件)映射为无损压缩格式(如PNG格式、GIF格式、或BMP格式等)的灰度纹理图像。
B2M映射算法的具体流程如下:按顺序读取PE文件中的8位二进制表示灰度纹理图像中的一个像素,像素的取值范围为0~255,0表示黑色,255表示白色。PE文件按顺序逐行映射到灰度纹理图像中,每行的像素数可以预先设置,例如,通常恶意代码PE文件的数据块长度为512字节,那么可以预先设置为每行256个像素,则每两行纹理段表示一个单位段。
步骤301、采用纹理分割算法对灰度纹理图像进行分块。
本步骤中,对灰度纹理图像进行分割的基本单位是行,每行256个字节。
本步骤中,分割的原理是将纹理特征变化不大的行放在同一个块中。
本步骤中,可以但不限于基于纹理段自增长的纹理分割算法进行分割,具体包括以下步骤:
步骤400、对灰度纹理图像按纹理段顺序扫描,找到第1个还没有归属的纹理段,标记该纹理段为当前纹理段。
本步骤中,纹理段是指作为分割的基本单位,可以预先设定。
步骤401、当判断出当前纹理段满足退化准则时,将当前纹理段所在分块的所有纹理段划分为一个分块。
本步骤中,若当前纹理段的灰度共生矩阵的对比度为0时,认为该纹理段满足退化准直,否则不满足。
步骤402、当判断出当前纹理段不满足退化准则,且当前纹理段与下一纹理段满足生长准则时,将当前纹理段和下一纹理段合并为一个分块,并将下一纹理段标记为当前纹理段,继续执行步骤401。
本步骤中,若当前纹理段与上一纹理段之间的欧氏距离(即两个纹理特征向量之间的距离)小于预设阈值,则认为当前纹理段与上一纹理段之间满足生长准则,否则不满足。
其中,纹理特征向量是指反映该纹理段的纹理特征的向量,可以采用采用灰度共生矩阵(GLCM,Gray-level Co-occurrence Matrix from an image)、通用搜索树(GIST,Generalized Search Trees)方法、局部二值模式(LBP,Local binary patterns)方法和傅里叶变换方法等方法获得。
例如,采用GLCM方法提取纹理特征包括:
采用现有方法将纹理段转换成灰度共生矩阵,并不用于限定本发明的保护范围。
得到纹理段对应的灰度共生矩阵后,获取能够反映灰度共生矩阵状况的参数,如能量(ASM)、对比度(CON)、相关(COR)、熵(Entropy)、逆差距(Homogeneity)、反差(Contrast)、差异性(Dissimilarity)、二阶距(Angular Second Moment)、自相关(Correlation)等。
经实践验证,采用能量、对比度、熵、逆差距、相关的均值和标准差作为灰度纹理图像的6维纹理特征的效果比其他的参数效果要好。
得到6维纹理特征向量后,为了减少某些特征的影响被放大而某些特征的影响被忽略的情形,需要将纹理特征向量的各维度进行归一化。可以采用高斯归一化算法对灰度图像纹理特征向量进行归一化处理,归一化后的6维纹理特征向量作为待测代码的纹理指纹。
对于灰度纹理图像组成的纹理特征向量集,对所有分块的6个维度中的每一个特征维度中的n维特征向量v(n)[v1,v2,…,vn],其中,n为灰度纹理图像的分块总数,计算出每一个特征维度中的特征值向量的均值μk和方差σk,其中,k=0,1,2,…,6,根据公式进行归一化处理,其中i=1,2,…,n,fki表示第i个分块第k个特征维度的值,μk为第k个特征维度的均值,σk为第k个特征维度的方差。
经上述转换后,υ(n)的各元素值归一化至[-1,1]区间范围内。其中,上标N代表归一化。归一化后,各个特征维度均转变成具有N(0,1)分布的υ(N)。用3σk进行归一化,则υ(N)的值落在[-1,1]区间的概率将可达99%以上,当υ(N)中的值大于1时默认为1,小于-1时默认为-1。
步骤403、读取灰度纹理图像的下一纹理段,执行步骤401到步骤402的操作。
步骤404、当判断出当前纹理段为灰度纹理图像的最后一纹理段时,返回图像纹理的分块结果。
步骤302、提取各分块的纹理特征。
本步骤中,可以采用灰度共生矩阵(GLCM,Gray-level Co-occurrenceMatrix from an image)、通用搜索树(GIST,Generalized Search Trees)方法、局部二值模式(LBP,Local binary patterns)方法和傅里叶变换方法等。例如,采用GLCM方法提取纹理特征包括:
采用现有方法将纹理段转换成灰度共生矩阵,并不用于限定本发明的保护范围。
得到纹理段对应的灰度共生矩阵后,获取能够反映灰度共生矩阵状况的参数,如能量(ASM)、对比度(CON)、相关(COR)、熵(Entropy)、逆差距(Homogeneity)、反差(Contrast)、差异性(Dissimilarity)、二阶距(Angular Second Moment)、自相关(Correlation)等。
经实践验证,采用能量、对比度、熵、逆差距、相关的均值和标准差作为灰度纹理图像的6维纹理特征的效果比其他的参数效果要好。
得到6维纹理特征向量后,为了减少某些特征的影响被放大而某些特征的影响被忽略的情形,需要将纹理特征向量的各维度进行归一化。可以采用高斯归一化算法对灰度图像纹理特征向量进行归一化处理,归一化后的6维纹理特征向量作为待测代码的纹理指纹。
对于灰度纹理图像组成的纹理特征向量集,对所有分块的6个维度中的每一个特征维度中的n维特征向量v(n)[v1,v2,…,vn],其中,n为灰度纹理图像的分块总数,计算出每一个特征维度中的特征值向量的均值μk和方差σk,其中,k=0,1,2,…,6,根据公式进行归一化处理,其中i=1,2,…,n,fki表示第i个分块第k个特征维度的值,μk为第k个特征维度的均值,σk为第k个特征维度的方差。
经上述转换后,υ(n)的各元素值归一化至[-1,1]区间范围内。其中,上标N代表归一化。归一化后,各个特征维度均转变成具有N(0,1)分布的υ(N)。用3σk进行归一化,则υ(N)的值落在[-1,1]区间的概率将可达99%以上,当υ(N)中的值大于1时默认为1,小于-1时默认为-1。
步骤204、根据获得的恶意代码的PE文件的纹理指纹建立Bloom-Filter索引结构。
本步骤中,建立Bloom-Filter索引结构的核心思想就是采用一个很长的位图数组来表示一个恶意代码,将恶意代码的灰度纹理图像的各个分块映射到位图数组中。
可以采用现有技术将恶意代码的灰度纹理图像的各个分块映射到位图数组中,不能用来限定本发明的保护范围。为了解决映射过程中产生的冲突,可以采用不同的哈希函数进行计算。
为了排除正常文件(例如Windows系统的dll文件和exe文件、Linux系统的so文件和shell文件等)的干扰,本发明使用的Bloom-Filter为Counting-Bloom-Filter,支持删除操作,其中恶意代码纹理指纹向量集的位图数组的长度为p,空间规模(即总数据分块数)为n,采用的hash函数的个数为m,映射过程中错误率为ε。Bloom-Filter索引结构建立过程包括以下步骤:
(1)建立一个p位的Bloom-Filter索引结构,即二进制位图数组,数据各元素的初始化值为0。在错误率不大于ε的情况下,才能表示任意n个元素的集合,但p还应该更大些,因为还要保证bit数组里至少一半为0,则 大概为 的1.44倍。
(2)选取m个相互独立的hash函数,当m=(ln2)(p/n)时错误率最小。
(3)针对一个n个特征向量的恶意代码纹理指纹向量集合,通过m个相互独立的哈希函数进行映射;将每一个恶意代码纹理指纹向量经m个相互独立的哈希函数处理后,获得m个位置地址,将获得的m个位置地址在数中对应的位置加1。
当正常文件的文件块二进制文件与恶意代码块的二进制文件相同时,导致纹理特征相同,则可能出现误判。为降低误判率,需要从Bloom-Filter索引结构中删除此类文件块。标准的Bloom-Filter是一种很简单的数据结构,它只支持插入和查找两种操作,不支持删除操作。为实现Bloom-Filter的删除功能,需要引入Counting Bloom-Filter算法。它将标准Bloom-Filter位数组的每一位扩展为一个小的计数器,在插入元素时给对应的m(m为哈希函数个数)个计数器的值分别加1,删除元素时给对应的m个计数器的值分别减1。Counting Bloom-Filter通过多占用近4倍的存储空间代价,给Bloom-Filter增加了删除操作。
得到恶意代码的Bloom-Filter索引结构后,将恶意代码的Bloom-Filter索引结构以位图文件(二进制文件)的形式保存到磁盘,进行恶意代码检测时将其加载到内存中进行检测。
当判断出获得的信息摘要和恶意代码样本数据库中的已知恶意代码的信息摘要不匹配时,该方法还包括:
步骤102、获取待测代码的PE文件的纹理指纹。
本步骤中,获取待测代码的纹理指纹包括:
步骤500、将待测代码的PE文件映射为灰度纹理图像。
本步骤中,可以采用B2M映射算法将待测代码的PE文件(即二进制执行文件)映射为无损压缩格式(如PNG格式、GIF格式、或BMP格式等)的灰度纹理图像。
B2M映射算法的具体流程如下:按顺序读取PE文件中的8位二进制表示灰度纹理图像中的一个像素,像素的取值范围为0~255,0表示黑色,255表示白色。PE文件按顺序逐行映射到灰度纹理图像中,每行的像素数可以预先设置,例如,通常恶意代码PE文件的数据块长度为512字节,那么可以预先设置为每行256个像素,则每两行纹理段表示一个单位段。
步骤501、采用纹理分割算法对灰度纹理图像进行分块。
本步骤中,对灰度纹理图像进行分割的基本单位是行,每行256个字节。
本步骤中,分割的原理是将纹理特征变化不大的行放在同一个块中。
本步骤中,可以但不限于基于纹理段自增长的纹理分割算法进行分割,具体步骤与步骤400~404相同。
步骤502、提取各分块的纹理特征。
本步骤中,可以采用灰度共生矩阵(GLCM,Gray-level Co-occurrenceMatrix from an image)、通用搜索树(GIST,Generalized Search Trees)方法、局部二值模式(LBP,Local binary patterns)方法和傅里叶变换方法等。例如,采用GLCM方法提取纹理特征包括:
采用现有方法将纹理段转换成灰度共生矩阵,并不用于限定本发明的保护范围。
得到纹理段对应的灰度共生矩阵后,获取能够反映灰度共生矩阵状况的参数,如能量(ASM)、对比度(CON)、相关(COR)、熵(Entropy)、逆差距(Homogeneity)、反差(Contrast)、差异性(Dissimilarity)、二阶距(Angular Second Moment)、自相关(Correlation)等。
经实践验证,采用能量、对比度、熵、逆差距、相关的均值和标准差作为灰度纹理图像的6维纹理特征的效果比其他的参数效果要好。
得到6维纹理特征向量后,为了减少某些特征的影响被放大而某些特征的影响被忽略的情形,需要将纹理特征向量的各维度进行归一化。可以采用高斯归一化算法对灰度图像纹理特征向量进行归一化处理,归一化后的6维纹理特征向量作为待测代码的纹理指纹。
对于灰度纹理图像组成的纹理特征向量集,对所有分块的6个维度中的每一个特征维度中的n维特征向量v(n)[v1,v2,…,vn],其中,n为灰度纹理图像的分块总数,计算出每一个特征维度中的特征值向量的均值μk和方差σk,其中,k=0,1,2,…,6,根据公式进行归一化处理,其中i=1,2,…,n,fki表示第i个分块第k个特征维度的值,μk为第k个特征维度的均值,σk为第k个特征维度的方差。
经上述转换后,υ(n)的各元素值归一化至[-1,1]区间范围内。其中,上标N代表归一化。归一化后,各个特征维度均转变成具有N(0,1)分布的υ(N)。用3σk进行归一化,则υ(N)的值落在[-1,1]区间的概率将可达99%以上,当υ(N)中的值大于1时默认为1,小于-1时默认为-1。
步骤103、根据预先建立的Bloom-Filter索引结构对获得的纹理指纹进行检测,并返回第一检测报告,第一检测报告至少包括待测代码是否为恶意代码的检测结果。
本步骤中,使用Bloom-Filter索引结构进行检测的过程包括以下步骤:
首先,获取灰度纹理图像各分块在恶意代码样本数据库中出现的次数。
其中,对于灰度纹理图像的每一个分块,使用上述m个相互独立的hash函数,分块的特征向量υ对应的m个独立的哈希值(即位置信息);
判断计算得到的m个独立的哈希值(位置信息)在Bloom-Filter索引结构中对应的m个位置是否都大于等于1,如果是则认为υ是Bloom-Filter索引结构中的元素,返回该分块在恶意代码样本数据库中出现的次数,其中,恶意代码样本集中出现的次数是指m个哈希值对应所有的位图数组中位置的次数的最小值;否则不是,返回该分块在恶意代码样本集中出现的次数为0。
其次,根据获得的次数获取待测代码的总体匹配度。
获得所有分块出现的次数Cf后,对待测代码的检测结果进行评估,评估过程包括总体匹配度和恶意代码家族评估。
根据各分块在恶意代码样本集中出现的次数、可信块评分和块权重指标,定义待测代码的总体匹配度为:
其中,Md为总体匹配度,n为总块数,i为块编号,Cri为编号为i的纹理块可信度评分,wi为块权重指标,即待测代码的分块所包含的行数与该待测代码的总行数的比值。
块的可信度评分Cri可通过对恶意代码样本数据库的统计和人工分析来决定。例如,可以设定三级块可信度阈值,分别为高可信度频率CrH、中可信度频率CrM,一般可信度频率CrG。可以将Cf≥10的纹理块设定为高可信度块,对于5≤Cf≤10的纹理块设定为中度可信度块,对于1≤Cf≤5的纹理块设定为一般可信度块。高可信度频率CrH记为5分;中可信度频率CrM记为3分;一般可信度频率CrG记为1分;若Cf为0,可记纹理块的Cri为0。
最后,根据获得的总体匹配度判断待测代码是否为恶意代码。
其中,判断待测代码为恶意代码的可疑程度可疑预先设置,其通常由专家进行定义。例如,可以设置为:若待检测恶意代码块可信度总评分(即恶意代码总体匹配度)CT≥10记为确认恶意代码,5≤CT≤10记为疑似恶意代码,1≤CT≤5记为可疑恶意代码,CT≤1记为未知。
判断出待测代码是否为恶意代码后,还可以对待测代码所属恶意代码家族进行评估,恶意代码家族评估方法如下:
对于待测代码,通过纹理分割算法分割后的分块个数为n,对于分块Bi,在Bloom-Filter索引结构中与该分块相匹配的分块的个数为Ba个,每个与该分块相匹配的分块对应Mp个恶意代码,那么,与分块Bi相对应的恶意代码有BaMp个;该BaMp个恶意代码的名称可记为集合Si。恶意代码的家族为通过候选恶意代码集投票来决定待测代码的家族。
本步骤中,检测报告包括检测结果(即确认、疑似、可疑和未知)、家族类别、文件细节信息(例如包标识、PE文件头信息、PE文件段信息、PE文件导入信息等)、以及变种集的相关报告信息。
参见图6,本发明还提出了一种检测恶意代码的装置,至少包括:
恶意样本存储模块,用于保存预先建立恶意代码样本数据库,恶意代码样本数据库包括已知恶意代码的PE文件的信息摘要;
索引模块,用于保存预先建立Bloom-Filter索引结构;
获取模块,用于获取待测代码的PE文件的信息摘要;判断出获得的信息摘要和恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要不匹配,获取待测代码的PE文件的纹理指纹;
计算模块,用于根据预先建立的Bloom-Filter索引结构对获得的纹理指纹进行检测,并返回第一检测报告,第一检测报告至少包括所述待测代码是否为恶意代码的检测结果。
本发明的装置中,获取模块,还用于:
判断出获得的信息摘要和恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要相匹配,返回第二检测报告,第二检测报告包括确认待测代码为恶意代码的检测结果。
本发明的装置中,获取模块,还用于:
接收来自用户的已确认为恶意代码的PE文件;获取接收到的恶意代码的PE文件的信息摘要,判断出获得的信息摘要和恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要不匹配,将接收到的恶意代码的PE文件保存到恶意代码样本数据库中,并对接收到的恶意代码的PE文件进行标注;获取接收到的恶意代码的PE文件的纹理指纹;
装置还包括:
索引结构建立模块,用于根据获得的恶意代码的PE文件的纹理指纹建立Bloom-Filter索引结构,并将建立的Bloom-Filter索引结构保存到索引模块中。
本发明的装置中,获取模块,还用于:
判断出获得的信息摘要和恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要相匹配,丢弃接收到的恶意代码的PE文件。
本发明的装置中,获取待测代码的PE文件的纹理指纹包括:
将待测代码的PE文件映射为灰度纹理图像;
采用纹理分割算法对灰度纹理图像进行分块;
提取各分块的纹理特征。
本发明的装置中,采用纹理分割算法对灰度纹理图像进行分块包括:
对灰度纹理图像按纹理段顺序扫描,找到第1个还没有归属的纹理段,标记该纹理段为当前纹理段;
当判断出当前纹理段满足退化准则时,将当前纹理段所在分块的所有纹理段划分为一个分块;
当判断出当前纹理段不满足退化准则,且当前纹理段与下一纹理段满足生长准则时,将当前纹理段和下一纹理段合并为一个分块,并将下一纹理段标记为当前纹理段,继续执行判断当前纹理段是否满足退化准则的步骤;
读取灰度纹理图像的下一纹理段,继续执行判断当前纹理段是否满足退化准则的步骤;
当判断出当前纹理段为灰度纹理图像的最后一纹理段时,返回图像纹理的分块结果。
本发明的装置中,计算模块,具体用于:
获取灰度纹理图像各分块在恶意代码样本数据库中出现的次数;
根据获得的次数获取待测代码的总体匹配度;
根据获得的总体匹配度判断待测代码是否为恶意代码。
本发明的装置中,计算模块,还用于:
对待测代码所属恶意代码家族进行评估。
需要说明的是,以上所述的实施例仅是为了便于本领域的技术人员理解而已,并不用于限制本发明的保护范围,在不脱离本发明的发明构思的前提下,本领域技术人员对本发明所做出的任何显而易见的替换和改进等均在本发明的保护范围之内。
Claims (19)
1.一种检测恶意代码的方法,其特征在于,预先建立恶意代码样本数据库,所述恶意代码样本数据库包括已知恶意代码的可移植的执行体PE文件的信息摘要;预先建立布隆过滤器Bloom-Filter索引结构;
该方法包括:
获取待测代码的PE文件的信息摘要;
当判断出获得的信息摘要和恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要不匹配时,获取所述待测代码的PE文件的纹理指纹;根据预先建立的Bloom-Filter索引结构对获得的纹理指纹进行检测,并返回第一检测报告,所述第一检测报告至少包括所述待测代码是否为恶意代码的检测结果。
2.根据权利要求1所述的方法,其特征在于,当判断出获得的信息摘要和恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要相匹配时,该方法还包括:
返回第二检测报告,所述第二检测报告包括确认所述待测代码为恶意代码的检测结果。
3.根据权利要求1所述的方法,其特征在于,所述预先建立Bloom-Filter索引结构包括:
接收来自用户的已确认为恶意代码的PE文件;
获取接收到的恶意代码的PE文件的信息摘要,当判断出所述获得的信息摘要和所述恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要不匹配时,将所述接收到的恶意代码的PE文件保存到所述恶意代码样本数据库中,并对所述接收到的恶意代码的PE文件进行标注;获取所述接收到的恶意代码的PE文件的纹理指纹;根据获得的恶意代码的PE文件的纹理指纹建立Bloom-Filter索引结构。
4.根据权利要求3所述的方法,其特征在于,当判断出获得的信息摘要和所述恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要相匹配时,该方法还包括:
丢弃所述接收到的恶意代码的PE文件。
5.根据权利要求1所述的方法,其特征在于,所述获取所述待测代码的PE文件的纹理指纹包括:
将所述待测代码的PE文件映射为灰度纹理图像;
采用纹理分割算法对所述灰度纹理图像进行分块;
提取各分块的纹理特征。
6.根据权利要求5所述的方法,其特征在于,所述采用纹理分割算法对所述灰度纹理图像进行分块包括:
对所述灰度纹理图像按纹理段顺序扫描,找到第一个还没有归属的纹理段,标记该纹理段为当前纹理段;
当判断出所述当前纹理段满足退化准则时,将所述当前纹理段所在分块的所有纹理段划分为一个分块;
当判断出所述当前纹理段不满足退化准则,且所述当前纹理段与下一纹理段满足生长准则时,将所述当前纹理段和所述下一纹理段合并为一个分块,并将所述下一纹理段标记为当前纹理段,继续执行判断所述当前纹理段是否满足退化准则的步骤;
读取灰度纹理图像的下一纹理段,继续执行判断所述当前纹理段是否满足退化准则的步骤;
当判断出当前纹理段为灰度纹理图像的最后一纹理段时,返回图像纹理的分块结果。
7.根据权利要求5所述的方法,其特征在于,采用灰度共生矩阵、或通用搜索树方法、或局部二值模式方法、或傅里叶变换方法提取所述各分块的纹理特征。
8.根据权利要求1所述的方法,其特征在于,所述根据预先建立的Bloom-Filter索引结构对获得的纹理指纹进行检测包括:
获取所述灰度纹理图像各分块在恶意代码样本数据库中出现的次数;
根据获得的次数获取所述待测代码的总体匹配度;
根据获得的总体匹配度判断所述待测代码是否为恶意代码。
9.根据权利要求8所述的方法,其特征在于,根据公式计算所述待测代码的总体匹配度;其中,Md为所述待测代码的总体匹配度,wi为块权重指标,Cri为可信度评分,i为分块数,n为总分块数;所述Cri根据所述次数确定。
10.根据权利要求9所述的方法,其特征在于,所述根据预先建立的Bloom-Filter索引结构对获得的纹理指纹进行检测还包括:
对所述待测代码所属恶意代码家族进行评估。
11.根据权利要求10所述的方法,其特征在于,所述对所述待测代码所属恶意代码家族进行评估包括:
根据公式确定所述待测代码所属恶意代码家族;其中,MF为所述待测代码所属恶意代码家族,Si为BaMp个恶意代码的名称集合,Ba为所述Bloom-Filter索引结构中与分块Bi匹配的分块个数,Mp为每个所述与分块Bi匹配的数据块对应的恶意代码数。
12.一种检测恶意代码的装置,其特征在于,至少包括:
恶意样本存储模块,用于保存预先建立恶意代码样本数据库,所述恶意代码样本数据库包括已知恶意代码的可移植的执行体PE文件的信息摘要;
索引模块,用于保存预先建立布隆过滤器Bloom-Filter索引结构;
获取模块,用于获取待测代码的PE文件的信息摘要;判断出获得的信息摘要和恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要不匹配,获取所述待测代码的PE文件的纹理指纹;
计算模块,用于根据预先建立的Bloom-Filter索引结构对获得的纹理指纹进行检测,并返回第一检测报告,所述第一检测报告至少包括所述待测代码是否为恶意代码的检测结果。
13.根据权利要求12所述的装置,其特征在于,所述获取模块,还用于:
判断出获得的信息摘要和恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要相匹配,返回第二检测报告,所述第二检测报告包括确认所述待测代码为恶意代码的检测结果。
14.根据权利要求12所述的装置,其特征在于,所述获取模块,还用于:
接收来自用户的已确认为恶意代码的PE文件;获取接收到的恶意代码的PE文件的信息摘要,判断出所述获得的信息摘要和所述恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要不匹配,将所述接收到的恶意代码的PE文件保存到所述恶意代码样本数据库中,并对所述接收到的恶意代码的PE文件进行标注;获取所述接收到的恶意代码的PE文件的纹理指纹;
所述装置还包括:
索引结构建立模块,用于根据获得的恶意代码的PE文件的纹理指纹建立Bloom-Filter索引结构,并将建立的Bloom-Filter索引结构保存到索引模块中。
15.根据权利要求14所述的装置,其特征在于,所述获取模块,还用于:
判断出获得的信息摘要和所述恶意代码样本数据库中的已知恶意代码的PE文件的信息摘要相匹配,丢弃接收到的恶意代码的PE文件。
16.根据权利要求12所述的装置,其特征在于,所述获取所述待测代码的PE文件的纹理指纹包括:
将所述待测代码的PE文件映射为灰度纹理图像;
采用纹理分割算法对所述灰度纹理图像进行分块;
提取各分块的纹理特征。
17.根据权利要求16所述的装置,其特征在于,所述采用纹理分割算法对所述灰度纹理图像进行分块包括:
对所述灰度纹理图像按纹理段顺序扫描,找到第1个还没有归属的纹理段,标记该纹理段为当前纹理段;
当判断出所述当前纹理段满足退化准则时,将所述当前纹理段所在分块的所有纹理段划分为一个分块;
当判断出所述当前纹理段不满足退化准则,且所述当前纹理段与下一纹理段满足生长准则时,将所述当前纹理段和所述下一纹理段合并为一个分块,并将所述下一纹理段标记为当前纹理段,继续执行判断所述当前纹理段是否满足退化准则的步骤;
读取灰度纹理图像的下一纹理段,继续执行判断所述当前纹理段是否满足退化准则的步骤;
当判断出当前纹理段为灰度纹理图像的最后一纹理段时,返回图像纹理的分块结果。
18.根据权利要求17所述的装置,其特征在于,所述计算模块,具体用于:
获取所述灰度纹理图像各分块在所述恶意代码样本数据库中出现的次数;
根据获得的次数获取所述待测代码的总体匹配度;
根据获得的总体匹配度判断所述待测代码是否为恶意代码。
19.根据权利要求18所述的装置,其特征在于,所述计算模块,还用于:
对所述待测代码所属恶意代码家族进行评估。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410142983.2A CN104978522B (zh) | 2014-04-10 | 2014-04-10 | 一种检测恶意代码的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410142983.2A CN104978522B (zh) | 2014-04-10 | 2014-04-10 | 一种检测恶意代码的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104978522A true CN104978522A (zh) | 2015-10-14 |
CN104978522B CN104978522B (zh) | 2018-05-08 |
Family
ID=54275016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410142983.2A Expired - Fee Related CN104978522B (zh) | 2014-04-10 | 2014-04-10 | 一种检测恶意代码的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104978522B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106572122A (zh) * | 2016-12-09 | 2017-04-19 | 哈尔滨安天科技股份有限公司 | 基于网络行为特征关联分析的主机安全评估方法及系统 |
CN107392019A (zh) * | 2017-07-05 | 2017-11-24 | 北京金睛云华科技有限公司 | 一种恶意代码家族的训练和检测方法及装置 |
CN107491487A (zh) * | 2017-07-17 | 2017-12-19 | 中国科学院信息工程研究所 | 一种全文数据库架构及位图索引创建、数据查询方法、服务器及介质 |
CN107657175A (zh) * | 2017-09-15 | 2018-02-02 | 北京理工大学 | 一种基于图像特征描述子的恶意样本同源检测方法 |
CN108563952A (zh) * | 2018-04-24 | 2018-09-21 | 腾讯科技(深圳)有限公司 | 文件的病毒检测方法、装置及存储介质 |
CN108632131A (zh) * | 2017-03-16 | 2018-10-09 | 哈尔滨英赛克信息技术有限公司 | 一种基于指纹型可变长布鲁姆过滤器的邮件地址匹配方法 |
CN108629183A (zh) * | 2018-05-14 | 2018-10-09 | 南开大学 | 基于可信度概率区间的多模型恶意代码检测方法 |
CN109670304A (zh) * | 2017-10-13 | 2019-04-23 | 北京安天网络安全技术有限公司 | 恶意代码家族属性的识别方法、装置及电子设备 |
CN109981529A (zh) * | 2017-12-27 | 2019-07-05 | 西门子(中国)有限公司 | 报文获取方法、装置、系统及计算机存储介质 |
CN110096853A (zh) * | 2019-04-12 | 2019-08-06 | 福建天晴在线互动科技有限公司 | 基于Mono的Unity安卓应用加固方法、存储介质 |
CN110222507A (zh) * | 2019-05-21 | 2019-09-10 | 暨南大学 | 一种基于模糊哈希的恶意软件大数据智能学习识别方法 |
WO2019242444A1 (zh) * | 2018-06-20 | 2019-12-26 | 深信服科技股份有限公司 | 一种训练机器学习引擎的方法、系统及相关装置 |
CN110955891A (zh) * | 2018-09-26 | 2020-04-03 | 阿里巴巴集团控股有限公司 | 文件检测的方法、装置、系统和数据处理法的方法 |
CN111783095A (zh) * | 2020-07-28 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 小程序恶意代码的识别方法、装置和电子设备 |
CN113760770A (zh) * | 2021-09-14 | 2021-12-07 | 上海观安信息技术股份有限公司 | 基于自动静态资源检测的反调试方法和系统 |
CN115564970A (zh) * | 2022-09-20 | 2023-01-03 | 东华理工大学 | 一种网络攻击追踪溯源方法、系统及可存储介质 |
CN116776386A (zh) * | 2023-07-05 | 2023-09-19 | 深圳钰丰信息技术有限公司 | 一种云服务数据信息安全管理方法及系统 |
CN113760770B (zh) * | 2021-09-14 | 2024-06-11 | 上海观安信息技术股份有限公司 | 基于自动静态资源检测的反调试方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101520832A (zh) * | 2008-12-22 | 2009-09-02 | 康佳集团股份有限公司 | 一种文件代码签名验证系统及其方法 |
CN102034042A (zh) * | 2010-12-13 | 2011-04-27 | 四川大学 | 基于函数调用关系图特征的恶意代码检测新方法 |
CN103034807A (zh) * | 2011-10-08 | 2013-04-10 | 腾讯科技(深圳)有限公司 | 恶意程序检测方法和装置 |
CN103700108A (zh) * | 2013-12-24 | 2014-04-02 | 西安电子科技大学 | 基于种子集的半监督rflicm聚类的图像分割方法 |
-
2014
- 2014-04-10 CN CN201410142983.2A patent/CN104978522B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101520832A (zh) * | 2008-12-22 | 2009-09-02 | 康佳集团股份有限公司 | 一种文件代码签名验证系统及其方法 |
CN102034042A (zh) * | 2010-12-13 | 2011-04-27 | 四川大学 | 基于函数调用关系图特征的恶意代码检测新方法 |
CN103034807A (zh) * | 2011-10-08 | 2013-04-10 | 腾讯科技(深圳)有限公司 | 恶意程序检测方法和装置 |
CN103700108A (zh) * | 2013-12-24 | 2014-04-02 | 西安电子科技大学 | 基于种子集的半监督rflicm聚类的图像分割方法 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106572122A (zh) * | 2016-12-09 | 2017-04-19 | 哈尔滨安天科技股份有限公司 | 基于网络行为特征关联分析的主机安全评估方法及系统 |
CN108632131B (zh) * | 2017-03-16 | 2020-10-20 | 哈尔滨英赛克信息技术有限公司 | 一种基于指纹型可变长布鲁姆过滤器的邮件地址匹配方法 |
CN108632131A (zh) * | 2017-03-16 | 2018-10-09 | 哈尔滨英赛克信息技术有限公司 | 一种基于指纹型可变长布鲁姆过滤器的邮件地址匹配方法 |
CN107392019A (zh) * | 2017-07-05 | 2017-11-24 | 北京金睛云华科技有限公司 | 一种恶意代码家族的训练和检测方法及装置 |
CN107491487A (zh) * | 2017-07-17 | 2017-12-19 | 中国科学院信息工程研究所 | 一种全文数据库架构及位图索引创建、数据查询方法、服务器及介质 |
CN107491487B (zh) * | 2017-07-17 | 2020-12-04 | 中国科学院信息工程研究所 | 一种全文数据库架构及位图索引创建、数据查询方法、服务器及介质 |
CN107657175A (zh) * | 2017-09-15 | 2018-02-02 | 北京理工大学 | 一种基于图像特征描述子的恶意样本同源检测方法 |
CN109670304B (zh) * | 2017-10-13 | 2020-12-22 | 北京安天网络安全技术有限公司 | 恶意代码家族属性的识别方法、装置及电子设备 |
CN109670304A (zh) * | 2017-10-13 | 2019-04-23 | 北京安天网络安全技术有限公司 | 恶意代码家族属性的识别方法、装置及电子设备 |
CN109981529A (zh) * | 2017-12-27 | 2019-07-05 | 西门子(中国)有限公司 | 报文获取方法、装置、系统及计算机存储介质 |
CN109981529B (zh) * | 2017-12-27 | 2021-11-12 | 西门子(中国)有限公司 | 报文获取方法、装置、系统及计算机存储介质 |
CN108563952B (zh) * | 2018-04-24 | 2023-03-21 | 腾讯科技(深圳)有限公司 | 文件的病毒检测方法、装置及存储介质 |
CN108563952A (zh) * | 2018-04-24 | 2018-09-21 | 腾讯科技(深圳)有限公司 | 文件的病毒检测方法、装置及存储介质 |
CN108629183A (zh) * | 2018-05-14 | 2018-10-09 | 南开大学 | 基于可信度概率区间的多模型恶意代码检测方法 |
WO2019242444A1 (zh) * | 2018-06-20 | 2019-12-26 | 深信服科技股份有限公司 | 一种训练机器学习引擎的方法、系统及相关装置 |
CN110955891A (zh) * | 2018-09-26 | 2020-04-03 | 阿里巴巴集团控股有限公司 | 文件检测的方法、装置、系统和数据处理法的方法 |
CN110955891B (zh) * | 2018-09-26 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 文件检测的方法、装置、系统和数据处理法的方法 |
CN110096853A (zh) * | 2019-04-12 | 2019-08-06 | 福建天晴在线互动科技有限公司 | 基于Mono的Unity安卓应用加固方法、存储介质 |
CN110222507A (zh) * | 2019-05-21 | 2019-09-10 | 暨南大学 | 一种基于模糊哈希的恶意软件大数据智能学习识别方法 |
CN111783095A (zh) * | 2020-07-28 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 小程序恶意代码的识别方法、装置和电子设备 |
CN113760770A (zh) * | 2021-09-14 | 2021-12-07 | 上海观安信息技术股份有限公司 | 基于自动静态资源检测的反调试方法和系统 |
CN113760770B (zh) * | 2021-09-14 | 2024-06-11 | 上海观安信息技术股份有限公司 | 基于自动静态资源检测的反调试方法和系统 |
CN115564970A (zh) * | 2022-09-20 | 2023-01-03 | 东华理工大学 | 一种网络攻击追踪溯源方法、系统及可存储介质 |
CN116776386A (zh) * | 2023-07-05 | 2023-09-19 | 深圳钰丰信息技术有限公司 | 一种云服务数据信息安全管理方法及系统 |
CN116776386B (zh) * | 2023-07-05 | 2023-11-17 | 深圳钰丰信息技术有限公司 | 一种云服务数据信息安全管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104978522B (zh) | 2018-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104978522A (zh) | 一种检测恶意代码的方法和装置 | |
CN107092829B (zh) | 一种基于图像匹配的恶意代码检测方法 | |
CN112866023B (zh) | 网络检测、模型训练方法、装置、设备及存储介质 | |
CN111428231A (zh) | 基于用户行为的安全处理方法、装置及设备 | |
CN104700033A (zh) | 病毒检测的方法及装置 | |
CN104751055A (zh) | 一种基于纹理的分布式恶意代码检测方法、装置及系统 | |
CN109359439A (zh) | 软件检测方法、装置、设备及存储介质 | |
KR102007809B1 (ko) | 이미지를 이용한 신경망 기반 익스플로잇킷 탐지 시스템 | |
CN109922065B (zh) | 恶意网站快速识别方法 | |
CN104715194B (zh) | 恶意软件检测方法和装置 | |
CN112491796A (zh) | 一种基于卷积神经网络的入侵检测及语义决策树量化解释方法 | |
CN108154031A (zh) | 伪装应用程序的识别方法、装置、存储介质和电子装置 | |
CN105138916A (zh) | 基于数据挖掘的多轨迹恶意程序特征检测方法 | |
CN105718795A (zh) | Linux下基于特征码的恶意代码取证方法及系统 | |
CN110704841A (zh) | 一种基于卷积神经网络的大规模安卓恶意应用检测系统及方法 | |
CN109413047A (zh) | 行为模拟的判定方法、系统、服务器及存储介质 | |
CN113420295A (zh) | 恶意软件的检测方法及装置 | |
CN105205349A (zh) | 马尔科夫毯嵌入式的基于封装的特征选择方法 | |
CN110808947B (zh) | 一种自动化的脆弱性量化评估方法及系统 | |
CN111626313B (zh) | 一种特征提取模型训练方法、图像处理方法及装置 | |
CN110472410B (zh) | 识别数据的方法、设备和数据处理方法 | |
CN115834231A (zh) | 一种蜜罐系统的识别方法、装置、终端设备及存储介质 | |
CN112818150B (zh) | 一种图片内容审核方法、装置、设备和介质 | |
CN114943083A (zh) | 一种智能终端漏洞代码样本挖掘方法、装置及电子设备 | |
CN112163217A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180508 |