加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

通过机器学习进行恶意软件解析

发布时间:2022-05-16 09:42:55 所属栏目:安全 来源:互联网
导读:去年以来,我们发现很多的音像公司开始接触机器学习和人工智能,希望能找到一条快速有效的途径来分析并隔离新型的恶意软件,同时,扩大恶意软件库。然而,事实上这里存在一个很大的问题就是很多人把机器学习当成了无所不能的魔术棒他们开始用机器学习的时候
          去年以来,我们发现很多的音像公司开始接触机器学习和人工智能,希望能找到一条快速有效的途径来分析并隔离新型的恶意软件,同时,扩大恶意软件库。然而,事实上这里存在一个很大的问题就是很多人把机器学习当成了无所不能的魔术棒——他们开始用机器学习的时候,只是把尽量多的样例交给算法去计算,就算完成了,而事实上这样做不完全正确。
 
          聚类分析是一种统计分析技术,目的在于从给定的数据集合中识别出重要的群组。我们可以通过已有的恶意软件群组发现与之相似的新型恶意软件或者与这个群组具有相同特征的样例。为了给一个数据集合分组,我们需要一个表达式来描述数据集合中每个元素间的相似性。
 
          每一个元素用一个特征集合描述,这个特征集合的属性在某些方面对这个元素非常重要。设计特征集合的时候,有两个要点需要考虑到:
 
          第一,要明白如何选择属性。正如上面所说,很多人以为聚类分析就应该让分析程序提取数百万属性进行计算,却忽略了一点:被考虑进来的属性越多,计算的时间也会越多,而且,有些属性并不能用于准确区分出恶意软件。例如,用PE文件的唯一熵属性做为特征集合将会导致错误的聚类化。不过无论如何,我们需要找到足够多的属性可以让我们将一些具有特殊行为的恶意软件分成几个不同的恶意软件群组。所以我们要提取的属性是对恶意软件分析有意义的属性, 这也是Deepvid恶意软件分析器***的组成部分。
 
          第二,找到最合适的量度来验证并且对比恶意软件的属性。每个恶意软件都可以被描述成数值性质的属性(例如:信息熵)或者抽象性质的属性。在数学上,相似度度量就是用来描述两个对象的相似程度。欧式距离就是其中一种被广为人知的用于比较数值型属性相似度的方法。那么,抽象型数据的相似性该如何度量呢?Deepviz中给出了两个恶意软件以及与之相关的IPs和URLs,我们该如何比较这两个集合呢?怎样把他们进行聚合?
 
基于此,我们需要得到的东西是:
 
1.选择一个特征集合,该集合由一个或者多个属性组成,通过该集合可以将原始数据集合中的元素进行分类。
 
2.选择一个计算距离的算法,通过该算法可以计算各个元素间的距离。
 
然后,我们需要做的步骤是:
 
3.比较一个元素与该元素本身的距离,以及该元素与数据集合中其他元素的距离
 
4.用一个聚类算法来把相似的元素聚合。在我们的例子中,我们聚合的是恶意软件群组
 
元素间的相似度
 
欧式距离被大量的运用在计算数字型的元素之间的距离。在这里,我将介绍的是另一种计算距离的方法—杰卡德距离(Jaccard distance),作为抽象型数值的度量。

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!