APP下载

基于K-means聚类的物联网中数据安全检测算法

2019-05-25周挺

微型电脑应用 2019年5期
关键词:路由黑洞聚类

周挺

(西安航空职业技术学院 电子工程学院, 西安 710089)

0 引言

计算机技术、电子技术的不断发展推动着科技的不断进步,世界信息产业掀起了物联网的热潮。目前各国都在进行相关理论和应用的研究,随着物联网行业发展被列入我国家十二五发展规划,物联网的发展将迎来一个新的契机。物联网作为一个旨在实现事物泛在感知的系统,其由各种传感器网络、射频阅读器等各种信息获取设备和通信系统构成。作为物联网中实现事物数据感知的重要技术传感器网络的诞生,为实现事物的泛在感知提供了可能。然而,感知设备的私有性以及其常被部署到无人值守的区域的特点,导致了传感器网络的安全问题成为不可逃避的问题。

目前常用的安全检测方法可分为密钥管理、认证和安全路由协议等方面,但是现有的方法尚不能防御存在的许多网络攻击。因此物联网系统需要采用一种积极的防御机制,以实现对物联网中各种攻击的入侵检测。在入侵检测方面,众多学者开展了众多研究,文献[1]针对网络中的女巫攻击采用了一种基于分区的入侵检测算法,然而节点的部署需要有一定限制;文献[2]采用选择网络中见证点的方式实现见证目标,但是需要满足网络中每个节点位置坐标已知得前提之下进行;文献[3,4]对文献[2]中的问题进行了改进,其见证节点的选择不再采用随机的模式进行,而是进行指定性部署;文献[5]通过改进的路由协议来实现攻击节点的快速检测;文献[6,7]分别采用基于位置的密码机制对包含网络攻击进行检测,然而大部分时间内网络中节点的位置并不一定能够正常获取。

上述研究虽然在一定程度上增加了网络的安全性,但通常需要在一定的硬件支持下才能够完成。为此本文从网络数据层面进行分析,研究了一种适用于所有物联网传感节点的网络入侵检测方法。

1 物联网体系结构

根据通信过程和对象的不同,物联网可以表述为用于物与物、物与人之间信息交互,并以实现全面感知、信息传输和智能传输为目标的技术[8]。其实现依赖于对被观测事物进行检测并实现联网功能的传感器节点,由众多传感器节点构成的网络叫做传感器网络。传感器网络主要用于实现物与物之间的连接,同时受到网络自组织结构、硬件资源限制,其一般以短距离、低功耗的无线传输形式存在。传感器网络与物联网之间的关系可以表述为图1所示。

图1 物联网与传感器网络之间关系

如图2所示,在传感器网络中每一个集群中都含有一个通信能力较强的节点充当网络中的网关节点,其被称为簇头。其他节点中数据如果需要与基站进行通信则需要通过簇头进行转发。

图2 网络结构图

传感器网络是物联网中实现泛在感知的基础,其节点分布众多且多处于无人监守的地点,同时受其硬件资源限制,其安全问题是物联网研究中尤为重要[9]。如何在网络中出现攻击者之后,尽早发现并找出恶意节点是保障物联网通信过程安全的重要问题。

2 数据安全问题分析

在诸如战场监视、目标跟踪等应用中,传感器网络节点通常部署在恶劣的环境中。攻击者不但可以对无线电进行窃听,也可以对传输信息进行截获。其目前的主要形式主要有以下几种。

1)黑洞攻击

黑洞攻击是指网络中一个或者多个传感器节点在收到相邻节点发送的数据信息后,并不按照既定方式进行数据转发,而是将数据全部丢弃进而形成一个数据的“黑洞”[10]。通常,黑洞攻击可分为主动和被动两种。在被动黑洞攻击中,通常黑洞节点只是将经自己转发的数据进行在线监听并丢弃;而在主动黑洞攻击中, “黑洞”节点通过向邻居节点宣称自己为下一条的最佳路径的方式去吸引更过的数据源,因此被动的黑洞攻击具有更高的破坏性。黑洞攻击的原理如图3所示。

(a)被动式黑洞功击 (b)主动式黑洞功击

2)虚假路由信息攻击

