CN101604363B - 基于文件指令频度的计算机恶意程序分类***及分类方法 - Google Patents

基于文件指令频度的计算机恶意程序分类***及分类方法 Download PDF

Info

Publication number
CN101604363B
CN101604363B CN2009100409968A CN200910040996A CN101604363B CN 101604363 B CN101604363 B CN 101604363B CN 2009100409968 A CN2009100409968 A CN 2009100409968A CN 200910040996 A CN200910040996 A CN 200910040996A CN 101604363 B CN101604363 B CN 101604363B
Authority
CN
China
Prior art keywords
sample
family
rogue program
instruction
central point
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
CN2009100409968A
Other languages
English (en)
Other versions
CN101604363A (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 Kingsoft Internet Security Software Co Ltd
Original Assignee
Zhuhai Kingsoft Software 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 Zhuhai Kingsoft Software Co Ltd filed Critical Zhuhai Kingsoft Software Co Ltd
Priority to CN2009100409968A priority Critical patent/CN101604363B/zh
Publication of CN101604363A publication Critical patent/CN101604363A/zh
Application granted granted Critical
Publication of CN101604363B publication Critical patent/CN101604363B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明涉及基于文件指令频度的计算机恶意程序分类***及其方法。基于文件指令频度的计算机恶意程序分类***,包括:指令频度特征提取模块,构造指令频度向量来表征恶意程序样本,并存储于恶意程序特征库中;恶意程序特征库,其用于存储以指令频度向量来表征的所有恶意程序样本;样本差异度度量模块,其通过计算两个样本指令频度向量之间夹角来衡量样本之间的差异度;恶意程序样本家族划分模块,其将恶意程序特征库中所有恶意程序样本逐层分家族;聚类质量评估模块,其对每层分家族的结果进行有效性度量,并选择最小的FS指标值,将其对应的划分结果作为最终结果。该装置可实现自动对恶意程序样本进行合理分类。

Description

基于文件指令频度的计算机恶意程序分类***及分类方法
技术领域
本发明涉及计算机反恶意程序类软件领域,尤其涉及一种基于文件指令频度的计算机恶意程序分类***及其方法。
背景技术
目前,计算机反恶意程序软件对恶意程序处理的基本原理是:从互联网及客户端收集的海量样本中,鉴别出所有的恶意程序,并将鉴别出来的恶意程序,按照恶意程序的特点进行分类(即分成不同的恶意程序家族);然后对同家族的恶意程序,分析并提取其“通杀”特征;剩余无法提取“通杀”特征的样本提取“自动”特征,生成相应的恶意程序特征库。根据所生成的恶意程序特征库,计算机反恶意程序软件扫描客户端计算机中的文件,并判断每个文件是否与特征库中的恶意程序特征相匹配,如果匹配则为恶意程序。这里,“同家族恶意程序”指传播途径、功能、内容或行为相同或相近的恶意程序集合;“通杀”特征指能够匹配同家族所有恶意程序的特征;“自动”特征指匹配单一恶意程序的二进制特征。通常,一个“通杀”特征能查杀的恶意程序要远高于一个“自动”特征所能匹配的恶意程序。
随着计算机技术的发展和软件的多样性,恶意代码的数量急剧增长,恶意代码的种类也呈现多样化发展的态势。但是,这些新出现的恶意代码并不是完全没有共性:有部分恶意程序是在原有代码基础上修改生成的,病毒作者根据原有恶意程序的源代码,为了绕过反恶意程序软件的查杀(即“免杀”),在其基础上做出了一定的修改;而且这些新生成的恶意程序之间也是具有共性的。如果能将恶意程序快速、准确地进行分类(分家族),将极大地提高计算机反恶意程序软件处理这些新恶意程序的效率,从而缩短对新恶意程序的处理时间,同时有利于提高每个特征的查杀能力,从而缩小恶意特征库的大小。
对于计算机反恶意程序软件厂商收集到的大量恶意程序样本,不同的反恶意程序软件给出的分类结果各不相同,命名规则也没有统一的标准,即使名称相同也不一定是同一个家族的样本,因此分类效果不尽人意。而依靠人工对收集到的海量恶意程序样本逐一归类,已不可能。近年来,数据挖掘技术的不断发展在一定程度上解决了人们处理海量数据的难题。数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。而聚类算法是数据挖掘领域研究最广泛的问题之一。聚类分析是把数据按照相似性归纳成若干类别,同一类中的数据彼此相似,而不同类中的数据相异。把数据挖掘技术中的聚类算法应用于计算机反恶意程序类软件中,可以自动地把具有共性的同家族恶意程序分成一类,同时把差异较大的恶意程序区分开来。
发明内容
本发明克服了现有技术中的不足,本发明提出了一种基于文件指令频度的计算机恶意程序分类***。
本发明的第二目的是提供一种使用上述***对计算机恶意程序分类的方法。
为了实现上述第一目的,本发明采用如下技术方案:
一种基于文件指令频度的计算机恶意程序分类***,包括:
指令频度特征提取模块,其首先解析恶意程序代码的所有指令,并通过计算每个指令在恶意程序样本中所出现的频率TF与逆向样本频率IDF,对恶意程序样本集中出现的指令进行加权,从而构造指令频度向量来表征恶意程序样本,并存储于恶意程序特征库中;
恶意程序特征库,其用于存储以指令频度向量来表征的所有恶意程序样本;
样本差异度度量模块,其采用Cosine余弦度量方法,通过计算两个样本指令频度向量之间夹角来衡量样本之间的差异度;
恶意程序样本家族划分模块,其将恶意程序特征库中所有N个恶意程序样本从分成N个家族开始,逐次分成N-1个家族、N-2个家族,依次类推,直至最后将所有N个恶意程序样本分成一个家族或者直到分成预先设定好的家族数;
聚类质量评估模块,其对恶意程序样本家族划分模块每层分家族的结果采用FS指标值进行有效性度量,并选择最小的FS指标值,将其对应的划分结果作为最终结果。
为了实现上述第二目的,本发明采用如下技术方案:
使用上述基于文件指令频度的计算机恶意程序分类***进行分类的方法,包括如下过程:
第一、恶意程序特征库生成:
指令频度特征提取模块首先解析恶意程序代码的所有指令,并统计每个指令在恶意程序样本中所出现的频度,采用指令在恶意程序样本中出现的频率TF与逆向样本频率IDF对恶意程序样本集中出现的指令进行加权,从而构造指令频度向量来表征恶意程序样本,并存储于恶意程序特征库中;
第二、距离矩阵的计算:
然后采用公式(4)的Cosine距离度量方法计算每两个样本特征的距离,构造一个距离矩阵D,其中,两个样本xi和xj的Cosine距离定义如下:
S ij = x i T x j | x i | | x j | ---公式(4)
其中,分子表示两个样本特征向量的内积,分母表示两个样本特征向量长度的乘积。
第三、恶意程序样本逐层分家族并确定分家族结果:
恶意程序样本家族划分模块将恶意程序特征库中所有N个恶意程序样本从分成N个家族开始,逐次分成N-1个家族、N-2个家族,依次类推,直至最后将所有N个恶意程序样本分成一个家族或者直到分成预先设定好的家族数;聚类质量评估模块对每层分家族的结果采用FS指标值进行有效性度量;选择所有FS指标值中最小值,该最小FS指标值所对应的分家族结果即为最后的分家族结果。
本发明提出了一种基于文件指令频度的计算机恶意程序分类***及其方法,其基本原理主要包括:(1)以文件“指令频度”作为恶意程序样本的特征表征。由于同家族恶意程序样本的指令集合具有较高的相似性,本发明首先解析恶意程序代码的所有指令,并统计每个指令在恶意程序样本中所出现的频度,然后采用信息论中相对熵(TF-IDF)的方法对不同的指令进行加权,最终得到一个加权的指令频度向量作为恶意程序样本的特征;(2)基于文件指令频度特征对恶意程序样本进行分类:本发明中采用cosine距离度量方法来计算恶意程序样本间的差异程度(也就是样本间的距离),然后根据本发明所提出的无参混合聚类算法PFHC(Parameter-Free Hybrid Clusteringalgorithm)对病毒样本进行自动分类。
附图说明
附图1为本发明基于文件指令频度的计算机恶意程序分类方法流程图。
具体实施方式
本发明基于文件指令频度的计算机恶意程序分类***主要包括:
指令频度特征提取模块,其首先解析恶意程序代码的所有指令,并统计每个指令在恶意程序样本中所出现的频率TF与逆向样本频率IDF,对恶意程序样本集中出现的指令进行加权,从而构造指令频度向量来表征恶意程序样本,并存储于恶意程序特征库中;
恶意程序特征库,其用于存储以指令频度向量来表征的所有恶意程序样本;
样本差异度度量模块,其采用Cosine余弦度量方法,通过计算两个样本指令频度向量之间夹角来衡量样本之间的差异度;
恶意程序样本家族划分模块,其将恶意程序特征库中所有N个恶意程序样本从分成N个家族开始,逐次分成N-1个家族、N-2个家族,依次类推,直至最后将所有N个恶意程序样本分成一个家族或者直到分成预先设定好的家族数;
聚类质量评估模块,其对恶意程序样本家族划分模块每层分家族的结果采用FS指标值进行有效性度量。
参见图1,本发明基于文件指令频度的计算机恶意程序分类(分家族)方法如下:
第一步:恶意程序特征库的生成:
首先解析恶意程序代码的所有指令,并统计每个指令在恶意程序样本中所出现的频度,然后根据信息论中相对熵(TF-IDF)的概念,本发明采用指令在恶意程序样本中出现的频率TF与逆向样本频率IDF对恶意程序样本集中出现的指令进行加权,从而构造指令频度向量来表征恶意程序样本,并存储于恶意程序特征库中。
指令频率TF,是某一个给定的指令在该样本中出现的频率,对于第j个样本中的指令ti,其TF值定义如下:
TF i , j = n i , j Σ k n k , j ---公式(1)
其中,ni,j是该指令ti在样本j中出现的次数,而分母则是在样本j中所有指令出现的次数之和。
逆向样本频率IDF,是一条指令普遍重要性的度量。一个指令的IDF值,定义如下:
IDF = log | D | | { d : t i ∈ d } | ---公式(2)
其中,|D|表示恶意程序样本集中的样本总数,|{d:ti∈d}|表示包含指令ti的恶意程序样本个数。
本发明采用公式(1)中指令频率TF与公式(2)逆向样本频率IDF的乘积公式(3)来对样本j中的第i个指令ti进行加权:
TFIDFi,j=TFi,j*IDFi——公式(3)
第二步:距离矩阵的计算:
基于第一步生成的恶意程序特征库,本发明采用Cosine距离作为样本特征差异度的度量方式。距离矩阵D是每两个恶意程序样本间的差异程度(即距离),两个样本xi和xj的Cosine距离定义如下:
S ij = x i T x j | x i | | x j | ---公式(4)
其中,分子表示两个样本特征向量的内积,分母表示两个样本特征向量长度的乘积。
第三步:采用无参混合聚类方法PFHC实现对恶意程序样本文件的分家族:
首先介绍聚类有效性的度量方法:为了实现无参聚类,本发明采用FS聚类有效性指标度量每一层分家族结果质量的好坏。好的聚类结果能够尽量地把具有共性的同家族恶意程序分成一类,同时把差异较大的恶意程序区分开;这就要求聚出来的类内部尽可能的紧凑,而类与类之间的距离尽可能的远离。本发明中所采用FS指标(公式(5))是类内紧凑度与类间分离度的差,其值可以用来度量分家族结果的好坏:值越小表明聚类结果越好。
FS = Σ i = 1 c Σ k = 1 n u ki m ( | | x k - v i | | 2 - | | v i - v ‾ | | 2 )
其中,n表示恶意程序样本库的样本个数,c表示分成的类数,vi表示第i家族的中心点,家族的中心点是指距离本家族中所有样本的距离之和最小的样本点,v是恶意程序样本库中全体样本的中心点,即距离全局所有样本的距离之和最小的样本点。||xk-vi||表示第i家族中的样本点xk与该家族中心点vi的距离,||vi-v||表示第i家族的中心点到全局中心点v的距离,ukt m是样本隶属度矩阵:若样本xk属于第i家族,则矩阵中该元素值为1;否则,值为0。
1)聚类过程:将每个恶意程序样本初始化为独立的家族,即从N(N为恶意程序样本库中样本数量)个单独的家族开始,自底向上进行凝聚迭代,直到所有的样本聚合成一个大的家族或者直到分成预先设定好的家族数。其中,第K-1层的迭代优化过程如下:以上一层产生的K个家族为基础,根据公式(4)的距离度量方法选择最相似的两个家族(即家族中心点距离最小的两个家族)合并成新家族,并重新计算合并后新家族的中心点,然后利用K-means的全局优化技术进行迭代,直至所有家族的中心点不再变化,最终将所有恶意程序样本划分为合理的K-1个家族。在每一层迭代结束后,对分家族的结果采用FS指标值进行有效性度量,评估该层的聚类质量。上述K-means的全局优化迭代算法如下:
I)按照该层初始的K-1个中心点,将其余非中心点的样本点根据公式(4)的Cosine距离度量方法计算其与这K-1个中心点的距离,并将这些非中心点的样本点归属到与其距离最近的中心点所在的家族;
II)根据I)划分的结果更新所有家族的中心点:家族i(i=1...K-1)的中心点是与同家族所有样本距离之和最小的样本点(若有多个这样的样本点,则以标号最小的样本点作为该家族的中心点,当然,也可以以标号最大的样本点作为该家族的中心点,只要后续过程中固定这种选取规则即可): c i = min { v t | Σ j = 1 n i | | v t - v j | | 2 } , 其中vt代表家族i的第t个样本,ni表示该家族i的样本个数,
Figure G2009100409968D00082
表示样本vt与同家族所有样本的距离和;
III)检查即求
Figure G2009100409968D00083
的值,其中ci,c′i分别为家族i更新前后的中心点,若值为0,则本次迭代与上一次迭代所有家族的中心点未发生变化,迭代终止;否则,转步I)~步II)。
2)结果输出:在聚类过程1)结束后,通过比较各个层次的FS指标值,找到FS最小值所在的层,其聚类的结果就是最后分家族的结果。
下面通过一个实例介绍上述步骤1)中的聚类过程:
假设恶意程序样本库中总的样本数量为10个,分别为A1、A2…A10。聚类分家族过程共分10层,第10层为10个样本各为一个家族;第9层为分成9个家族,假设A1、A5距离最近,则A1、A5合并为一个家族,其他各样本各为一个家族;第8层为分成8个家族,依次类推,第1层为全部样本分到一个家族。假设第5层的分类结果是第一家族{A1、A2、A5},第二家族{A3、A4},第三家族{A6},第四家族{A7、A9},第五家族{A8、A10},这5个家族的中心点分别为A1、A3、A6、A9和A8。下一次(第4层)的迭代优化过程如下:以第5层产生的5个家族为基础,根据公式(4)的距离度量方法选择最相似的两个家族(即家族中心点距离最小的两个家族),假设A3与A6距离最小,则将第二家族和第三家族合并成新家族{A3、A4、A6},并重新计算合并后新家族的中心点(假设为A4),此时,四个家族分别为第一家族{A1、A2、A5},第二家族{A3、A4、A6},第三家族{A7、A9},第四家族{A8、A10},四个家族的中心点分别为A1、A4、A9和A8,然后利用K-means的全局优化技术进行迭代,即:
I)按照该层初始的四个中心点,将其余非中心点的六个样本点(A2、A3、A5、A6、A7、A10)根据公式(4)的Cosine距离度量方法分别计算其与上述四个中心点的距离,并将这些非中心点的样本点归属到与其距离最近的中心点所在的家族;此时的分家族情况将有所改变,假设A4比A1距离A2更近,则A2被划分到第二家族;A9比A8距离A10更近,则A10就被划分到第三家族;结果是,四个家族分别为第一家族{A1、A5},第二家族{A2、A3、A4、A6},第三家族{A7、A9、A10},第四家族{A8};
II)因为在上述步骤I)中家族的成员划分发生变动,根据I)划分的结果更新所有家族的中心;
III)检查本次迭代与上一次迭代所有家族的中心点是否发生变化,如果不在变化,则迭代终止;否则,转步I)~步II),继续进行家族划分。比如第一家族{A1、A5},第二家族{A2、A3、A4、A6},第三家族{A7、A9、A10},第四家族{A8}的中心点分别为A1、A4、A9和A8,则迭代结束,这种分成四个家族的方式就是第四层的分家族结果。后续就以该分家族结果计算第四层的FS指标值。
算法具体实现过程如下:
输入:n个恶意程序样本所提取的指令频度集。
输出:每个恶意样本所对应的家族编号。
算法:
(1)根据输入的n个恶意程序样本所提取的指令频度集,分别采用公式(1)~公式(3)的指令加权方法对指令频度集中的特征进行加权得到每个恶意程序样本的指令频度向量,然后采用公式(4)的Cosine距离度量方法计算每两个样本特征的距离,构造一个n*n的距离矩阵D。
(2)家族数K=n到K=2(或指定的家族数)时,循环以下操作:
●查找距离矩阵D,合并距离最近(即最相似)的两个家族C1和C2,得到包含|C1|+|C2|个样本的新家族C;
●计算合并后新家族C的中心点;
●利用K-means的全局优化技术进行迭代,直至所有家族的中心点不再变化,将所有恶意程序样本划分为合理的K-1个家族:
1)按照该层初始的K-1个中心点,将其余的样本点根据公式(4)的Cosine距离度量方法计算其与这K-1个中心点的距离,这些样本点将被归属到与其距离最近的中心点所在的家族;
2)根据1)划分的结果更新所有家族的中心;
3)检查本次迭代与上一次迭代所有家族的中心点是否发生变化,即求
Figure G2009100409968D00111
的值(ci,c′i分别为家族i更新前后的中心点),若值为0,迭代终止;否则,转步1)~步2);
●根据公式(5)计算第K-1层划分家族的结果的FS指标值,并设置K=K-1。
(4)对于所有的N...1层,比较每层分家族结果的FS指标值,找出最小的FS值,对应的即为最优的分家族结果。
(5)按照最优的分家族结果,输出每个恶意程序样本对应的家族编号。
以上实施例描述仅用以说明而非限制本发明的技术方案。不脱离本发明精神和范围的任何修改或局部替换,应涵盖在本发明的权利要求范围当中。

