CN104978521A - 一种实现恶意代码标注的方法及系统 - Google Patents
一种实现恶意代码标注的方法及系统 Download PDFInfo
- Publication number
- CN104978521A CN104978521A CN201410142940.4A CN201410142940A CN104978521A CN 104978521 A CN104978521 A CN 104978521A CN 201410142940 A CN201410142940 A CN 201410142940A CN 104978521 A CN104978521 A CN 104978521A
- Authority
- CN
- China
- Prior art keywords
- malicious code
- clustering cluster
- textural characteristics
- module
- file
- 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 132
- 238000012545 processing Methods 0.000 claims abstract description 27
- 238000004422 calculation algorithm Methods 0.000 claims description 62
- 238000000605 extraction Methods 0.000 claims description 39
- 238000012360 testing method Methods 0.000 claims description 33
- 238000013507 mapping Methods 0.000 claims description 30
- 238000001514 detection method Methods 0.000 claims description 25
- 230000011218 segmentation Effects 0.000 claims description 20
- 238000010606 normalization Methods 0.000 claims description 14
- 239000011159 matrix material Substances 0.000 claims description 11
- 230000006835 compression Effects 0.000 claims description 8
- 238000007906 compression Methods 0.000 claims description 8
- 201000011243 gastrointestinal stromal tumor Diseases 0.000 claims description 8
- 101100217298 Mus musculus Aspm gene Proteins 0.000 claims description 7
- 230000002155 anti-virotic effect Effects 0.000 claims description 7
- 238000011426 transformation method Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 210000003462 vein Anatomy 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 44
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 16
- 239000013598 vector Substances 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000035772 mutation Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000010355 oscillation Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种实现恶意代码标注的方法及装置,包括:将恶意代码的可移植的执行体(PE)文件进行处理,获取恶意代码的信息摘要签名和基准标注和纹理特征;根据基准标注及信息摘要签名,将属于同一恶意代码家族的纹理特征生成相应的纹理特征集合;根据纹理特征集合生成第一聚类簇,将第一聚类簇进行合并以生成第二聚类簇,结合信息摘要签名及恶意代码家族深度命名对第二聚类簇进行深度标注。本发明通过对恶意代码进行基准标注和深度标度,采用信息摘要签名及恶意代码家族深度命名,规范了各恶意代码家族的标注方法,提高了对恶意代码标注的准确性和通用性。
Description
技术领域
本发明涉及计算机安全领域,尤指一种基于纹理聚类实现恶意代码标注的方法及系统。
背景技术
随着计算机技术和互网络应用的快速发展,信息安全变得愈发重要,信息安全也成为一个备受关注的重要研究领域。面对层出不穷的安全问题和爆炸式增长的恶意软件及其变种,需要不断完善和提高检测技术,做到及时准确的检测和查杀。
恶意软件是一段计算机指令,由攻击者通过系统安全漏洞或其他方法将恶意代码植入被攻击值的计算机中,使得被攻击者的计算机按照攻击者的意愿执行任务,任何能对计算机系统信息安全造成威胁的计算机指令序列和数据都可以归属于恶意软件。常见的恶意软件有:漏洞攻击程序、计算机恶意代码、蠕虫、恶意移动脚本、后门、木马、RootKit、间谍软件以及更深层次的BIOS木马、恶意CPU微代码等,当然还包括以上类型恶意软件的组合成的恶意软件。
反恶意代码防御恶意软件(AV)软件产品主要使用基于签名的方法来识别威胁,对于对给定一组恶意软件样本,这些AV厂商首先将样本标注为家族,在同一个家族的样本具有共同的特征,并使用这些公共特征作为恶意代码家族的特征,以此来检测该恶意代码家族的变种。
恶意代码的分类标注主要通过人工分析和经验,查找描述库和搜索示例作为辅助手段。人工分析方法通常时间密集型和劳动密集型,而且分析人员经验与标注正确关系较大。当前,由于恶意代码源码公开、自动生成机的普及、黑客工具的肆意传播使得恶意代码已经形成灰色产业链,这导致恶意代码规模呈指数级增长,Symantec的2010年报告指出,2008年新增恶意代码169323例,2009年新增2895802例,2010年Symantec的恶意代码的语料库规模达到了286000000例。恶意代码的规模和增长速度为分析工作带来严峻挑战,主要表现为两个方面,一是如何能够自动提取反应恶意代码本质的特征,为下一步进行自动分析或人工分析提供更为全面描述信息;第二点就是根据特征如何能更为快速对未知恶意样本进行自动标注,从而提升处理速度或提高人工分析效率。
在过去几年里,针对恶意代码自动标注系统已经取得了一定的成果,研究人员已经开发了各式的恶意软件自动分类系统。在这些系统中,恶意代码检测过程一般可以概括为两个步骤,特征提取和分类标注。在第一步中,通过使用静态分析或动态分析方法将恶意代码的特征提取以作为其特征向量,例如API调用、指令序列调用等。在第二步中,智能分析技术将使用步骤一提供的特征向量自动标注恶意代码,即将恶意代码分类到某个恶意代码家族。上述的家族类别标注方法,使用分类或聚类技术能够将恶意样本进行划分,但普遍存在家族判定时效性差、特征提取能力不足、命名规则不统一,甚至频繁出现即使名称相同也不一定是同一个家族的样本。
由于以上问题,大多数家族标注方法难以应用到工业界中,而且由于不同反恶意程序软件公司采用的标注方法不同,例如,由于缺乏监督信息,不同AV公司采用的特征提取技术也不尽相同,不同的聚类算法得出的分类结果也差异较大,甚至由于随机初始化和随机模型的差异,同一个聚类算法得出的分类结果也不相同。因此,会大量存在不同的反恶意程序软件给出的恶意代码的分类结果各有不同,命名规则也没有统一的标准,即使名称相同也不一定是同一个家族的样本。
综上,目前的恶意代码分类标注方法中,标注方法不统一,家族标注准确度不高等问题。
发明内容
为了解决上述技术问题,本发明提供一种实现恶意代码标注的方法及系统,能够规范对恶意代码的标注方法,提高恶意代码标注的准确性。
为了达到上述发明目的,本发明公开了一种实现恶意代码标注的方法,包括:
将恶意代码的可移植的执行体PE文件进行处理,获取恶意代码的信息摘要签名和基准标注和纹理特征;
根据基准标注及信息摘要签名,将属于同一恶意代码家族的纹理特征生成相应的纹理特征集合;
根据纹理特征集合生成第一聚类簇,将第一聚类簇进行合并以生成第二聚类簇,结合信息摘要签名及恶意代码家族深度命名对第二聚类簇进行深度标注。
进一步地,将恶意代码的PE文件进行处理,获取恶意代码的信息摘要签名和基准标注和纹理特征包括:
采用信息摘要算法获取恶意代码的PE文件中的各恶意代码的信息摘要作为恶意代码的信息摘要签名;
对恶意代码的PE文件进行检测,将检测结果进行处理后,结合恶意代码家族命名策略,形成区分恶意代码家族的基准标注;
将恶意代码的PE文件映射为纹理图像文件,并从纹理图像文件获取恶意代码的纹理特征。
进一步地,根据纹理特征集合生成第一聚类簇包括:
建立位置敏感哈希函数族,将恶意代码的纹理特征集合映射到与哈希函数对应的哈希表的哈希桶中,以生成第一聚类簇。
进一步地,将第一聚类簇进行合并以生成第二聚类簇为:将第一聚类簇按照共享的纹理特征进行合并,生成第二聚类簇。
进一步地,信息摘要算法为以下任一种:消息摘要算法第五版MD5、或安全散列算法SHA、或消息认证码算法MAC、或CRC32、或SHA1、或SHA256、或SHA384、或SHA512。
进一步地,对恶意代码PE文件进行检测为:使用Virustotal检测方法对恶意代码PE文件进行检测。
进一步地,对检测结果进行处理具体包括:
对检测结果进行预处理;
对预处理的信息根据导入的词表文件进行分词处理;
根据分词处理的结果进行词频统计处理,以进一步进行投票处理获得投票结果。
进一步地,检测结果包含:反恶意代码antivirus部分及其对应的结果Result部分。
进一步地,预处理至少包括:分隔符替换、和特殊符号移除、和简写补全。
进一步地,词频统计为:对分词处理后的关键词进行频度统计,对非关键词进行过滤。
进一步地,进行投票处理包括:根据词频统计处理对关键词中低频词进行过滤,对高频词进行由大到小排序。
进一步地,恶意代码命名策略包括:行业命名规范、公司命名规范和个性化命名规范。
进一步地,从纹理图像文件获取恶意代码的纹理特征为:从所述纹理图像文件中进行特征提取,并对提取的纹理特征进行归一化处理后,得到恶意代码的纹理特征。
进一步地,将恶意代码PE文件映射为纹理图像文件为:将所述恶意代码PE文件的每个恶意代码使用二进制映射为图像B2M算法映射为无损压缩格式的纹理图像文件。
进一步地,纹理图像文件为:PNG格式,或GIF格式,或BMP格式。
进一步地,特征提取包括:使用灰度共生矩阵方法;或GIST方法;或傅里叶变换方法;或局部二值模式LBP方法进行纹理图像文件的特征提取。
进一步地,归一化处理包括:使用高斯归一化算法对纹理特征进行归一化的处理。
进一步地,建立位置敏感哈希函数族,将所述恶意代码的纹理特征映射到与哈希函数对应的哈希表的哈希桶中,以生成第一聚类簇包括:建立位置敏感哈希函数族,从中选择K个位置敏感的哈希函数,分别使用K个位置敏感哈希函数对同一恶意代码家族的纹理特征进行哈希操作,得到K个哈希值以构成K维的哈希桶地址,将纹理特征映射于哈希桶地址中,以生成第一类聚类簇;
所述K为自然数。
进一步地,在将第一聚类簇按照共享的纹理特征进行合并,生成第二聚类簇时,该方法还包括:生成第二聚类簇时还生成聚类簇ID、聚类簇规模。
进一步地,恶意代码家族深度命名包括:基准标注、聚类簇ID、聚类簇规模、聚类簇比例;
所述,聚类簇比例为当前聚类簇占基准标注后的恶意代码的比例。
进一步地,基本标注后,该方法还包括:对所述基准标记结果作为恶意代码的描述信息存储到恶意代码的语料库中。
进一步地,进行深度标注后,该方法还包括;将深度标注的结果与消息摘要标签结合作为恶意代码的基准标签。
另一方面,本申请还提供一种实现恶意代码标注的系统,包括:文件处理单元、特征集合单元、深度标注单元;其中,
文件处理单元,用于将恶意代码的可移植的执行体PE文件进行处理,获取恶意代码的信息摘要签名和基准标注和纹理特征;
特征集合单元,用于根据文件处理单元的基准标注及信息摘要签名,将属于同一恶意代码家族的纹理特征生成相应的纹理特征集合;
深度标注单元,用于根据纹理特征集合生成第一聚类簇,将第一聚类簇进行合并以生成第二聚类簇,结合信息摘要签名及恶意代码家族深度命名对第二聚类簇进行深度标注。
进一步地,文件处理单元包括信息摘要模块、基准标注模块和纹理特征模块;其中,
信息摘要模块,用于采用信息摘要算法获取恶意代码的PE文件中的各恶意代码的信息摘要作为恶意代码的信息摘要签名;
基准标注模块,用于对恶意代码的PE文件进行检测,将检测结果进行处理后,结合恶意代码家族命名策略,形成区分恶意代码家族的基准标注;
纹理特征模块,用于将恶意代码的PE文件映射为纹理图像文件,并从纹理图像文件获取恶意代码的纹理特征。
进一步地,深度标注单元包含第一聚类模块、第二聚类模块和深度标注模块;其中,
第一聚类模块,用于建立位置敏感哈希函数族,将恶意代码的纹理特征集合映射到与哈希函数对应的哈希表的哈希桶中,以生成第一聚类簇;
第二聚类模块,用于将第一聚类簇进行合并以生成第二聚类簇;
深度标注模块,用于结合信息摘要签名及恶意代码家族深度命名对第二聚类簇进行深度标注。
进一步地,深度标注单元包含第一聚类模块、第二聚类模块和深度标注模块;其中,
第一聚类模块,用于根据纹理特征集合生成第一聚类簇;
第二聚类模块,用于将第一聚类簇按照共享的纹理特征进行合并,生成第二聚类簇;
深度标注模块,用于结合信息摘要签名及恶意代码家族深度命名对第二聚类簇进行深度标注。
进一步地,信息摘要算法为以下任一种:消息摘要算法第五版MD5、或安全散列算法SHA、或消息认证码算法MAC、或CRC32、或SHA1、或SHA256、或SHA384、或SHA512。
进一步地,基准标注模块包含检测子模块、处理子模块和基准标注子模块;其中,
检测子模块,用于使用Virustotal检测方法对恶意代码PE文件进行检测;
处理子模块,用于将检测子模块的检测结果进行处理;
基准标注子模块,用于将检测结果进行处理后,结合恶意代码家族命名策略,形成区分恶意代码家族的基准标注。
进一步地,基准标注模块包含检测子模块、处理子模块和基准标注子模块;其中,
检测子模块,用于对恶意代码的PE文件进行检测;
处理子模块,用于将检测子模块的检测结果进行预处理;对预处理的信息根据导入的词表文件进行分词处理;根据分词处理的结果进行词频统计处理,以进一步进行投票处理获得投票结果;
基准标注子模块,用于将检测结果进行处理后,结合恶意代码家族命名策略,形成区分恶意代码家族的基准标注。
进一步地,检测结果包含:反恶意代码antivirus部分及其对应的结果Result部分。
进一步地,预处理至少包括:分隔符替换、和特殊符号移除、和简写补全。
进一步地,词频统计为:对分词处理后的关键词进行频度统计,对非关键词进行过滤。
进一步地,进行投票处理包括:根据词频统计处理对关键词中低频词进行过滤,对高频词进行由大到小排序。
进一步地,恶意代码命名策略包括:行业命名规范、公司命名规范和个性化命名规范。
进一步地,纹理特征模块包含映射子模块和特征提取子模块;其中,
映射子模块,用于将所述恶意代码PE文件的每个恶意代码使用二进制映射为图像B2M算法映射为无损压缩格式的纹理图像文件;
特征提取子模块,用于从纹理图像文件获取恶意代码的纹理特征。
进一步地,纹理特征模块包含映射子模块和特征提取子模块;其中,
映射子模块,用于将恶意代码的PE文件映射为纹理图像文件;
特征提取子模块,用于从所述纹理图像文件中进行特征提取,并对提取的纹理特征进行归一化处理后,得到恶意代码的纹理特征。
进一步地,纹理图像文件为:PNG格式,或GIF格式,或BMP格式。
进一步地,特征提取包括:使用灰度共生矩阵方法;或GIST方法;或傅里叶变换方法;或局部二值模式LBP方法进行纹理图像文件的特征提取。
进一步地,归一化处理包括:使用高斯归一化算法对纹理特征进行归一化的处理。
进一步地,第一聚类模块具体用于,建立位置敏感哈希函数族,从中选择K个位置敏感的哈希函数,分别使用K个位置敏感哈希函数对同一恶意代码家族的纹理特征进行哈希操作,得到K个哈希值以构成K维的哈希桶地址,将纹理特征映射于哈希桶地址中,以生成第一类聚类簇;
所述K为自然数。
进一步地,深度标注单元,还用于在将第一聚类簇按照共享的纹理特征进行合并,生成第二聚类簇时,生成第二聚类簇时还生成聚类簇ID、聚类簇规模。
进一步地,恶意代码家族深度命名包括:基准标注、聚类簇ID、聚类簇规模、聚类簇比例;
所述,聚类簇比例为当前聚类簇占基准标注后的恶意代码的比例。
进一步地,该系统还包括存储单元,用于在所述基本标注后,将所述基准标记结果作为恶意代码的描述信息存储到恶意代码的语料库中。
进一步地,该系统还包括基准标签单元,用于当所述进行深度标注后,将深度标注的结果与消息摘要标签结合作为恶意代码的基准标签。
本申请技术方案包括:将恶意代码的可移植的执行体(PE)文件进行处理,获取恶意代码的信息摘要签名和基准标注和纹理特征;根据基准标注及信息摘要签名,将属于同一恶意代码家族的纹理特征生成相应的纹理特征集合;根据纹理特征集合生成第一聚类簇,将第一聚类簇进行合并以生成第二聚类簇,结合信息摘要签名及恶意代码家族深度命名对第二聚类簇进行深度标注。本发明通过对恶意代码进行基准标注和深度标度,采用信息摘要签名及恶意代码家族深度命名,规范了各恶意代码家族的标注方法,提高了对恶意代码标注的准确性和通用性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实现恶意代码标注的方法的流程图;
图2为本发明实现恶意代码标注的系统的结构框图;
图3为本发明实现恶意代码标注的实施例中合并生成第二聚类簇的示意图。
具体实施方式
图1为本发明实现高速缓存替换的方法的流程图,如图1所示,包括:
步骤100、将恶意代码的PE文件进行处理,获取恶意代码的信息摘要签名和基准标注和纹理特征。
本步骤中,采用信息摘要算法获取恶意代码的PE文件中的各恶意代码的信息摘要作为恶意代码的信息摘要签名。
信息摘要算法为以下任一种:消息摘要算法第五版(MD5)、或安全散列算法(SHA)、或消息认证码算法(MAC)、或CRC32、或SHA1、或SHA256、或SHA384、或SHA512。这里,上述算法为本领域技术人员所公知的算法,在此不再赘述。
对恶意代码的PE文件进行检测,将检测结果进行处理后,结合恶意代码家族命名策略,形成区分恶意代码家族的基准标注。
对恶意代码PE文件进行检测为:使用Virustotal检测方法对恶意代码PE文件进行检测。
需要说明的是,VirusTotal是一个提供免费的可疑文件分析服务的网站所提供的算法。
进一步地,对检测结果进行处理具体包括:
对检测结果进行预处理;
对预处理的信息根据导入的词表文件进行分词处理;
进一步地,预处理至少包括:分隔符替换、和特殊符号移除、和简写补全。
词频统计为:对分词处理后的关键词进行频度统计,对非关键词进行过滤。
进行投票处理包括:根据词频统计处理对关键词中低频词进行过滤,对高频词进行由大到小排序。
恶意代码命名策略包括:行业命名规范、公司命名规范和个性化命名规范。
这里,检测结果包含:反恶意代码(antivirus)部分及其对应的结果(Result)部分。
将恶意代码的PE文件映射为纹理图像文件,并从纹理图像文件获取恶意代码的纹理特征。
进一步地,将恶意代码PE文件映射为纹理图像文件为:将所述恶意代码PE文件的每个恶意代码使用二进制映射为图像(B2M)算法映射为无损压缩格式的纹理图像文件。
从纹理图像文件获取恶意代码的纹理特征为:从所述纹理图像文件中进行特征提取,并对提取的纹理特征进行归一化处理后,得到恶意代码的纹理特征。
归一化处理包括:使用高斯归一化算法对纹理特征进行归一化的处理。
特征提取包括:使用灰度共生矩阵方法;或GIST方法;或傅里叶变换方法;或局部二值模式(LBP)方法进行纹理图像文件的特征提取。
需要说明的是,GIST方法为本领域技术人员熟知的方法。在此不再赘述。
进一步地,纹理图像文件为:PNG格式,或GIF格式,或BMP格式。这里,图像文件格式为常见的图像格式,本领域技术人员的公知常识。
需要说明的是,提取纹理图像文件,特征提取,纹理图像文件格式等可以根据图像处理,特征匹配方式等进行相应的调整和改进。
步骤101、根据基准标注及信息摘要签名,将属于同一恶意代码家族的纹理特征生成相应的纹理特征集合。
步骤102、根据纹理特征集合生成第一聚类簇,将第一聚类簇进行合并以生成第二聚类簇,结合信息摘要签名及恶意代码家族深度命名对第二聚类簇进行深度标注
本步骤中,根据纹理特征集合生成第一聚类簇包括:
建立位置敏感哈希函数族,将恶意代码的纹理特征集合映射到与哈希函数对应的哈希表的哈希桶中,以生成第一聚类簇。
进一步地,建立位置敏感哈希函数族,将所述恶意代码的纹理特征映射到与哈希函数对应的哈希表的哈希桶中,以生成第一聚类簇包括:建立位置敏感哈希函数族,从中选择K个位置敏感的哈希函数,分别使用K个位置敏感哈希函数对同一恶意代码家族的纹理特征进行哈希操作,得到K个哈希值以构成K维的哈希桶地址,将纹理特征映射于哈希桶地址中,以生成第一类聚类簇;
所述K为自然数。
将第一聚类簇进行合并以生成第二聚类簇为:将第一聚类簇按照共享的纹理特征进行合并,生成第二聚类簇。
在将第一聚类簇按照共享的纹理特征进行合并,生成第二聚类簇时,本发明方法还包括:生成第二聚类簇时还生成聚类簇ID、聚类簇规模。
恶意代码家族深度命名包括:基准标注、聚类簇ID、聚类簇规模、聚类簇比例;
所述,聚类簇比例为当前聚类簇占基准标注后的恶意代码的比例。
基本标注后,本发明方法还包括:对所述基准标记结果作为恶意代码的描述信息存储到恶意代码的语料库中。
进行深度标注后,本发明方法还包括;将深度标注的结果与消息摘要标签结合作为恶意代码的基准标签。
需要说明的是,通过投票标注使本专利提出的方法具有通用性。由于不同公司对于恶意代码的标注不同,经常出现恶意代码被标注为不同的家族;另外,对于不同公司的被标注为同一个家族的恶意代码在PE文件不一定是相同的恶意代码文件,即并不是从一个原始的恶意代码家族(恶意代码的祖先)进化而来,本发明使用聚类技术,将属于同一个家族的恶意代码(祖先的恶意代码)归为一个相同的聚类簇进行家族标注,因此更为准确。
图2为本发明实现恶意代码标注的方法的结构框图,如图2所示,包括:文件处理单元、特征集合单元、深度标注单元;其中,
文件处理单元,用于将恶意代码的PE文件进行处理,获取恶意代码的信息摘要签名和基准标注和纹理特征。
需要说明的是,文件处理单元获得的信息包含基准标注和深度标注所需的信息,一般的可以通过两个服务器或者芯片等进行分开并行处理,对于信息摘要签名,可以在基准标注和深度标注的处理过程中分别获得,也可以由其中一个过程获得,通过通信数据传输节省资源消耗。
文件处理单元包括信息摘要模块、基准标注模块和纹理特征模块;其中,
信息摘要模块,用于采用信息摘要算法获取恶意代码的PE文件中的各恶意代码的信息摘要作为恶意代码的信息摘要签名。
信息摘要算法为以下任一种:MD5、或SHA、或MAC、或CRC32、或SHA1、或SHA256、或SHA384、或SHA512。
基准标注模块,用于对恶意代码的PE文件进行检测,将检测结果进行处理后,结合恶意代码家族命名策略,形成区分恶意代码家族的基准标注。
恶意代码命名策略包括:行业命名规范、公司命名规范和个性化命名规范。
所述基准标注模块包含检测子模块、处理子模块和基准标注子模块;其中,
检测子模块,用于使用Virustotal检测方法对恶意代码PE文件进行检测;
处理子模块,用于将检测子模块的检测结果进行预处理;对预处理的信息根据导入的词表文件进行分词处理;根据分词处理的结果进行词频统计处理,以进一步进行投票处理获得投票结果。
基准标注子模块,用于将检测结果进行处理后,结合恶意代码家族命名策略,形成区分恶意代码家族的基准标注。
检测结果包含:反恶意代码(antivirus)部分及其对应的结果(Result)部分。
预处理至少包括:分隔符替换、和特殊符号移除、和简写补全。
词频统计为:对分词处理后的关键词进行频度统计,对非关键词进行过滤。
进行投票处理包括:根据词频统计处理对关键词中低频词进行过滤,对高频词进行由大到小排序。
纹理特征模块,用于将恶意代码的PE文件映射为纹理图像文件,并从纹理图像文件获取恶意代码的纹理特征。
纹理特征模块包含映射子模块和特征提取子模块;其中,
映射子模块,用于将所述恶意代码PE文件的每个恶意代码使用B2M算法映射为无损压缩格式的纹理图像文件;
特征提取子模块,用于从所述纹理图像文件中进行特征提取,并对提取的纹理特征进行归一化处理后,得到恶意代码的纹理特征。
需要说明的是这里,映射纹理图像文件的过程和归一化处理等过程,可以通过芯片,程序或集成模块等实现。
纹理图像文件为:PNG格式,或GIF格式,或BMP格式。
特征提取包括:使用灰度共生矩阵方法;或GIST方法;或傅里叶变换方法;或LBP方法进行纹理图像文件的特征提取。
归一化处理包括:使用高斯归一化算法对纹理特征进行归一化的处理。
特征集合单元,用于根据文件处理单元的基准标注及信息摘要签名,将属于同一恶意代码家族的纹理特征生成相应的纹理特征集合。
深度标注单元,用于根据纹理特征集合生成第一聚类簇,将第一聚类簇进行合并以生成第二聚类簇,结合信息摘要签名及恶意代码家族深度命名对第二聚类簇进行深度标注。
深度标注单元包含第一聚类模块、第二聚类模块和深度标注模块;其中,
第一聚类模块,用于建立位置敏感哈希函数族,将恶意代码的纹理特征集合映射到与哈希函数对应的哈希表的哈希桶中,以生成第一聚类簇;
第一聚类模块具体用于,建立位置敏感哈希函数族,将所述恶意代码的纹理特征映射到与哈希函数对应的哈希表的哈希桶中,以生成第一聚类簇包括:建立位置敏感哈希函数族,从中选择K个位置敏感的哈希函数,分别使用K个位置敏感哈希函数对同一恶意代码家族的纹理特征进行哈希操作,得到K个哈希值以构成K维的哈希桶地址,将纹理特征映射于哈希桶地址中,以生成第一类聚类簇;
所述K为自然数。
第二聚类模块,用于将第一聚类簇按照共享的纹理特征进行合并,生成第二聚类簇。
深度标注模块,用于结合信息摘要签名及恶意代码家族深度命名对第二聚类簇进行深度标注。
深度标注单元,还用于在将第一聚类簇按照共享的纹理特征进行合并,生成第二聚类簇时,生成第二聚类簇时还生成聚类簇ID、聚类簇规模。
恶意代码家族深度命名包括:基准标注、聚类簇ID、聚类簇规模、聚类簇比例;
所述,聚类簇比例为当前聚类簇占基准标注后的恶意代码的比例。
本发明系统还包括存储单元,用于在所述基本标注后,将所述基准标记结果作为恶意代码的描述信息存储到恶意代码的语料库中。
本发明系统还包括基准标签单元,用于当所述进行深度标注后,将深度标注的结果与消息摘要标签结合作为恶意代码的基准标签。
需要说明的是,以上单元、模块或部分功能的实现往往存在大量的运算处理过程,对于本领域技术人员而言,应当十分清楚的知道,部分功能的实现可能需要独立的服务器来实现,例如第一聚类簇、第二聚类簇的处理过程。
以下结合具体实施例,对本发明进行清楚详细的说明。
实施例1
当接收到用户的对恶意代码进行标注的请求时,将用户提交的恶意代码使用消息队列(例如RabbitMQ、Redis、ActiveMQ等)根据并发提交量进行缓存,并根据先进先出(FIFO)原则依次发给标注服务器,即对于一个恶意代码,分别发给基准标注服务器和深度标注服务器。
包括以下步骤:
获取恶意代码的PE文件中的各恶意代码的信息摘要作为恶意代码的信息摘要签名。
需要说明的是,如果将恶意代码的PE文件直接同时发送给基准标注服务器和深度标注服务器,则基准标注服务器和深度标注服务器都需要获取相同的信息摘要作为信息摘要签名。为了提供系统的工作效率,也可以由基准标注服务器或深度标注服务器获得信息摘要签名后再将获得签名的恶意代码发送到未获得信息摘要签名的服务器。
这里,采用信息摘要算法获取恶意代码的PE文件中的各恶意代码的信息摘要作为恶意代码的信息摘要签名;
信息摘要算法包括:MD5、或SHA、或MAC、或CRC32、或SHA1、或SHA256、或SHA384、或SHA512。
采用信息摘要算法获得信息摘要签名主要有两个目的,其一是为恶意代码进行去重,从恶意代码数据库中删除重复的恶意代码;其二是将信息摘要作为恶意代码的信息摘要签名,不同的恶意代码其信息摘要签名是不同的。信息摘要是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash函数加密函数对消息进行作用而产生。将需加密的明文"摘要"成一串固定位数的密文,它有固定的长度,且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。因此信息摘要保证了消息的完整性、一致性和唯一性。
对恶意代码的PE文件进行检测,将检测结果进行处理后,结合恶意代码家族命名策略,形成区分恶意代码家族的基准标注。
本步骤中,采用Virustotal检测方法对恶意代码PE文件进行检测。
需要说明的是,Virustotal提供的恶意代码检测程序多达47个,
检测结果包含:反恶意代码antivirus部分及其对应的结果Result部分。
假设恶意代码为md5值为5d87d1f73a15c2083bc1f6f798e6e132.exe,则Virustotal的返回的检测结果为:Kaspersky:Trojan-Spy.Win32.Zbot.bfgu,McAfee:PWS-Zbot.gen.ds;AVG:PSW.Generic8.BBWC等47个结果。
进一步地,对检测结果进行处理具体包括:
对检测结果进行预处理;预处理包括:分隔符替换、特殊符号移除、简写补全等进行处理。
对预处理的信息根据导入的词表文件进行分词处理;这里,导入的词表文件为本领域技术人员进行分词处理常用的词表文件,其导入方式也是常规的技术手段。
根据分词处理的结果进行词频统计处理,以进一步进行投票处理。
统计检测结果中的特别关键词(例如Trojan、Spy、Win32、Zbot)出现的频度,过滤掉非关键词。
进一步地,投票处理是指,对词频统计的结果进行分析,过滤掉低频词,对高频词根据词频由大到小进行排序。例如,投票单元的输入为PWS:3、Trojan:17、Spy:12、Zbot:2等,经过投票,其本质就是词频从大到小的排序,得出Trojan:17、Zbot:14、Win32:12、Spy:12、PWS:3等。投票结果结合恶意代码家族命名策略,进行基准标注。
恶意代码的命名策略包括:行业命名规范、公司命名规范、个性化命名规范等。以行业命名规范为例:一般格式为:<恶意代码前缀>.<恶意代码名>.<恶意代码后缀>,<恶意代码前缀>是指一个恶意代码的种类,它是用来区别恶意代码的种族分类的。不同种类的恶意代码,其前缀也是不同的。比如常见的木马恶意代码的前缀Trojan,蠕虫恶意代码的前缀是Worm等。<恶意代码名>是指一个恶意代码的家族特征,是用来区别和标识恶意代码家族的,如以前著名的CIH恶意代码的家族名都是统一的“CIH”,振荡波蠕虫恶意代码的家族名是“Sasser”。<恶意代码后缀>是指一个恶意代码的变种特征,是用来区别具体某个家族恶意代码的某个变种的。一般都采用英文字母来表示,如Worm.Sasser.b就是指振荡波蠕虫的变种B,因此一般称为“振荡波变种B”。而通常情况下,恶意代码前缀可能有多个,例如Trojan.Win32.Spy,这三个标注名都算是恶意代码前缀。恶意代码家族命名策略模块是为基准标注命名模块提供命名策略,为个性化命名提供灵活的接口。
根据投票结果和恶意代码的命名策略对恶意代码进行基准标注。基准标注可以根据投票结果进行Trojan:17、Zbot:14、Win32:12、Spy:12、PWS:3等,恶意代码md5值为5d87d1f73a15c2083bc1f6f798e6e132.exe的的基准标注为:Trojan.Zbot.Win32.Spy。
将恶意代码的PE文件映射为纹理图像文件,并从纹理图像文件获取恶意代码的纹理特征。
使用B2M算法将恶意代码PE文件中的每个恶意代码二进制执行文件映射为无损压缩格式的纹理图像文件(例如PNG格式,GIF格式,BMP格式等);
这里,使用B2M算法将恶意代码的PE文件映射为无损压缩格式的灰度图像文件(例如PNG格式,GIF格式,BMP格式等),以使用BMP格式的灰度图像为例。具体流程如下:对于给定的恶意代码可执行文件,即二进制文件,读取8位为一个无符号的整形(范围为0~255),固定的行宽为一个向量,整个文件最后生成一个二维数组,也称之为灰度矩阵。由于此数组中每个元素的范围都是取值为[0,255](0表示黑色,255表示白色),将此数组可视化为一个灰阶图像,图像的宽度和高度取决于文件大小。
从纹理图像文件获取恶意代码的纹理特征为:从纹理图像文件中进行特征提取,并进行归一化处理后,作为恶意代码的纹理特征。
特征提取包括:使用灰度共生矩阵方法(GLCM);或GIST方法进行图像纹理特征提取;或傅里叶变换方法;或LBP方法。
以GLCM为例,特征提取过程为:首先对于一幅图像定义一个方向和一个以像素为单位的步长,灰度共生矩阵T(N×N),则定义M(i,j)为灰度级为i和j的像素同时出现在一个点和沿所定义的方向跨度步长的点上的频率。其中N是灰度级划分数目。由于共生矩阵有方向和步长的组合定义,而决定频率的一个因素是对矩阵有贡献的像素数目,而这个数目要比总共数目少,且随着步长的增加而减少。为了能更直观地以GLCM描述纹理状况,从GLCM中导出一些反映矩阵状况的参数,典型的有:能量(ASM)、对比度(CON)、相关(COR)、熵(Entropy)、逆差距(Homogeneity)、反差(Contrast)、差异性(Dissimilarity)、二阶距(Angular Second Moment)、自相关(Correlation)等;本实施例采用能量、对比度、熵、逆差距、相关的均值和标准差作为最终6维纹理特征,但本发明不局限与使用这6维特征。
归一化处理包括:使用高斯归一化算法对纹理特征进行归一化的处理。
归一化处理的主要作用是纹理特征的各维度归一化,减少某些特征的影响被放大而某些特征的影响被忽略的情形。使用高斯归一化算法对灰度图像纹理特征向量进行归一化处理,归一化后的10维纹理特征向量作为恶意代码纹理指纹。
高斯归一化算法过程如下,对于n维特征向量ν(n)=[ν1,ν2......νn],计算出特征值向量的均值μn和方差σn,然后可将νn归一化至[-1,1]区间,从而得到归一化的其中,上标N代表归一化。归一化后,各个分量均转变成具有N(0,1)分布的ν(N)。用ξσi进行归一化,则ν(N)的值落在[-1,1]区间的概率将可达99%以上,当ν(N)中的值大于1时默认为1,小于-1时默认为-1。
根据基准标注及信息摘要签名,将属于同一恶意代码家族的纹理特征生成相应的纹理特征集合;
建立位置敏感哈希函数族,将恶意代码的纹理特征集合映射到与哈希函数对应的哈希表的哈希桶中,以生成第一聚类簇;
进一步地,建立位置敏感哈希函数族,从中选择k个位置敏感哈希函数,其中,k为自然数;分别使用k个位置敏感哈希函数对该恶意软件的内容指纹向量进行哈希操作,得到k个哈希值,构成k维的哈希桶地址。将恶意代码纹理特征映射为位置敏感桶标识(k维的位置敏感哈希值),并将恶意软件二进制可执行文件的信息摘要签名、纹理特征和映射在哈希函数对应的哈希表的哈希桶中,以生成第一聚类簇。
将第一聚类簇按照共享的纹理特征进行合并,生成第二聚类簇,对第二聚类簇结合信息摘要签名及恶意代码家族深度命名进行深度标注。
本步骤中,恶意代码家族深度命名包括:基准标注、聚类簇ID、聚类簇规模、聚类簇比例。
如
Trojan.Spy.Win32.Zbot.clus.1.dens.28-5d87d1f73a15c2083bc1f6f798e6e132。
进一步地,聚类簇ID、聚类簇规模由对第一聚类簇按照合并规则进行聚类形成第二聚类簇时生成。
聚类簇比例为当前聚类簇占基准标注后的恶意代码的比例。
进行基本标注后,本发明方法还包括:对基准标记结果作为恶意代码的描述信息存储到恶意代码的语料库中。
进行深度标注后,本发明方法还包括;将深度标注的结果与消息摘要标签结合作为恶意代码的基准标签。
以Trojan_PSW_191为例说明深度标注。对于恶意代码PE文件,基准标注服务器处理后生成多个恶意代码家族的基准标注,例如Trojan_PSW家族包含191个恶意代码样本,命名为Trojan_PSW_191。纹理特征提取模块处理Trojan_PSW_191样本集,即经过B2M算法、GLCM特征提取和高斯归一化后生成纹理特征向量集。根据基准标注及信息摘要签名,将属于同一恶意代码家族的纹理特征生成相应的纹理特征集合后,通过建立位置敏感哈希函数族,将恶意代码的纹理特征集合映射到与哈希函数对应的哈希表的哈希桶中,以生成Trojan_PSW_191第一聚类簇;将第一聚类簇按照共享的纹理特征进行合并,生成第二聚类簇,对第二聚类簇结合信息摘要签名及恶意代码家族深度命名进行深度标注。根据恶意代码PE样本在GLCM纹理特征排除离群点的干扰,聚类簇的个数为7个,每个簇的规模分别为45、34、27、24、20、16、11,其余14个样本为离群点,即这些离群点样本在纹理特征与其他7个不相似。
本步骤中,恶意代码家族深度命名包括:基准标注、聚类簇ID、聚类簇规模、聚类簇比例。聚类簇ID、聚类簇规模由对第一聚类簇按照合并规则进行聚类形成第二聚类簇时生成。
聚类簇比例为当前聚类簇占基准标注后的恶意代码的比例,其形式化描述为Cluster density=Nci/N,其中n为聚类簇个数(离群点集合算做一个离群簇)。恶意代码家族深度命名包括:基准标注、聚类簇ID、聚类簇规模、聚类簇比例。深度标注这7个聚类簇的结果分别为Trojan.PSW.clus.1.dens.24、Trojan.PSW.clus.2.dens.18、Trojan.PSW.clus.3.dens.14,Trojan.PSW.clus.1.dens.13、Trojan.PSW.clus.2.dens.10、Trojan.PSW.clus.3.dens.8、Trojan.PSW.clus.3.dens.6,其余为离群点,标记为Trojan.PSW.clus.other.dens.7。
将深度标注的结果与消息摘要标签结合作为恶意代码的基准标签。在技术应用中,一般将标注结果提供给用户。
本实施从根据基准标注及信息摘要签名,将属于同一恶意代码家族的纹理特征生成相应的纹理特征集合到形成第二聚类簇为本发明构建的深度标记的核心算法,可以称为近邻增量聚类算法,以下以近邻增量聚类算法的一个详细的流程来对该部分进行详细说明。
具体的,以基于p-stable LSH提出基于p-stable分布的LSH近邻增量聚类算法,ICPLSH算法描述如下:
Step0:纹理特征集合P,p为集合中的一个元素,即p∈P,假设PE文件的纹理特征集合中P中的每个袁术p都是一个独立的第一聚类簇;
Step1:使用p-stable位置敏感哈希函数族,包含l个p-stable LSH函数(哈希函数);
Step2:对于纹理特征p∈P,l个哈希值被计算,通过位置敏感哈希函数hi(p),纹理特征p被存储在第i个哈希函数表中。如果相应的哈希桶中已经存在一个纹理特征元素,即两个纹理特征为一个第一聚类簇,则不进行插入操作;
Step3:对于纹理特征p∈P,令N(p)表示哈希表中与p在相同哈希桶中的纹理特征的集合。计算纹理特征p与N(p)中纹理特征之间的距离,若存在距离小于r的聚类簇,则p与聚类簇N(p)合并。否则,形成第一聚类簇;
Step4:对于l个哈希表,合并包含p的聚类簇形成第二聚类簇;
Step5:重复Step2到Step4,直到没有新的纹理特征到来。
在Step2中,属于相同第一聚类簇的纹理特征被要求不能放到同一个哈希桶中,这个特性避免了由于过多的点落在哈希桶中导致哈希性能下降。同时,每个聚类簇中的每一个纹理特征仅仅被允许放在一个哈希桶中。因此,对于每个纹理特征,算法仅仅需要最多检测l个哈希桶。在步骤3中,算法会移除纹理特征之间距离大于r的纹理特征。步骤4负责合并相关的第一聚类簇。图3为本发明实现恶意代码标注的实施例中合并生成第二聚类簇的示意图,如图3所示,为第一聚类簇合并为第二聚类簇的过程。图中,恶意代码A和恶意代码B、恶意代码B和恶意代码C、恶意代码C和恶意代码D形成三个第一聚类簇,按照合并规则进行合并,即以上四个聚类合成一个第二的聚类簇。由于ICPLSH算法所采用的合并规则,决定了该算法能够生成各种形状的聚类簇,而且可以进行增量聚类。
虽然本申请所揭露的实施方式如上,但所述的内容仅为便于理解本申请而采用的实施方式,并非用以限定本申请。任何本申请所属领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (44)
1.一种实现恶意代码标注的方法,其特征在于,包括:
将恶意代码的可移植的执行体PE文件进行处理,获取恶意代码的信息摘要签名和基准标注和纹理特征;
根据基准标注及信息摘要签名,将属于同一恶意代码家族的纹理特征生成相应的纹理特征集合;
根据纹理特征集合生成第一聚类簇,将第一聚类簇进行合并以生成第二聚类簇,结合信息摘要签名及恶意代码家族深度命名对第二聚类簇进行深度标注。
2.根据权利要求1所述的方法,其特征在于,所述将恶意代码的PE文件进行处理,获取恶意代码的信息摘要签名和基准标注和纹理特征包括:
采用信息摘要算法获取恶意代码的PE文件中的各恶意代码的信息摘要作为恶意代码的信息摘要签名;
对恶意代码的PE文件进行检测,将检测结果进行处理后,结合恶意代码家族命名策略,形成区分恶意代码家族的基准标注;
将恶意代码的PE文件映射为纹理图像文件,并从纹理图像文件获取恶意代码的纹理特征。
3.根据权利要求1所述的方法,其特征在于,所述根据纹理特征集合生成第一聚类簇包括:
建立位置敏感哈希函数族,将恶意代码的纹理特征集合映射到与哈希函数对应的哈希表的哈希桶中,以生成第一聚类簇。
4.根据权利要求1所述的方法,其特征在于,所述将第一聚类簇进行合并以生成第二聚类簇为:将第一聚类簇按照共享的纹理特征进行合并,生成第二聚类簇。
5.根据权利要求2所述的方法,其特征在于,所述信息摘要算法为以下任一种:消息摘要算法第五版MD5、或安全散列算法SHA、或消息认证码算法MAC、或CRC32、或SHA1、或SHA256、或SHA384、或SHA512。
6.根据权利要求2所述的方法,其特征在于,所述对恶意代码PE文件进行检测为:使用Virustotal检测方法对恶意代码PE文件进行检测。
7.根据权利要求2所述的方法,其特征在于,所述对检测结果进行处理具体包括:
对检测结果进行预处理;
对预处理的信息根据导入的词表文件进行分词处理;
根据分词处理的结果进行词频统计处理,以进一步进行投票处理获得投票结果。
8.根据权利要求2或7所述的方法,其特征在于,所述检测结果包含:反恶意代码antivirus部分及其对应的结果Result部分。
9.根据权利要求8所述的方法,其特征在于,所述预处理至少包括:分隔符替换、和特殊符号移除、和简写补全。
10.根据权利要求8所述的方法,其特征在于,所述词频统计为:对分词处理后的关键词进行频度统计,对非关键词进行过滤。
11.根据权利要求10所述的方法,其特征在于,所述进行投票处理包括:根据词频统计处理对关键词中低频词进行过滤,对高频词进行由大到小排序。
12.根据权利要求2所述的方法,其特征在于,所述恶意代码命名策略包括:行业命名规范、公司命名规范和个性化命名规范。
13.根据权利要求2所述的方法,其特征在于,所述从纹理图像文件获取恶意代码的纹理特征为:从所述纹理图像文件中进行特征提取,并对提取的纹理特征进行归一化处理后,得到恶意代码的纹理特征。
14.根据权利要求2所述的方法,其特征在于,所述将恶意代码PE文件映射为纹理图像文件为:将所述恶意代码PE文件的每个恶意代码使用二进制映射为图像B2M算法映射为无损压缩格式的纹理图像文件。
15.根据权利要求2所述的方法,其特征在于,所述纹理图像文件为:PNG格式,或GIF格式,或BMP格式。
16.根据权利要求13所述的方法,其特征在于,所述特征提取包括:使用灰度共生矩阵方法;或GIST方法;或傅里叶变换方法;或局部二值模式LBP方法进行纹理图像文件的特征提取。
17.根据权利要求13所述的方法,其特征在于,所述归一化处理包括:使用高斯归一化算法对纹理特征进行归一化的处理。
18.根据权利要求3所述的方法,其特征在于,所述建立位置敏感哈希函数族,将所述恶意代码的纹理特征映射到与哈希函数对应的哈希表的哈希桶中,以生成第一聚类簇包括:建立位置敏感哈希函数族,从中选择K个位置敏感的哈希函数,分别使用K个位置敏感哈希函数对同一恶意代码家族的纹理特征进行哈希操作,得到K个哈希值以构成K维的哈希桶地址,将纹理特征映射于哈希桶地址中,以生成第一类聚类簇;
所述K为自然数。
19.根据权利要求4所述的方法,其特征在于,在将第一聚类簇按照共享的纹理特征进行合并,生成第二聚类簇时,该方法还包括:生成第二聚类簇时还生成聚类簇ID、聚类簇规模。
20.根据权利要求1所述的方法,其特征在于,所述恶意代码家族深度命名包括:基准标注、聚类簇ID、聚类簇规模、聚类簇比例;
所述,聚类簇比例为当前聚类簇占基准标注后的恶意代码的比例。
21.根据权利要求1所述的方法,其特征在于,所述基本标注后,该方法还包括:对所述基准标记结果作为恶意代码的描述信息存储到恶意代码的语料库中。
22.根据权利要求1所述的方法,其特征在于,所述进行深度标注后,该方法还包括;将深度标注的结果与消息摘要标签结合作为恶意代码的基准标签。
23.一种实现恶意代码标注的系统,其特征在于,包括:文件处理单元、特征集合单元、深度标注单元;其中,
文件处理单元,用于将恶意代码的可移植的执行体PE文件进行处理,获取恶意代码的信息摘要签名和基准标注和纹理特征;
特征集合单元,用于根据文件处理单元的基准标注及信息摘要签名,将属于同一恶意代码家族的纹理特征生成相应的纹理特征集合;
深度标注单元,用于根据纹理特征集合生成第一聚类簇,将第一聚类簇进行合并以生成第二聚类簇,结合信息摘要签名及恶意代码家族深度命名对第二聚类簇进行深度标注。
24.根据权利要求23所述的系统,其特征在于,所述文件处理单元包括信息摘要模块、基准标注模块和纹理特征模块;其中,
信息摘要模块,用于采用信息摘要算法获取恶意代码的PE文件中的各恶意代码的信息摘要作为恶意代码的信息摘要签名;
基准标注模块,用于对恶意代码的PE文件进行检测,将检测结果进行处理后,结合恶意代码家族命名策略,形成区分恶意代码家族的基准标注;
纹理特征模块,用于将恶意代码的PE文件映射为纹理图像文件,并从纹理图像文件获取恶意代码的纹理特征。
25.根据权利要求23所述的系统,其特征在于,所述深度标注单元包含第一聚类模块、第二聚类模块和深度标注模块;其中,
第一聚类模块,用于建立位置敏感哈希函数族,将恶意代码的纹理特征集合映射到与哈希函数对应的哈希表的哈希桶中,以生成第一聚类簇;
第二聚类模块,用于将第一聚类簇进行合并以生成第二聚类簇;
深度标注模块,用于结合信息摘要签名及恶意代码家族深度命名对第二聚类簇进行深度标注。
26.根据权利要求23所述的系统,其特征在于,所述深度标注单元包含第一聚类模块、第二聚类模块和深度标注模块;其中,
第一聚类模块,用于根据纹理特征集合生成第一聚类簇;
第二聚类模块,用于将第一聚类簇按照共享的纹理特征进行合并,生成第二聚类簇;
深度标注模块,用于结合信息摘要签名及恶意代码家族深度命名对第二聚类簇进行深度标注。
27.根据权利要求24所述的系统,其特征在于,所述信息摘要算法为以下任一种:消息摘要算法第五版MD5、或安全散列算法SHA、或消息认证码算法MAC、或CRC32、或SHA1、或SHA256、或SHA384、或SHA512。
28.根据权利要求24所述的系统,其特征在于,所述基准标注模块包含检测子模块、处理子模块和基准标注子模块;其中,
检测子模块,用于使用Virustotal检测方法对恶意代码PE文件进行检测;
处理子模块,用于将检测子模块的检测结果进行处理;
基准标注子模块,用于将检测结果进行处理后,结合恶意代码家族命名策略,形成区分恶意代码家族的基准标注。
29.根据权利要求24所述的系统,其特征在于,所述基准标注模块包含检测子模块、处理子模块和基准标注子模块;其中,
检测子模块,用于对恶意代码的PE文件进行检测;
处理子模块,用于将检测子模块的检测结果进行预处理;对预处理的信息根据导入的词表文件进行分词处理;根据分词处理的结果进行词频统计处理,以进一步进行投票处理获得投票结果;
基准标注子模块,用于将检测结果进行处理后,结合恶意代码家族命名策略,形成区分恶意代码家族的基准标注。
30.根据权利要求24或29所述的系统,所述检测结果包含:反恶意代码antivirus部分及其对应的结果Result部分。
31.根据权利要求30所述的系统,其特征在于,所述预处理至少包括:分隔符替换、和特殊符号移除、和简写补全。
32.根据权利要求30所述的系统,其特征在于,所述词频统计为:对分词处理后的关键词进行频度统计,对非关键词进行过滤。
33.根据权利要求32所述的系统,其特征在于,所述进行投票处理包括:根据词频统计处理对关键词中低频词进行过滤,对高频词进行由大到小排序。
34.根据权利要求24所述的系统,其特征在于,所述恶意代码命名策略包括:行业命名规范、公司命名规范和个性化命名规范。
35.根据权利要求24所述的系统,其特征在于,所述纹理特征模块包含映射子模块和特征提取子模块;其中,
映射子模块,用于将所述恶意代码PE文件的每个恶意代码使用二进制映射为图像B2M算法映射为无损压缩格式的纹理图像文件;
特征提取子模块,用于从纹理图像文件获取恶意代码的纹理特征。
36.根据权利要求24所述的系统,其特征在于,所述纹理特征模块包含映射子模块和特征提取子模块;其中,
映射子模块,用于将恶意代码的PE文件映射为纹理图像文件;
特征提取子模块,用于从所述纹理图像文件中进行特征提取,并对提取的纹理特征进行归一化处理后,得到恶意代码的纹理特征。
37.根据权利要求24所述的系统,其特征在于,所述纹理图像文件为:PNG格式,或GIF格式,或BMP格式。
38.根据权利要求35所述的系统,其特征在于,所述特征提取包括:使用灰度共生矩阵方法;或GIST方法;或傅里叶变换方法;或局部二值模式LBP方法进行纹理图像文件的特征提取。
39.根据权利要求35所述的系统,其特征在于,所述归一化处理包括:使用高斯归一化算法对纹理特征进行归一化的处理。
40.根据权利要求25所述的系统,其特征在于,所述第一聚类模块具体用于,建立位置敏感哈希函数族,从中选择K个位置敏感的哈希函数,分别使用K个位置敏感哈希函数对同一恶意代码家族的纹理特征进行哈希操作,得到K个哈希值以构成K维的哈希桶地址,将纹理特征映射于哈希桶地址中,以生成第一类聚类簇;
所述K为自然数。
41.根据权利要求26所述的系统,其特征在于,所述深度标注单元,还用于在将第一聚类簇按照共享的纹理特征进行合并,生成第二聚类簇时,生成第二聚类簇时还生成聚类簇ID、聚类簇规模。
42.根据权利要求23所述的系统,其特征在于,所述恶意代码家族深度命名包括:基准标注、聚类簇ID、聚类簇规模、聚类簇比例;
所述,聚类簇比例为当前聚类簇占基准标注后的恶意代码的比例。
43.根据权利要求23所述的系统,其特征在于,该系统还包括存储单元,用于在所述基本标注后,将所述基准标记结果作为恶意代码的描述信息存储到恶意代码的语料库中。
44.根据权利要求23所述的系统,其特征在于,该系统还包括基准标签单元,用于当所述进行深度标注后,将深度标注的结果与消息摘要标签结合作为恶意代码的基准标签。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410142940.4A CN104978521B (zh) | 2014-04-10 | 2014-04-10 | 一种实现恶意代码标注的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410142940.4A CN104978521B (zh) | 2014-04-10 | 2014-04-10 | 一种实现恶意代码标注的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104978521A true CN104978521A (zh) | 2015-10-14 |
CN104978521B CN104978521B (zh) | 2018-05-08 |
Family
ID=54275015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410142940.4A Expired - Fee Related CN104978521B (zh) | 2014-04-10 | 2014-04-10 | 一种实现恶意代码标注的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104978521B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106096411A (zh) * | 2016-06-08 | 2016-11-09 | 浙江工业大学 | 一种基于字节码图像聚类的Android恶意代码家族分类方法 |
CN107092829A (zh) * | 2017-04-21 | 2017-08-25 | 中国人民解放军国防科学技术大学 | 一种基于图像匹配的恶意代码检测方法 |
CN107392019A (zh) * | 2017-07-05 | 2017-11-24 | 北京金睛云华科技有限公司 | 一种恶意代码家族的训练和检测方法及装置 |
CN107463843A (zh) * | 2016-06-02 | 2017-12-12 | 重庆达特科技有限公司 | 恶意代码降噪大数据检测系统 |
CN108874540A (zh) * | 2018-06-04 | 2018-11-23 | 北京云鸟科技有限公司 | 一种面向cpu密集型的vrp云服务系统的请求处理方法和系统 |
CN109190653A (zh) * | 2018-07-09 | 2019-01-11 | 四川大学 | 基于半监督密度聚类的恶意代码家族同源性分析技术 |
CN109784050A (zh) * | 2018-12-28 | 2019-05-21 | 深圳竹云科技有限公司 | 一种基于多特征的恶意代码家族静态标注方法 |
CN111259396A (zh) * | 2020-02-01 | 2020-06-09 | 贵州师范学院 | 一种基于深度学习卷积神经网络的计算机病毒检测方法及深度学习神经网络的压缩方法 |
CN111666258A (zh) * | 2019-03-06 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 信息处理方法和装置、信息查询方法和装置 |
CN111783899A (zh) * | 2020-07-10 | 2020-10-16 | 安徽启新明智科技有限公司 | 一种自主学习识别新型违禁品的方法 |
CN107515937B (zh) * | 2017-08-29 | 2020-10-27 | 千寻位置网络有限公司 | 差分账户的归类方法及系统、服务终端、存储器 |
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 CN201410142940.4A patent/CN104978521B/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 (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463843A (zh) * | 2016-06-02 | 2017-12-12 | 重庆达特科技有限公司 | 恶意代码降噪大数据检测系统 |
CN106096411A (zh) * | 2016-06-08 | 2016-11-09 | 浙江工业大学 | 一种基于字节码图像聚类的Android恶意代码家族分类方法 |
CN106096411B (zh) * | 2016-06-08 | 2018-09-18 | 浙江工业大学 | 一种基于字节码图像聚类的Android恶意代码家族分类方法 |
CN107092829B (zh) * | 2017-04-21 | 2020-03-17 | 中国人民解放军国防科学技术大学 | 一种基于图像匹配的恶意代码检测方法 |
CN107092829A (zh) * | 2017-04-21 | 2017-08-25 | 中国人民解放军国防科学技术大学 | 一种基于图像匹配的恶意代码检测方法 |
CN107392019A (zh) * | 2017-07-05 | 2017-11-24 | 北京金睛云华科技有限公司 | 一种恶意代码家族的训练和检测方法及装置 |
CN107515937B (zh) * | 2017-08-29 | 2020-10-27 | 千寻位置网络有限公司 | 差分账户的归类方法及系统、服务终端、存储器 |
CN108874540A (zh) * | 2018-06-04 | 2018-11-23 | 北京云鸟科技有限公司 | 一种面向cpu密集型的vrp云服务系统的请求处理方法和系统 |
CN109190653A (zh) * | 2018-07-09 | 2019-01-11 | 四川大学 | 基于半监督密度聚类的恶意代码家族同源性分析技术 |
CN109190653B (zh) * | 2018-07-09 | 2020-06-05 | 四川大学 | 基于半监督密度聚类的恶意代码家族同源性分析方法 |
CN109784050A (zh) * | 2018-12-28 | 2019-05-21 | 深圳竹云科技有限公司 | 一种基于多特征的恶意代码家族静态标注方法 |
CN111666258A (zh) * | 2019-03-06 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 信息处理方法和装置、信息查询方法和装置 |
CN111666258B (zh) * | 2019-03-06 | 2024-02-06 | 腾讯科技(深圳)有限公司 | 信息处理方法和装置、信息查询方法和装置 |
CN111259396A (zh) * | 2020-02-01 | 2020-06-09 | 贵州师范学院 | 一种基于深度学习卷积神经网络的计算机病毒检测方法及深度学习神经网络的压缩方法 |
CN111783899A (zh) * | 2020-07-10 | 2020-10-16 | 安徽启新明智科技有限公司 | 一种自主学习识别新型违禁品的方法 |
CN111783899B (zh) * | 2020-07-10 | 2023-08-15 | 安徽启新明智科技有限公司 | 一种自主学习识别新型违禁品的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104978521B (zh) | 2018-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104978521A (zh) | 一种实现恶意代码标注的方法及系统 | |
CN109359439B (zh) | 软件检测方法、装置、设备及存储介质 | |
KR101337874B1 (ko) | 파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템 | |
US20140068768A1 (en) | Apparatus and Method for Identifying Related Code Variants in Binaries | |
US9514312B1 (en) | Low-memory footprint fingerprinting and indexing for efficiently measuring document similarity and containment | |
CN109983464B (zh) | 检测恶意脚本 | |
US10454967B1 (en) | Clustering computer security attacks by threat actor based on attack features | |
JP2012027710A (ja) | ソフトウェア検出方法及び装置及びプログラム | |
CN111259397B (zh) | 一种基于马尔科夫图和深度学习的恶意软件分类方法 | |
US10255436B2 (en) | Creating rules describing malicious files based on file properties | |
US20220004621A1 (en) | Data recovery through reversal of hash values using probabilistic data structures | |
CN112329012A (zh) | 针对包含JavaScript的恶意PDF文档的检测方法及电子设备 | |
US10146740B1 (en) | Sparse data set processing | |
CN101989322B (zh) | 自动提取恶意代码内存特征的方法和系统 | |
CN111083307A (zh) | 一种基于隐写术的文件检测和破解方法 | |
CN108229168B (zh) | 一种嵌套类文件的启发式检测方法、系统及存储介质 | |
CN110865982A (zh) | 一种数据匹配方法、装置、电子设备及存储介质 | |
KR20230084584A (ko) | 코드 유사성 검색 | |
CN106156615A (zh) | 基于类可分性判距的旁路区分器方法及系统 | |
JP6395986B2 (ja) | 鍵生成源特定装置、鍵生成源特定方法及び鍵生成源特定プログラム | |
CN109919180B (zh) | 电子装置、用户操作记录数据的处理方法和存储介质 | |
US11647046B2 (en) | Fuzzy inclusion based impersonation detection | |
CN114417102A (zh) | 文本去重方法、装置和电子设备 | |
Göbel et al. | Evaluation of network traffic analysis using approximate matching algorithms | |
CN113992625A (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 |
Granted publication date: 20180508 |
|
CF01 | Termination of patent right due to non-payment of annual fee |