CN110458187B - 一种恶意代码家族聚类方法和系统 - Google Patents

一种恶意代码家族聚类方法和系统 Download PDF

Info

Publication number
CN110458187B
CN110458187B CN201910565940.8A CN201910565940A CN110458187B CN 110458187 B CN110458187 B CN 110458187B CN 201910565940 A CN201910565940 A CN 201910565940A CN 110458187 B CN110458187 B CN 110458187B
Authority
CN
China
Prior art keywords
clustering
distribution
data points
module
cluster
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
CN201910565940.8A
Other languages
English (en)
Other versions
CN110458187A (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.)
Guangzhou University
Original Assignee
Guangzhou University
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 Guangzhou University filed Critical Guangzhou University
Priority to CN201910565940.8A priority Critical patent/CN110458187B/zh
Publication of CN110458187A publication Critical patent/CN110458187A/zh
Application granted granted Critical
Publication of CN110458187B publication Critical patent/CN110458187B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种恶意代码家族聚类方法及系统,方法包括采用T‑SNE算法对原始恶意代码执行序列进行降维可视化,具体为:使用T‑SNE算法对每个数据点近邻的分布进行建模,其中近邻是指相互靠近数据点的集合;构建模型,通过非线性函数变换将数据点映射到相应概率分布上;对构建的模型进行训练,通过计算低维空间的条件概率,从而计算损失函数的梯度;使用K‑means算法对恶意代码家族进行聚类,具体为:确定分类个数K和聚类中心;通过计算对象与聚类中心的距离对所有对象进行簇划分;重新计算新的聚类中心,判断是否满足条件。系统包括降维可视化模块和聚类模块。通过本发明不仅降低了如何确定K‑means算法中k的难题,还提高了恶意代码家族聚类的准确性。

Description