Claims (2)

1.一种基于文件指令频度的计算机恶意程序分类***,
其特征在于,包括
指令频度特征提取模块,其首先解析恶意程序代码的所有指令,并通过计算每个指令在恶意程序样本中所出现的频率TF与逆向样本频率IDF,对恶意程序样本集中出现的指令进行加权,从而构造指令频度向量来表征恶意程序样本,并存储于恶意程序特征库中;其中,
指令频率TF是某一个给定的指令在该样本中出现的频率,对于第j个样本中的指令ti,其指令频率值为TFi,j,其TFi,j值定义如下:
TF i , j = n i , j Σ k n k , j ——公式(1)
其中,ni,j是该指令ti在样本j中出现的次数,而分母则是在样本j中所有指令出现的次数之和;
逆向样本频率IDF是一个指令普遍重要性的度量,一个指令ti的IDF值定义如下:
IDF i = log | D | | { d : t i ∈ d } | ——公式(2)
其中,|D|表示恶意程序样本库中的样本总数,|{d:ti∈d}|表示包含指令ti的恶意程序样本个数;
对恶意程序样本集中出现的指令进行加权,采用公式(1)指令频率TFi,j与公式(2)逆向样本频率IDFi的乘积来对样本j中的第i个指令ti进行加权得到TFIDFi,j,即:
TFIDFi,j=TFi,j*IDFi——公式(3)
其中,IDFi,代表第i个指令ti的逆向样本频率;
恶意程序特征库,其用于存储以指令频度向量来表征的所有恶意程序样本;
样本差异度度量模块,其采用Cosine余弦度量方法,通过计算两个样本指令频度向量之间夹角来衡量样本之间的差异度;其中,
两个样本xi和xj的Cosine距离Sij定义如下:
S ij = x i T x j | x i | | x j | ——公式(4)
其中,分子表示两个样本特征向量的内积,分母表示两个样本特征向量长度的乘积;
恶意程序样本家族划分模块,其将恶意程序特征库中所有N个恶意程序样本从分成N个家族开始,逐次分成N-1个家族、N-2个家族,依次类推,直至最后将所有N个恶意程序样本分成一个家族或者直到分成预先设定好的家族数;具体做法如下:
设需要对第K-1层划分家族,则以上一层产生的K个家族为基础,根据公式(4)的距离度量方法选择最相似的两个家族合并成一个新家族,并重新计算合并后新家族的中心点,然后利用下述K-means的全局优化迭代算法进行迭代,直至所有家族的中心点不再变化,最终将所有恶意程序样本划分为合理的K-1个家族;K-means的全局优化迭代算法如下:
I)按照该K-1层初始的K-1个中心点,将非中心点的样本点根据公式(4)的Cosine距离度量方法计算该样本点与这K-1个中心点的距离,将每个非中心点的样本点重新归类到与其最近的家族;
II)根据I)划分的结果更新所有家族的中心:家族i的中心点为ci,其中i=1…k-1,其中其中vt代表家族i的第t个样本,ni表示该家族i的样本个数,
Figure FSB00000548864900032
表示样本vt与同家族所有样本的距离和;
III)检查即求
Figure FSB00000548864900033
的值,若值为0,则本次迭代与上一次迭代所有家族的中心点未发生变化,迭代终止;否则,转步骤I)~步骤II),其中ci,c′i分别为家族i更新前后的中心点;聚类质量评估模块,其对恶意程序样本家族划分模块每层分家族的结果采用FS指标值进行有效性度量,并选择最小的FS指标值,将其对应的划分结果作为最终结果;其中,
FS = Σ i = 1 c Σ k = 1 n u ki m ( | | x k - v i | | 2 - | | v i - v ‾ | | 2 ) ——公式(5)
其中,n表示恶意程序样本库的样本个数,c表示分成的类数,vi表示第i家族的中心点,家族的中心点是指距离本家族中所有样本的距离之和最小的样本点,
Figure FSB00000548864900035
是恶意程序样本库中全体样本的中心点,即距离全局所有样本的距离之和最小的样本点;||xk-vi||表示第i家族中的样本点xk与该家族中心点vi的距离,
Figure FSB00000548864900036
表示第i家族的中心点到全局中心点
Figure FSB00000548864900037
的距离,是样本隶属度矩阵:若样本xk属于第i家族,则矩阵中该xk值为1;否则,值为0。
2.一种使用权利要求1所述基于文件指令频度的计算机恶意程序分类***进行分类的方法,其特征在于,包括如下过程
第一、指令频度特征提取步骤,指令频度特征提取模块首先解析恶意程序代码的所有指令,并统计每个指令在恶意程序样本中所出现的频度,采用指令在恶意程序样本中出现的频率TF与逆向样本频率IDF对恶意程序样本集中出现的指令进行加权,从而构造指令频度向量来表征恶意程序样本;其中,
指令频率TF是某一个给定的指令在该样本中出现的频率,对于第j个样本中的指令ti,其指令频率值为TFi,j,其TFi,j值定义如下:
TF i , j = n i , j Σ k n k , j ——公式(1)
其中,ni,j是该指令ti在样本j中出现的次数,而分母则是在样本j中所有指令出现的次数之和;
逆向样本频率IDF是一个指令普遍重要性的度量,一个指令ti的IDF值定义如下:
IDF i = log | D | | { d : t i ∈ d } | ——公式(2)
其中,|D|表示恶意程序样本库中的样本总数,|{d:ti∈d}|表示包含指令ti的恶意程序样本个数;
对恶意程序样本集中出现的指令进行加权,采用公式(1)指令频率TFi,j与公式(2)逆向样本频率IDFi的乘积来对样本j中的第i个指令ti进行加权得到TFIDFi,j,即:
TFIDFi,j=TFi,j*IDFi——公式(3)
其中,IDFi,代表i第个指令ti的逆向样本频率;
第二,恶意程序特征库生成步骤,将指令频度特征提取步骤中得到以指令频度向量来表征的所有恶意程序样本存储于恶意程序特征库中;
第三、样本差异度度量步骤,
样本差异度度量模块采用Cosine余弦度量方法,通过计算两个样本指令频度向量之间夹角来衡量样本之间的差异度;其中,
两个样本xi和xj的Cosine距离Sij定义如下:
S ij = x i T x j | x i | | x j | ——公式(4)
其中,分子表示两个样本特征向量的内积,分母表示两个样本特征向量长度的乘积;
第四、恶意程序样本家族划分步骤,恶意程序样本家族划分模块将恶意程序特征库中所有N个恶意程序样本从分成N个家族开始,逐次分成N-1个家族、N-2个家族,依次类推,直至最后将所有N个恶意程序样本分成一个家族或者直到分成预先设定好的家族数;具体做法如下:
设需要对第K-1层划分家族,则以上一层产生的K个家族为基础,根据公式(4)的距离度量方法选择最相似的两个家族合并成一个新家族,并重新计算合并后新家族的中心点,然后利用下述K-means的全局优化迭代算法进行迭代,直至所有家族的中心点不再变化,最终将所有恶意程序样本划分为合理的K-1个家族;K-means的全局优化迭代算法如下:
I)按照该K-1层初始的K-1个中心点,将非中心点的样本点根据公式(4)的Cosine距离度量方法计算该样本点与这K-1个中心点的距离,将每个非中心点的样本点重新归类到与其最近的家族;
II)根据I)划分的结果更新所有家族的中心:家族i的中心点为ci,其中i=1…k-1,其中
Figure FSB00000548864900052
其中vt代表家族i的第t个样本,ni表示该家族i的样本个数,
Figure FSB00000548864900061
表示样本vt与同家族所有样本的距离和;
III)检查即求
Figure FSB00000548864900062
的值,若值为0,则本次迭代与上一次迭代所有家族的中心点未发生变化,迭代终止;否则,转步骤I)~步骤II),其中ci,c′i分别为家族i更新前后的中心点;
第五,聚类质量评估步骤,聚类质量评估模块对恶意程序样本家族划分步骤每层分家族的结果采用FS指标值进行有效性度量;选择所有FS指标值中最小值,该最小FS指标值所对应的分家族结果即为最后的分家族结果;其中,
FS = Σ i = 1 c Σ k = 1 n u ki m ( | | x k - v i | | 2 - | | v i - v ‾ | | 2 ) ——公式(5)
其中,n表示恶意程序样本库的样本个数,c表示分成的类数,vi表示第i家族的中心点,家族的中心点是指距离本家族中所有样本的距离之和最小的样本点,
Figure FSB00000548864900064
是恶意程序样本库中全体样本的中心点,即距离全局所有样本的距离之和最小的样本点;||xk-vi||表示第i家族中的样本点xk与该家族中心点vX的距离,
Figure FSB00000548864900065
表示第i家族的中心点到全局中心点
Figure FSB00000548864900066
的距离,是样本隶属度矩阵:若样本xk属于第i家族,则矩阵中该xk值为1;否则,值为0。
CN2009100409968A 2009-07-10 2009-07-10 基于文件指令频度的计算机恶意程序分类***及分类方法 Active CN101604363B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100409968A CN101604363B (zh) 2009-07-10 2009-07-10 基于文件指令频度的计算机恶意程序分类***及分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100409968A CN101604363B (zh) 2009-07-10 2009-07-10 基于文件指令频度的计算机恶意程序分类***及分类方法