此类攻击主要采用篡改路由信息、引导网络按照一种延长或者缩短的既定路径进行传递,从而实现分割既定网络的目的,因此将造成网络中数据端到端传输延时增长。如图4所示,其中(a)为正常通信时源节点到目的节点之间的通信路径,图(b)为受到虚假路由攻击后源节点与目的节点之间的通信路径。由图可以直观的看出网络通信路径明显延长了,从而网络延时也大大增加。

(a)正常路由 (b)虚假路由攻击

3)虫洞攻击

虫洞攻击的攻击者至少包含两个传感器节点,其主要通过在两个攻击者之间建立一条低时延、高带宽的理想通道来实现将监听到的消息传输到另一个网络节点进行重放的目的。由于“理想通道”的存在使得网络中都会优先选用这条路径,最终有可能导致网络发现过程的失败。

4) 女巫攻击

女巫攻击的攻击模式是通过为自己建立虚假身份信息达到冒充其他节点的目的[11]。传感器网络中其他节点同样会将数据传输给攻击节点和被复制身份的正常节点,攻击者从而达到了数据窃听的目的。同时,由于网络中存在相同身份的两个节点所以在某些定位服务中可能出现定位失败的情况。

3 数据安全检测算法

针对传感器网络中的数据安全问题,本章节从特攻击类型进行分析,并对网络入侵检测算法进行介绍。

3.1 数据攻击分析

3.1.1 数据特征提取

针对上文的网络攻击模式可知,黑洞攻击的主要特点为数据的丢失,设网络节点i的接收、发送的流量分别为Trri、Trsi,若存在Trri>0,且理论上发送数据应大于0但实际Trsi=0,则网络中可能存在黑洞攻击节点;在虚假路由攻击、虫洞攻击以及女巫攻击中,显著的特点在于网络路由的变更,因此直接导致的结果是数据端到端延时的增加。文献[12]提出了一种传感器网络节点中通信数据延时的获取方法。因此网络节点处的数据流量、数据端到端延时可以作为网络入侵的检测依据之一,以下对本文的网络入侵检测方法进行分析。

3.1.2 数据聚类分析

物联网概念的提出旨在实现对事物的泛在感知,因此作为数据采集最前端的传感器网络的数据类型将会呈现多元化、异构性的特点。传输数据量的大小、网络路由协议的差异等都会导致网络中数据端到端延时的差异,因此在数据入侵检测之前对数据的前期处理是必不可少的。为提取不同传感器网络节点数据的差异,本文采用K-means聚类方法对数据进行聚类分析。K-means聚类方法具有较好的聚类特性,可根据数据集合元素之间“距离”的差异,将数据集分成k个子集并且各个子集都存在一个聚类中心,不同的子集之间耦合性为零。K-means聚类的步骤如下:

1)根据聚类需求选取k值,其中k>1;

2)聚类初始化阶段,设数据集合中包含total个数据样本,其样本用vi表示,随机选取k个样本Center1, Center2,…, Centerk作为初始聚类中心;

5)重复3)和4),以误差平方最小作为聚类性能判定条件,直到聚类中心Centern不再发生变化。

6)算法结束,输出k个聚类中心数值及聚类结果。

3.2 传感器网络入侵检测算法

3.2.1 符号描述

Trsi:节点i发送的数据流量

Trri:节点i接收的数据流量

Ti:节点i处的传输延时

dij;节点i与上一条节点j之间的距离

df:与聚类后中心距离最远的节点距离

2R:网络中的最大通信距离

3.2.2 检测算法实现

设物联网中存在n个传感器节点,以下对其检测过程进行描述。

1)入侵检测部分

步骤1:选取任意节点i处的网络收发流量Trri、Trsi以及数据传输延时Ti作为网络中的观察对象。节点i的特征向量可表示为Vi=(Trsi,Trri,di,Ti) 。网络中所有节点在某时刻的特征向量构成集合Vset。

步骤3:利用K-means聚类方法,将采集的数据集合分成k组,分别用数据集合Ck表示,其中数据成员为vi。

步骤4:数据检测过程

步骤5:生成不同网络攻击类型的数据集合,并更新网络攻击模型中各种属性的阈值。

上述步骤可用伪代码表示为:

入侵检测部分伪代码1:Input:Vset={Vi|i∈G},dmax,Tf2:Initial:Vmean=∑i∈GVinodeCount(G)3:If di·Ti>dmax·Tf4: Then V′i=Vmean5: End If6:采用K-means方法获取聚类结果:Ck,vi7:If Ti>T′i8: Then i为攻击节点9: Elseif Trri≠AND T′rsi≠0 AND Trsi=0 10: Then i为黑洞节点并添加到Vblackattack11: Elseif i为正常节点并添加到Vnormal12: End If13: If dij<2R AND Trri>T′rri14: Then i为协作节点并添加到Vcooperation15: Elseif i为正常节点并添加到Vnormal16: End If17: Output:Vblackattack、Vcooperation,Vnormal

2)节点权限管理部分:

为避免偶然因素引起的节点通信异常导致的误判对系统造成的影响,本文以其与正常节点的“距离”作为判定依据,进行网络节点的控制。设网络中权限管理部分采用独立密钥进行,其执行过程如下:

步骤1:计算网络中疑似攻击节点Vj与所在聚类中心的距离Pj。

步骤3:主站通过密钥的形式对流量限制指令进行下发。

步骤4:在接下来的p次检测中,若该节点均被判定为正常节点,则通过指令撤销对其节点流量的限制。

上述步骤可用伪代码表示为:

节点权限管理伪代码1:Input:Vblackattack、Vcooperation2:获取任意节点j的聚类中心Ck3:Pj=VjCk4:设置流量阈值Mj= T′rrj-μPj5:For 1 to n6: 通过入侵检测程序检测j是否为正常节点7: If j为正常节点8: NormalCount++9: End If10: End For11:If NormalCount==n12: Then设置流量阈值 M= T′rrj13:End If14: Output:M={Mj/j∈Vblackattack、Vcooperation}

本文算法的流程图,如图5所示。

图5 算法流程图

4 实验结果与分析

本文采用Openet仿真软件进行仿真,其仿真环境如表1所示。

网络中攻击节点数目为总数的10%,即72个。我们设置其中42个节点为黑洞攻击节点、10个节点为虚假路由攻击节点、4个女巫攻击节点、16个虫洞攻击节点。

表1 仿真参数设置

为对网络入侵效果进行检测,我们选取检出率(DR)和误检率(FPR)作为主要评价指标。设网络中正确检测出的攻击节点数目为TP,没有检测出的攻击节点数目为FN;判定为攻击节点的正常节点数目为FP,判定为攻击节点的攻击节点的数目为TN。则其表达式为:

(1)

(2)

如表2所示为网络中部分节点的数据延时。其中节点4为网络中黑洞攻击节点,其存在一定的网络延时,但网络中虫洞攻击节点1的网络延时更大。

如表3所示,网络中节点7接受的数据流量大于正常阈值,通过查找节点7的邻居节点可知其包含节点1,因此节点7为攻击节点1的数据转发终端。

为验证本文方法的有效性,分别采用文献[6,7]和本文方法在上述仿真环境下随机部署攻击节点进行10次仿真实验,并对其检出率和误检率进行统计,检测结果如图6和图7所示。由图中可得,本文算法的检出率明显高于其他两种算法,同时误检的概率也比其他算法要低。

表3 网络节点接收流量数据(单位:bps)

图6 不同次实验的检出率

图7 不同次实验的误检率

5 总结

针对物联网的安全问题,本文从安全性较弱的无线传感器网络出发,对目前存在的网络攻击模式进行分析,并提出了一种应用与物联网的高效入侵检测方法。为减弱算法检测错误带来的弊端,提出了基于流量限制的节点权限控制策略,提升了物联网通信的安全性。通过与常用算法进行比较,本文提出的方法明显提升了网络入侵的检测水平,适用不同场景下对物联网安全的保障。

猜你喜欢

路由黑洞聚类
一种傅里叶域海量数据高速谱聚类方法
HAYDON黑洞
数据通信中路由策略的匹配模式
路由选择技术对比
OSPF外部路由引起的环路问题
5500万光年之外的“黑洞”,是如何被拍到的
黑洞什么样,有图有真相
路由重分发时需要考虑的问题
面向WSN的聚类头选举与维护协议的研究综述
改进K均值聚类算法