一种恶意代码家族聚类方法和系统
技术领域
本发明属于恶意代码分析的技术领域,涉及一种恶意代码家族聚类方法和系统。
背景技术
K-means算法是经典的聚类算法之一,在利用K-means算法进行聚类时,需要预先设定聚类的类簇个数,即k。然而,在实际应用中数据集往往规模庞大,面对结构分布复杂的数据,人们很难事先确定类簇个数,当预先设定的类簇个数和实际类簇个数差距过大时,聚类效果会大大降低:当选择远小于实际类簇个数的k时,会将不同类的数据点聚类为同一类,导致类簇区分度过低;当选择远大于实际类簇个数的k时,会将同类的数据点聚类为不同类,导致丢失数据点之间的关联。
在现有技术中,确定k值的方法通常从后验信息着手,测试所有可能k值的聚类效果,利用统计分析等技术,分析聚类结果的类内相似度、类间相似度,从大量聚类结果中选择最优聚类效果对应的k值。然而,由于缺乏对数据结构分布的整体把握,面对庞大的数据量,在测试过程中k的可能取值范围一般较大,这导致测试计算量庞大,且耗费大量计算资源。因此,使用一些技术创新方法来寻找和确定最优的k值是非常必要的。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种恶意代码家族聚类方法,采用t-SNE算法可视化恶意代码家族特征确定家族簇数,然后使用K-means算法对恶意代码家族进行家族聚类,从而缩小k值的取值范围,减少计算开支,增加聚类准确度。
本发明的另一目的在于,提供一种恶意代码家族聚类系统。
为了达到上述第一目的,本发明采用以下技术方案:
本发明提供的一种恶意代码家族聚类方法,包括下述步骤:
采用t-SNE算法对原始恶意代码执行序列进行降维可视化,具体包括下述步骤:
使用t-SNE算法对每个数据点近邻的分布进行建模,其中近邻是指相互靠近数据点的集合;
构建模型,通过非线性函数变换将数据点映射到相应概率分布上;
对构建的模型进行训练,通过计算低维空间的条件概率,从而计算损失函数的梯度;
使用K-means算法对恶意代码家族进行聚类,具体包括下述步骤:
确定分类个数K和聚类中心;
通过计算对象与聚类中心的距离对所有对象进行簇划分;
重新计算新的聚类中心,判断是否满足中心点不再改变的条件,如果不满足,则返回通过计算对象与聚类中心的距离对所有对象进行簇划分的步骤,如果满足,则找到聚类中心点。
作为优选的技术方案,所述通过非线性函数变换将数据点映射到相应概率分布上的,包括下述步骤:
通过在高维空间中构建数据点之间的概率分布P,使得相似的数据点有更高的概率被选择,不相似的数据点有较低的概率被选择;
在低维空间里重构所有数据点的概率分布Q,使得这两个概率分布尽可能相似。
作为优选的技术方案,还包括计算相似度的步骤,具体为:
令输入空间是X∈Rn,输出空间为Y∈Rt,t<<n,假设含有m个样本数据{x(1),x(2),…,x(m)},其中x(i)∈X,降维后的数据为{y(1),y(2),…,y(m)},y(i)∈Y,SNE是先将欧几里得距离转化为条件概率来表达点与点之间的相似度,即首先是计算条件概率pj|i,其正比于x(i)和x(j)之间的相似度,pj|i的计算公式为:
Figure GDA0002493811310000031
在这里引入了一个参数σi,对于不同的数据点x(i)取值亦不相同,并设置pi|i=0,对于低维度下的数据点y(i),通过条件概率qj|i来刻画y(i)与y(j)之间的相似度,qj|i的计算公式为:
Figure GDA0002493811310000032
同理,设置qi|i=0。
作为优选的技术方案,如果pi|j=qi|j成立,则通过优化两个分布之间的KL散度构造出的损失函数为:
Figure GDA0002493811310000033
其中,Pi表示在给定高维数据点x(i)时,其他所有数据点的条件概率分布;Qi则表示在给定低维数据点y(i)时,其他所有数据点的条件概率分布;从损失函数可以看出,当pj|i较大qj|i较小时,惩罚较高;而pj|i较小qj|i较大时,惩罚较低。
作为优选的技术方案,还包括对损失函数的梯度进行优化的步骤:
首先通过在高维空间中使用高斯分布将距离转换为概率分布,然后在低维空间中,使用更加偏重长尾分布的方式来将距离转换为概率分布,使得高维度空间中的中低等距离在映射后能够有一个较大的距离;
使用t分布替换高斯分布之后qij的变化如下:
Figure GDA0002493811310000041
此外,随着自由度的逐渐增大,t分布的密度函数逐渐接近标准正态分布,优化后的梯度公式如下:
Figure GDA0002493811310000042
作为优选的技术方案,步骤(1.3)中,对构建的模型进行训练具体为:
数据准备:{x(1),x(2),…,x(m)},其中x(i)∈Rn
初始化困惑度参数用于求解σ,迭代次数T、学习率η和动量α(t);
开始优化,具体为:
计算高维空间中的条件概率pj|i
Figure GDA0002493811310000043
使用正态分布
Figure GDA0002493811310000044
随机初始化Ym×k矩阵;
从t=1,2,…,T进行迭代
计算低维空间中的条件概率qij
计算损失函数C(y(i))对y(i)的梯度;
更新
Figure GDA0002493811310000045
输出Y。
作为优选的技术方案,所述确定分类个数K和聚类中心,具体为:
通过t-SNE算法可视化出每一个恶意代码文件的特征,从而确定聚类簇数K,确定聚类簇数K后使用K-means算法进行聚类处理。
作为优选的技术方案,所述通过计算对象与聚类中心的距离对所有对象进行簇划分,具体为:
确定聚类簇数K后,k-means算法就是将n个数据点进行聚类,得到k个聚类,使得每个数据点到聚类中心的距离最小。
为了达到上述第二目的,本发明采用以下技术方案:
本发明提供的一种述恶意代码家族聚类系统,包括降维可视化模块和聚类模块,所述降维可视化模块,用于采用t-SNE算法对原始恶意代码执行序列进行降维可视化,所述聚类模块用于使用K-means算法对恶意代码家族进行聚类;
所述降维可视化模块包括数据点处理模块、模型建立模块以及训练模块,
所述数据点处理模块,用于使用t-SNE算法对每个数据点近邻的分布进行建模,其中近邻是指相互靠近数据点的集合;
所述模型建立模块,用于构建模型,通过非线性函数变换将数据点映射到相应概率分布上;
所述训练模块,用于对构建的模型进行训练,通过计算低维空间的条件概率,从而计算损失函数的梯度;
所述聚类模块包括分类个数和聚类中心确定模块、簇划分模块以及聚类中心重新计算模块;
所述分类个数和聚类中心确定模块,用于确定分类个数K和聚类中心;
所述簇划分模块,用于通过计算对象与聚类中心的距离对所有对象进行簇划分;
所述聚类中心重新计算模块,用于重新计算新的聚类中心,判断是否满足条件,如果不满足,则返回通过计算对象与聚类中心的距离对所有对象进行簇划分的步骤,如果满足,则得出结论。
作为优选的技术方案,所述模型构建模块包括高维空间处理模块和低维空间处理模块;
所述高维空间处理模块,用于通过在高维空间中构建数据点之间的概率分布P,使得相似的数据点有更高的概率被选择,不相似的数据点有较低的概率被选择;
所述低维空间处理模块,用于在低维空间里重构这些点的概率分布Q,使得这两个概率分布尽可能相似。
本发明与现有技术相比,具有如下优点和有益效果:
本发明从数据集的总体分布结构入手,在数据预处理阶段利用t-SNE算法对数据集进行可视化,利用数据可视化技术分析数据分布情况,估算类簇个数的大概取值区间,最后用传统测试方法进行k值的选择,通过本发明缩小了k值的取值范围,减少计算开支,增加聚类准确度。
附图说明
图1是本发明恶意代码家族聚类方法的流程图。
图2是本发明恶意代码家族聚类系统的与方框图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
如图1所示,本实施例一种恶意代码家族聚类方法,是一种有效的基于t-SNE和K-means算法的恶意代码家族聚类方法,该方法主要将恶意代码执行序列作为原始特征,采用t-SNE算法可视化恶意代码家族簇数,然后使用K-means算法对恶意代码家族进行聚类。本发明的方法包括下述步骤:
(1)采用t-SNE算法对原始恶意代码执行序列进行降维可视化;包括下述步骤:
(1.1)使用t-SNE算法对每个数据点近邻的分布进行建模,其中近邻是指相互靠近数据点的集合;在原始高维空间中,本发明将高维空间建模为高斯分布,而在二维输出空间中,本发明可以将其建模为t分布。该过程的目标是找到将高维空间映射到二维空间的变换,并且最小化所有点在这两个分布之间的差距。与高斯分布相比t分布有较长的尾部,这有助于数据点在二维空间中更均匀地分布。
(1.2)构建模型,通过非线性函数变换将数据点映射到相应概率分布上,主要包括下述两个步骤:
(1.2.1)通过在高维空间中构建数据点之间的概率分布P,使得相似的数据点有更高的概率被选择,不相似的数据点有较低的概率被选择;
(1.2.2)在低维空间里重构这些点(所有数据点,即恶意代码)的概率分布Q,使得这两个概率分布尽可能相似。
令输入空间是X∈Rn,输出空间为Y∈Rt,t<<n,假设含有m个样本数据{x(1),x(2),…,x(m)},其中x(i)∈X,降维后的数据为{y(1),y(2),…,y(m)},y(i)∈Y,SNE是先将欧几里得距离转化为条件概率来表达点与点之间的相似度,即首先是计算条件概率pj|i,其正比于x(i)和x(j)之间的相似度,pj|i的计算公式为:
Figure GDA0002493811310000081
在这里引入了一个参数σi,对于不同的数据点x(i)取值亦不相同,并设置pi|i=0,对于低维度下的数据点y(i),通过条件概率qj|i来刻画y(i)与y(j)之间的相似度,qj|i的计算公式为:
Figure GDA0002493811310000082
同理,设置qi|i=0。
如果降维的效果比较好,局部特征保留完整,则有pi|j=qi|j成立,则通过优化两个分布之间的KL散度构造出的损失函数为:
Figure GDA0002493811310000083
其中,Pi表示在给定高维数据点x(i)时,其他所有数据点的条件概率分布;Qi则表示在给定低维数据点y(i)时,其他所有数据点的条件概率分布;从损失函数可以看出,当pj|i较大qj|i较小时,惩罚较高;而pj|i较小qj|i较大时,惩罚较低。也就是说,高维空间中两个数据点距离较近时,若映射到低维空间后距离较远,那么将得到一个很高的惩罚;反之,高维空间中两个数据点距离较远时,若映射到低维空间距离较近,将得到一个很低的惩罚值。
t-SNE在对称SNE的改进是,首先通过在高维空间中使用高斯分布将距离转换为概率分布,然后在低维空间中,使用更加偏重长尾分布的方式来将距离转换为概率分布,使得高维度空间中的中低等距离在映射后能够有一个较大的距离。
使用t分布替换高斯分布之后qij的变化如下:
Figure GDA0002493811310000091
此外,随着自由度的逐渐增大,t分布的密度函数逐渐接近标准正态分布,优化后的梯度公式如下:
Figure GDA0002493811310000092
总的来说,t-SNE的梯度更新具有以下两个优势:
(a)对于低维空间中不相似的数据点,用一个较小的距离会产生较大的梯度让这些数据点排斥开来;
(b)这种排斥又不会无限大,因此避免了不相似的数据点距离太远。
(1.3)对构建的模型进行训练,通过计算低维空间的条件概率,从而计算损失函数的梯度;
(1.3.1)数据准备:{x(1),x(2),…,x(m)},其中x(i)∈Rn
(1.3.2)初始化困惑度参数用于求解σ,迭代次数T(500)、学习率η(0.01)和动量α(t);
(1.3.3)开始优化,具体为:
(1.3.3.1)计算高维空间中的条件概率pj|i
(1.3.3.2)令
Figure GDA0002493811310000093
(1.3.3.3)使用正态分布
Figure GDA0002493811310000094
随机初始化Ym×k矩阵;
(1.3.3.4)从t=1,2,…,T进行迭代
(1.3.3.5)计算低维空间中的条件概率qij
(1.3.3.6)计算损失函数C(y(i))对y(i)的梯度;
(1.3.3.7)更新
Figure GDA0002493811310000095
(1.3.3.8)输出Y。
(2)使用K-means算法对恶意代码家族进行聚类,具体包括下述步骤:
(2.1)确定分类个数K和聚类中心;通过t-SNE算法可视化出每一个恶意代码文件的特征,从图中就可以确定聚类簇数K,确定聚类簇数K后就可以使用K-means算法进行聚类处理了。t-SNE算法只是进行可视化确认恶意代码家族个数,属于K-means算法辅助。
(2.2)通过计算对象与聚类中心的距离对所有对象进行簇划分;在上一步确定聚类簇数K后,k-means算法就是将n个数据点进行聚类,得到k个聚类,使得每个数据点到聚类中心的距离最小。
(2.3)重新计算新的聚类中心,判断是否满足条件(即中心点不再改变),如果不满足,则返回通过计算对象与聚类中心的距离对所有对象进行簇划分的步骤,如果满足,则聚类中心点就已经找到。
在本发明的另一实施例中,如图2所示,提供了一种述恶意代码家族聚类系统,包括降维可视化模块和聚类模块,所述降维可视化模块,用于采用t-SNE算法对原始恶意代码执行序列进行降维可视化,所述聚类模块用于使用K-means算法对恶意代码家族进行聚类;
所述降维可视化模块包括数据点处理模块、模型建立模块以及训练模块,
所述数据点处理模块,用于使用t-SNE算法对每个数据点近邻的分布进行建模,其中近邻是指相互靠近数据点的集合;
所述模型建立模块,用于构建模型,通过非线性函数变换将数据点映射到相应概率分布上;
所述训练模块,用于对构建的模型进行训练,通过计算低维空间的条件概率,从而计算损失函数的梯度;
所述聚类模块包括分类个数和聚类中心确定模块、簇划分模块以及聚类中心重新计算模块;
所述分类个数和聚类中心确定模块,用于确定分类个数K和聚类中心;
所述簇划分模块,用于通过计算对象与聚类中心的距离对所有对象进行簇划分;
所述聚类中心重新计算模块,用于重新计算新的聚类中心,判断是否满足条件,如果不满足,则返回通过计算对象与聚类中心的距离对所有对象进行簇划分的步骤,如果满足,则得出结论。
所述模型构建模块包括高维空间处理模块和低维空间处理模块;
所述高维空间处理模块,用于通过在高维空间中构建数据点之间的概率分布P,使得相似的数据点有更高的概率被选择,不相似的数据点有较低的概率被选择;
所述低维空间处理模块,用于在低维空间里重构这些点的概率分布Q,使得这两个概率分布尽可能相似。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的系统实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (3)