Publications (2)

Publication Number Publication Date
CN101604363A CN101604363A (zh) 2009-12-16
CN101604363B true CN101604363B (zh) 2011-11-16

Family

ID=41470090

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100409968A Active CN101604363B (zh) 2009-07-10 2009-07-10 基于文件指令频度的计算机恶意程序分类***及分类方法

Country Status (1)

Country Link
CN (1) CN101604363B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102930206B (zh) 2011-08-09 2015-02-25 腾讯科技(深圳)有限公司 病毒文件的聚类划分处理方法和装置
CN103324888B (zh) * 2012-03-19 2016-04-27 哈尔滨安天科技股份有限公司 基于家族样本的病毒特征自动提取方法及***
CN103679012A (zh) * 2012-09-03 2014-03-26 腾讯科技(深圳)有限公司 一种可移植可执行文件的聚类方法和装置
CN104008334B (zh) * 2013-02-21 2017-12-01 腾讯科技(深圳)有限公司 一种文件的聚类方法和设备
CN104008333B (zh) * 2013-02-21 2017-12-01 腾讯科技(深圳)有限公司 一种安装包的检测方法和设备
CN103810241B (zh) * 2013-11-22 2017-04-05 北京奇虎科技有限公司 一种低频点击的过滤方法和装置
CN104331436B (zh) * 2014-10-23 2017-06-06 西安交通大学 基于家族基因码的恶意代码快速归类方法
CN104376262B (zh) * 2014-12-08 2018-01-09 中国科学院深圳先进技术研究院 一种基于Dalvik指令和权限组合的安卓恶意软件检测方法
CN104778406B (zh) * 2015-04-08 2018-03-02 公安部第一研究所 一种基于文件指纹对恶意代码统一命名的方法及其***
CN105512191A (zh) * 2015-11-25 2016-04-20 南京莱斯信息技术股份有限公司 一种具备人工行为学习能力的行业特征分析器
CN106960153B (zh) * 2016-01-12 2021-01-29 阿里巴巴集团控股有限公司 病毒的类型识别方法及装置
CN106326746B (zh) * 2016-08-26 2019-02-19 成都科来软件有限公司 一种恶意程序行为特征库构建方法及装置
CN106572122A (zh) * 2016-12-09 2017-04-19 哈尔滨安天科技股份有限公司 基于网络行为特征关联分析的主机安全评估方法及***
CN106845229B (zh) * 2016-12-28 2019-12-20 哈尔滨安天科技集团股份有限公司 一种基于fts模型的病毒特征提取方法及***
RU2724710C1 (ru) * 2018-12-28 2020-06-25 Акционерное общество "Лаборатория Касперского" Система и способ классификации объектов вычислительной системы
CN111770053B (zh) * 2020-05-28 2022-12-16 江苏大学 一种基于改进的聚类与自相似性的恶意程序检测方法
CN112529037A (zh) * 2020-11-06 2021-03-19 重庆恢恢信息技术有限公司 基于大数据分析建筑工地建设优化方法
CN112508050A (zh) * 2020-11-06 2021-03-16 重庆恢恢信息技术有限公司 基于海量数据的建筑工程建设规划工作方法
CN112528284A (zh) * 2020-12-18 2021-03-19 北京明略软件***有限公司 恶意程序的检测方法及装置、存储介质、电子设备
CN115203699B (zh) * 2022-09-16 2022-12-27 北京网藤科技有限公司 一种基于行为特征的病毒识别方法和***

