System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于网络安全和机器学习,具体涉及一种基于k-means聚类算法的僵尸网络攻击检测方法。
技术介绍
1、近年来,对网络安全和防范各种形式的网络攻击的需求不断增加。由于物联网的普及,基于物联网的网络安全最近引起了广泛关注,其中优以僵尸网络为甚。
2、僵尸网络是一种由被感染的计算机组成的网络,这些被感染的计算机也被称为"僵尸"。这些计算机通常在未经授权的情况下被远程控制,由一个或多个黑客或恶意组织控制。这些控制者通常被称为"僵尸网络主控"。僵尸网络被广泛用于执行各种入侵攻击,其中包括但不限于分布式拒绝服务(ddos)攻击、点击欺诈(click fraud)、洪泛(flooding)和垃圾邮件(spam)等。这些攻击通常会造成严重的网络和系统性能问题,甚至可能导致网络服务的完全瘫痪。
3、目前的僵尸网络检测方法,主要分为基于签名的检测方法和基于流的异常入侵检测。基于签名的检测方法主要用于检测已知的恶意行为或攻击模式。其基本原理是利用预先定义的特征或规则(即签名)来识别网络流量中的恶意行为。当网络流量中的特征与已知的攻击签名匹配时,系统会发出警报或采取其他防御措施。然而这种方法无法检测到未知的攻击形式、容易受到攻击者的规避行为(如简单的代码变异)以及对更新和维护签名数据库的依赖性。基于流的异常检测方法主要通过关注网络流量的特征和行为模式,以识别异常活动。但是传统基于流的异常检测方法存在特征提取困难,误报率高,检测效率低等问题。针对以上问题,如何更好地提取系统特征,并在此基础上,利用机器学习自动学习僵尸网络
技术实现思路
1、针对现有技术中存在的上述问题,本专利技术的目的在于提供一种基于k-means聚类算法的僵尸网络攻击检测方法。
2、本专利技术提供如下技术方案:一种基于k-means聚类算法的僵尸网络攻击检测方法,包括以下步骤:
3、(1)网络流图构建:定义网络流转化表,并基于网络流转化表构建网络流图;
4、(2)提取图特征:基于网络流图提取出一组图特征;
5、(3)特征向量生成:基于ig算法生成网络流图节点的特征向量表示;
6、(4)模型训练与离群点检测:基于k-means算法构建检测模型,并使用良性数据集进行模型训练,在进行检测时,如果节点不能归属到任何一簇中,则将该节点标记为异常节点。
7、进一步的,所述(1)的具体过程如下:
8、1.1)网络流转化表定义:将网络中的双向网络流转换成列表;列表中包含四元组,分别是srcip、destip、srcw、destw;
9、其中srcip是源主机ip地址,destip是目标主机ip地址,srcw是srcip向destip发送数据报的数量,destw是destip向srcip发送数据报的数量;
10、1.2)网络流图构建:基于步骤1.1)中构建的网络流转化表构建网络流图,具体如下:
11、基于网络流转化表构建网络流图;基于网络流图中,每个节点代表一个唯一的ip地址,节点与节点之间用有向边连接在一起的过程,构建一个有向图g(v,e);其中边的权重为srcw或destw的数值,v是一组顶点,e是一组加权有向边,
12、
13、进一步的,所述(2)中,提取的图特征包括节点的入度id、节点的出度od、节点的入度权重idw、节点的出度权重odw、节点的介数中心性bc及节点的pr。
14、进一步的,所述(3)的具体过程如下:
15、3.1)ig分数计算:使用ig算法,计算出每个特征的ig分数,度量每个特征在目标类变量上下文中的信息重要性;ig的计算公式如下:
16、ig=h(c)-h(c|f) (3)
17、
18、
19、其中h(c)是特征c类的熵,c为特征可能取值的数量,p(c)表示特征取值c出现的概率;h(c|f)表示在给定特征f下特征c的条件熵,f表示特征f类可能取值的数量,p(f)表示特征取值f出现的概率,p(c|f)表示特征取值c在给定f下出现的概率;
20、3.2)特征向量生成:
21、3.2.1)使用sigmoid函数,将每个特征对应的特征值映射到同一数值空间,具体函数定义如下:
22、
23、其中x表示对应的特征值;
24、3.2.2)对对应的特征值进行如下处理:
25、
26、其中igx表示特征x对应的ig分数;最终每个节点v可生成一个六维的特征向量每个维度分别代表:节点的入度id、节点的出度od、节点的入度权重idw、节点的出度权重odw、节点的介数中心性bc、节点的pr;其中每个维度的取值范围在0-1之间。
27、进一步的,所述(4)中以作为输入,采用k-means算法进行离群点检测,k-means算法采用欧式距离计算节点与聚类中心的距离,公式如下:
28、
29、其中a为节点的特征向量表示,e为聚类的中心特征向量表示,n表示特征向量的维度;具体训练及检测的过程如下:
30、4.1)在训练阶段,采用良性数据集进行训练,通过测试最合适的k值,将数据分为k簇;
31、4.2)在检测阶段,若某个节点不能被正确的分类到任何一个簇中,则将其设为异常。
32、通过采用上述技术,与现有技术相比,本专利技术的有益效果如下:
33、本专利技术通过构建网络流图,可以更好地帮助识别网络中的主机之间的通信模式;通过提取网络流图的一组特征,可以更好地捕获当前主机网络特征,能够更精确地表示系统行为;过学习系统的良性行为模式来进行异常检测,可以检测到未知的攻击模式。
本文档来自技高网...【技术保护点】
1.一种基于K-means聚类算法的僵尸网络攻击检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于K-means聚类算法的僵尸网络攻击检测方法,其特征在于,所述(1)的具体过程如下:
3.根据权利要求2所述的一种基于K-means聚类算法的僵尸网络攻击检测方法,其特征在于,所述(2)中,提取的图特征包括节点的入度ID、节点的出度OD、节点的入度权重IDW、节点的出度权重ODW、节点的介数中心性BC及节点的PR。
4.根据权利要求3所述的一种基于K-means聚类算法的僵尸网络攻击检测方法,其特征在于,所述(3)的具体过程如下:
5.根据权利要求4所述的一种基于K-means聚类算法的僵尸网络攻击检测方法,其特征在于,所述(4)中以作为输入,采用K-means算法进行离群点检测,K-means算法采用欧式距离计算节点与聚类中心的距离,公式如下:
【技术特征摘要】
1.一种基于k-means聚类算法的僵尸网络攻击检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于k-means聚类算法的僵尸网络攻击检测方法,其特征在于,所述(1)的具体过程如下:
3.根据权利要求2所述的一种基于k-means聚类算法的僵尸网络攻击检测方法,其特征在于,所述(2)中,提取的图特征包括节点的入度id、节点的出度od、节点的入度权重idw、节点的出...
【专利技术属性】
技术研发人员:朱添田,李红梅,陈铁明,
申请(专利权)人:浙江工业大学台州研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。