1.一种恶意代码家族聚类方法,其特征在于,包括下述步骤:
采用t-SNE算法对原始恶意代码执行序列进行降维可视化,具体包括下述步骤:
使用t-SNE算法对每个数据点近邻的分布进行建模,其中近邻是指相互靠近数据点的集合;
构建模型,通过非线性函数变换将数据点映射到相应概率分布上,具体为:
通过在高维空间中构建数据点之间的概率分布P,使得相似的数据点有更高的概率被选择,不相似的数据点有较低的概率被选择;
在低维空间里重构所有数据点的概率分布Q,使得这两个概率分布尽可能相似,具体为:
令输入空间是X,输出空间为Y,假设含有m个样本数据{x(1),x(2),…,x(m)},其中x(i)∈X,降维后的数据为{y(1),y(2),…,y(m)},y(i)∈Y,SNE是先将欧几里得距离转化为条件概率来表达点与点之间的相似度,即首先是计算条件概率pj|i,其正比于x(i)和x(j)之间的相似度,pj|i的计算公式为:
Figure FDA0002493811300000011
在这里引入了一个参数σi,对于不同的数据点x(i)取值亦不相同,并设置pi|i=0,对于低维度下的数据点y(i),通过条件概率qj|i来刻画y(i)与y(j)之间的相似度,qj|i的计算公式为:
Figure FDA0002493811300000012
同理,设置qi|i=0;
如果pi|j=qi|j成立,则通过优化两个分布之间的KL散度构造出的损失函数为:
Figure FDA0002493811300000013
其中,Pi表示在给定高维数据点x(i)时,其他所有数据点的条件概率分布;Qi则表示在给定低维数据点y(i)时,其他所有数据点的条件概率分布;从损失函数可以看出,当pj|i较大qj|i较小时,惩罚较高;而pj|i较小qj|i较大时,惩罚较低;
对构建的模型进行训练,通过计算低维空间的条件概率,从而计算损失函数的梯度,并对损失函数的梯度进行优化,具体为:
首先通过在高维空间中使用高斯分布将距离转换为概率分布,然后在低维空间中,使用更加偏重长尾分布的方式来将距离转换为概率分布,使得高维度空间中的中低等距离在映射后能够有一个较大的距离;
使用t分布替换高斯分布之后qij的变化如下:
Figure FDA0002493811300000021
此外,随着自由度的逐渐增大,t分布的密度函数逐渐接近标准正态分布,
优化后的梯度公式如下:
Figure FDA0002493811300000022
其中,令
Figure FDA0002493811300000023
使用K-means算法对恶意代码家族进行聚类,具体包括下述步骤:
确定分类个数K和聚类中心,具体为:通过t-SNE算法可视化出每一个恶意代码文件的特征,从图中确定聚类簇数K,确定聚类簇数K后使用K-means算法进行聚类处理;
通过计算对象与聚类中心的距离对所有对象进行簇划分;
重新计算新的聚类中心,判断是否满足中心点不再改变的条件,如果不满足,则返回通过计算对象与聚类中心的距离对所有对象进行簇划分的步骤,如果满足,则找到聚类中心点。
2.根据权利要求1所述恶意代码家族聚类方法,其特征在于,所述通过计算对象与聚类中心的距离对所有对象进行簇划分,具体为:
确定聚类簇数K后,k-means算法就是将n个数据点进行聚类,得到k个聚类,使得每个数据点到聚类中心的距离最小。
3.一种述恶意代码家族聚类系统,其特征在于,包括降维可视化模块和聚类模块,所述降维可视化模块,用于采用t-SNE算法对原始恶意代码执行序列进行降维可视化,所述聚类模块用于使用K-means算法对恶意代码家族进行聚类;
所述降维可视化模块包括数据点处理模块、模型建立模块以及训练模块,
所述数据点处理模块,用于使用t-SNE算法对每个数据点近邻的分布进行建模,其中近邻是指相互靠近数据点的集合;
所述模型建立模块,用于构建模型,通过非线性函数变换将数据点映射到相应概率分布上,具体为:
通过在高维空间中构建数据点之间的概率分布P,使得相似的数据点有更高的概率被选择,不相似的数据点有较低的概率被选择;
在低维空间里重构所有数据点的概率分布Q,使得这两个概率分布尽可能相似,具体为:
令输入空间是X,输出空间为Y,假设含有m个样本数据{x(1),x(2),…,x(m)},其中x(i)∈X,降维后的数据为{y(1),y(2),…,y(m)},y(i)∈Y,SNE是先将欧几里得距离转化为条件概率来表达点与点之间的相似度,即首先是计算条件概率pj|i,其正比于x(i)和x(j)之间的相似度,pj|i的计算公式为:
Figure FDA0002493811300000031
在这里引入了一个参数σi,对于不同的数据点x(i)取值亦不相同,并设置pi|i=0,对于低维度下的数据点y(i),通过条件概率qj|i来刻画y(i)与y(j)之间的相似度,qj|i的计算公式为:
Figure FDA0002493811300000041
同理,设置qi|i=0;
如果pi|j=qi|j成立,则通过优化两个分布之间的KL散度构造出的损失函数为:
Figure FDA0002493811300000042
其中,Pi表示在给定高维数据点x(i)时,其他所有数据点的条件概率分布;Qi则表示在给定低维数据点y(i)时,其他所有数据点的条件概率分布;从损失函数可以看出,当pj|i较大qj|i较小时,惩罚较高;而pj|i较小qj|i较大时,惩罚较低;
所述训练模块,用于对构建的模型进行训练,通过计算低维空间的条件概率,从而计算损失函数的梯度,并对损失函数的梯度进行优化,具体为:首先通过在高维空间中使用高斯分布将距离转换为概率分布,然后在低维空间中,使用更加偏重长尾分布的方式来将距离转换为概率分布,使得高维度空间中的中低等距离在映射后能够有一个较大的距离;
使用t分布替换高斯分布之后qij的变化如下:
Figure FDA0002493811300000043
此外,随着自由度的逐渐增大,t分布的密度函数逐渐接近标准正态分布,
优化后的梯度公式如下:
Figure FDA0002493811300000044
其中,令
Figure FDA0002493811300000051
所述聚类模块包括分类个数和聚类中心确定模块、簇划分模块以及聚类中心重新计算模块;
所述分类个数和聚类中心确定模块,用于确定分类个数K和聚类中心,具体为:通过t-SNE算法可视化出每一个恶意代码文件的特征,从图中确定聚类簇数K,确定聚类簇数K后使用K-means算法进行聚类处理;
所述簇划分模块,用于通过计算对象与聚类中心的距离对所有对象进行簇划分;
所述聚类中心重新计算模块,用于重新计算新的聚类中心,判断是否满足条件,如果不满足,则返回通过计算对象与聚类中心的距离对所有对象进行簇划分的步骤,如果满足,则得出结论。
CN201910565940.8A 2019-06-27 2019-06-27 一种恶意代码家族聚类方法和系统 Active CN110458187B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910565940.8A CN110458187B (zh) 2019-06-27 2019-06-27 一种恶意代码家族聚类方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910565940.8A CN110458187B (zh) 2019-06-27 2019-06-27 一种恶意代码家族聚类方法和系统