Also Published As

Publication number Publication date
CN101604363A (zh) 2009-12-16

Similar Documents

Publication Publication Date Title
CN101604363B (zh) 基于文件指令频度的计算机恶意程序分类***及分类方法
Zhang et al. Pattern recommendation in task-oriented applications: A multi-objective perspective [application notes]
CN104794242B (zh) 一种搜索方法
CN102194013A (zh) 一种基于领域知识的短文本分类方法及文本分类***
CN101604364B (zh) 基于文件指令序列的计算机恶意程序分类***和分类方法
CN102609422A (zh) 类目错放识别方法和装置
CN107357902A (zh) 一种基于关联规则的数据表分类***与方法
CN112257419A (zh) 一种基于词频和语义计算专利文献相似度的智能检索方法、装置、电子设备及其存储介质
CN105260742A (zh) 一种针对多种数据类型的统一分类方法及***
CN110647995A (zh) 规则训练方法、装置、设备及存储介质
CN108090178A (zh) 一种文本数据分析方法、装置、服务器和存储介质
EP3067804B1 (en) Data arrangement program, data arrangement method, and data arrangement apparatus
Pandian et al. SOTARM: Size of transaction-based association rule mining algorithm
He et al. Predicting bugs in software code changes using isolation forest
CN106204053A (zh) 信息类目错放识别方法和装置
CN112632000A (zh) 日志文件聚类方法、装置、电子设备和可读存储介质
CN115757900B (zh) 应用人工智能模型的用户需求分析方法及***
US20200142910A1 (en) Data clustering apparatus and method based on range query using cf tree
Abudalfa et al. Semi-supervised target-dependent sentiment classification for micro-blogs
Glenis et al. SCALE-BOSS: A framework for scalable time-series classification using symbolic representations
CN109739840A (zh) 数据空值处理方法、装置及终端设备
Lohumi et al. Hierarchical clustering approach for determination of isomorphism among planar kinematic chains and their derived mechanisms
Wang et al. Edcleaner: Data cleaning for entity information in social network
Bhiwani K-Mean Evaluation in Weka Tool and Modifying It using Standard Score Method
JP2020166443A (ja) データ加工方法レコメンドシステム、データ加工方法レコメンド方法、及びデータ加工方法レコメンドプログラム

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
ASS Succession or assignment of patent right

Owner name: KINGSOFT CORPORATION LIMITED

Free format text: FORMER OWNER: ZHUHAI KINGSOFT SOFTWARE CO., LTD.

Effective date: 20140902

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 519015 ZHUHAI, GUANGDONG PROVINCE TO: 100085 SHIJINGSHAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20140902

Address after: Kingsoft No. 33 building, 100085 Beijing city Shijingshan District Xiaoying Road

Patentee after: BEIJING KINGSOFT INTERNET SECURITY SOFTWARE Co.,Ltd.

Address before: Jinshan computer Building No. 8 Jingshan Hill Road, Lane 519015 Lianshan Jida Zhuhai city in Guangdong Province

Patentee before: Zhuhai Kingsoft Software Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20091216

Assignee: Zhuhai Kingsoft Software Co.,Ltd.

Assignor: BEIJING KINGSOFT INTERNET SECURITY SOFTWARE Co.,Ltd.

Contract record no.: 2014990000778

Denomination of invention: Classification system and classification method of computer rogue programs based on file instruction frequency

Granted publication date: 20111116

License type: Common License

Record date: 20140926

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model