Publications (2)

Publication Number Publication Date
CN110458187A CN110458187A (zh) 2019-11-15
CN110458187B true CN110458187B (zh) 2020-07-31

Family

ID=68481217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910565940.8A Active CN110458187B (zh) 2019-06-27 2019-06-27 一种恶意代码家族聚类方法和系统

Country Status (1)

Country Link
CN (1) CN110458187B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111162958B (zh) * 2019-11-27 2022-09-30 南京理工大学 基于聚类分析算法的1553b总线数据故障测试方法
CN111143842B (zh) * 2019-12-12 2022-07-01 广州大学 一种恶意代码检测方法及系统
CN111625576B (zh) * 2020-05-15 2023-03-24 西北工业大学 一种基于t-SNE的成绩聚类分析方法
CN112257955A (zh) * 2020-11-06 2021-01-22 开普云信息科技股份有限公司 一种基于聚类算法的共享单车优化调配方法、控制装置、电子设备及其存储介质
CN113139189B (zh) * 2021-04-29 2021-10-26 广州大学 一种挖矿恶意软件的识别方法、系统和存储介质
CN114036515B (zh) * 2021-10-27 2022-08-16 中南大学 一种webshell恶意家族聚类分析方法
CN113987502A (zh) * 2021-12-29 2022-01-28 阿里云计算有限公司 目标程序检测方法、设备及存储介质
CN115344678A (zh) * 2022-07-11 2022-11-15 北京容联易通信息技术有限公司 一种基于多种算法融合的聚类方法
CN115422556B (zh) * 2022-11-07 2023-03-24 中国科学技术大学 漏洞利用概率预测方法、系统、设备及存储介质
CN116340796B (zh) * 2023-05-22 2023-12-22 平安科技(深圳)有限公司 时序数据分析方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106096066A (zh) * 2016-08-17 2016-11-09 盐城工学院 基于随机近邻嵌入的文本聚类方法
CN107392019A (zh) * 2017-07-05 2017-11-24 北京金睛云华科技有限公司 一种恶意代码家族的训练和检测方法及装置
CN108769001A (zh) * 2018-04-11 2018-11-06 哈尔滨工程大学 基于网络行为特征聚类分析的恶意代码检测方法
KR101930293B1 (ko) * 2017-09-12 2018-12-18 연세대학교 산학협력단 정적 분석과 동적 분석을 이용하여 변종 악성코드를 식별하는 장치 및 방법
CN109145603A (zh) * 2018-07-09 2019-01-04 四川大学 一种基于信息流的Android隐私泄露行为检测方法和技术

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271441B (zh) * 2018-12-12 2020-09-01 南昌航空大学 一种高维数据可视化聚类分析方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106096066A (zh) * 2016-08-17 2016-11-09 盐城工学院 基于随机近邻嵌入的文本聚类方法
CN107392019A (zh) * 2017-07-05 2017-11-24 北京金睛云华科技有限公司 一种恶意代码家族的训练和检测方法及装置
KR101930293B1 (ko) * 2017-09-12 2018-12-18 연세대학교 산학협력단 정적 분석과 동적 분석을 이용하여 변종 악성코드를 식별하는 장치 및 방법
CN108769001A (zh) * 2018-04-11 2018-11-06 哈尔滨工程大学 基于网络行为特征聚类分析的恶意代码检测方法
CN109145603A (zh) * 2018-07-09 2019-01-04 四川大学 一种基于信息流的Android隐私泄露行为检测方法和技术

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
t分布随机近邻嵌入机械故障特征提取方法研究;谷玉海 等;《机械科学与技术》;20161231;原文第1901-1905页 *

Also Published As

Publication number Publication date
CN110458187A (zh) 2019-11-15

Similar Documents

Publication Publication Date Title
CN110458187B (zh) 一种恶意代码家族聚类方法和系统
WO2020143321A1 (zh) 一种基于变分自编码器的训练样本数据扩充方法、存储介质及计算机设备
Monahan Nonlinear principal component analysis by neural networks: Theory and application to the Lorenz system
Caelli et al. An eigenspace projection clustering method for inexact graph matching
CN106096066B (zh) 基于随机近邻嵌入的文本聚类方法
CN105608471A (zh) 一种鲁棒直推式标签估计及数据分类方法和系统
CN114169442B (zh) 基于双原型网络的遥感图像小样本场景分类方法
CN115358487A (zh) 面向电力数据共享的联邦学习聚合优化系统及方法
CN103942571A (zh) 一种基于遗传规划算法的图形图像分类方法
CN116167668A (zh) 基于bim的绿色节能建筑施工质量评价方法及系统
CN114548592A (zh) 一种基于cemd和lstm的非平稳时间序列数据预测方法
CN110796159A (zh) 基于k-means算法的电力数据分类方法及系统
CN110348516B (zh) 数据处理方法、装置、存储介质及电子设备
CN110956248A (zh) 一种基于隔离森林的海量数据异常值检测算法
CN112215268A (zh) 一种灾害天气卫星云图分类方法和装置
CN113516019B (zh) 高光谱图像解混方法、装置及电子设备
CN114781688A (zh) 业扩项目的异常数据的识别方法、装置、设备及存储介质
CN113987910A (zh) 一种耦合神经网络与动态时间规划的居民负荷辨识方法及装置
CN117060401A (zh) 新能源功率预测方法、装置、设备和计算机可读存储介质
CN115661498A (zh) 一种自优化单细胞聚类方法
CN115081515A (zh) 能效评价模型构建方法、装置、终端及存储介质
WO2021017736A1 (zh) 一种图像分析装置
CN115017988A (zh) 一种用于状态异常诊断的竞争聚类方法
CN109447131B (zh) 相似高维目标信息识别方法及系统
Malakooti et al. An efficient algorithm for human cell detection in electron microscope images based on cluster analysis and vector quantization techniques

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant