法律状态公告日
法律状态信息
法律状态
2019-10-25
授权
授权
2017-05-24
实质审查的生效 IPC(主分类):H04W12/00 申请日:20170221
实质审查的生效
2017-04-26
公开
公开
技术领域
本发明属于无线传感器网络信息安全技术领域,涉及一种动态自适应的无线传感器网络入侵检测智能算法。
背景技术
无线传感器网络入侵检测系统通过收集和分析传感器节点信息,分辨出节点是否存在异常行为,并发出警报给管理员。入侵检测技术能够实时检测节点攻击行为,有效地弥补安全防御技术的不足。因此,入侵检测技术是保障无线传感器网络安全的关键技术之一。
Athmani等人通过控制节点与基站的包传输来抵御黑洞攻击。该方案能节省节点能量,但它难以抵御泛洪攻击。因为泛洪攻击增加的是节点之间包传输的数量。为降低入侵检测的能量消耗,Di Sarno和Garofalo仅利用能量消耗信息来检测多层泛洪攻击。然而,该方法难以检测与能量消耗信息无关的攻击行为。例如,在选择转发攻击中,恶意节点只转发或不转发特定节点的数据包,这对节点的能量消耗几乎没有影响。Lim和Huie提出Hop-by-Hop Cooperative Detection方法来减少恶意转发的概率并达到95%以上的包投递率,但是该方法没有提及如何检测与恶意转发无关的攻击,如泛洪攻击等。Sarigiannidis等人通过基于测距的UWB检测算法建立了一个RADS(arule-basedanomalydetection system)专家系统,该系统不需要节点合作和数据分享就能监测女巫攻击。然而,RADS不能检测规则中未定义的攻击行为。Obado等人通过计算源节点到目的节点之间最短路径的跳数构建HiddenMarkov Model(HMM)算法来检测蠕虫攻击。HMM算法能减少节点的能量消耗,但是难以识别与跳数无关的攻击,如泛洪攻击和Rushing攻击等。虽然上述入侵检测系统具有较好的检测性能或者较少的能源消耗,但它们只能检测一种攻击行为。
Shamshirband等人提出Co-FAIS(cooperative multi-agent based fuzzyartificial immune system)方法来检测层级网络中的DDoS攻击(distributed denial-ofservice attack)。在该方法中,簇头和基站共同选择一个能发现并报告潜在攻击的最优策略,但是作者没有说明在平级网络中节点和基站之间如何协作并实施该方法。平级网络遭受污水池攻击时,基于污水池周围节点的剩余流量远小于其他节点的原理,Shafiei等人建立了一个地质风险模型和分布式监控方法来检测并抵御污水池攻击。然而,当污水池攻击发生在层级网络的簇头时,簇头周围节点的剩余能量与没有攻击时的情况并无显著差异。网络结构的特性一方面为检测模式提供了便利,然而在另一方面却限制了检测模式的应用范围。
综上分析,当前入侵检测算法需要解决两个问题:1.当前入侵检测算法通常只能检测一种攻击行为。2.当前入侵检测算法通常依赖网络结构,使其难以适应不同的网络结构。
发明内容
有鉴于此,本发明的目的在于提供一种动态自适应的无线传感器网络入侵检测智能算法,该算法不依赖网络结构,且能够检测不同形式的网络攻击并保持高检测率和低误报率。
为达到上述目的,本发明提供如下技术方案:
一种动态自适应的无线传感器网络入侵检测智能算法,该方法包括以下步骤:
步骤一:无线传感器网络节点每隔一个时间间隔Δt发送其状态信息给基站;基站将在时间[0,t]内收到的节点状态信息定义为网络流量;网络流量以时间点m分界线分割为训练数据和测试数据;将无线传感器网络初始化后短暂时间[0,n]时间内状态信息定义为正常数据,该时间段内不存在任何攻击行为;
步骤二:数据归一化,将训练数据通过max-min标准化方法进行归一化;
步骤三:通过均值漂移聚类算法偏移正常数据的初始特征向量x1得到初始偏移轨迹;偏移轨迹内经过的点认为是属于同一个聚类,轨迹的最后一个点认为是聚类中心;x1之后的训练数据依据初始偏移轨迹进行聚类,得到多个簇;将包含正常数据的簇标记为正常簇,将偏离正常簇最远的簇标记为异常簇,剩余的簇就近合并到正常簇或异常簇;
步骤四:正常簇和异常簇中的点根据点到其聚类中心的距离分配权值;将训练数据、簇标记和权值作为输入给加权支持向量机来生成决策函数;决策函数用于检测测试数据正常或异常;
步骤五:通过决策函数将测试数据标记为正常或异常;根据决策结果将这些特征向量划分到对应的簇中,并用于更新决策函数;
步骤六:每隔一个更新时间ΔT,将已决策的数据加入到训练数据,并根据均值漂移聚类算法从新的训练数据中获取新的聚类中心;根据新的聚类中心更新训练数据的权值;最后通过加权支持向量机从新的训练数据和新的权值中生成新的决策函数。
进一步,在步骤一中,所述的节点状态信息定义为一个d维的特征向量
进一步,在步骤二中,给定训练数据:
则矩阵XTrain每一列的最小值和最大值的集合分别表示为向量:
通过公式(1)将每个xt∈XAll归一化:
其中,xtp是被归一化的特征向量。
进一步,在步骤三中,给定在d维空间Rd的nr个特征向量
其中,g(x)=-k′(x);k′(x)和h分别是核函数k(x)的导数和带宽;k(x)由多元核函数K(x)定义,K(x)为
其中,ck,d是一个使K(x)积分为1的常量;在x1的偏移过程中,x1经过路径上的所有点被认为属于同一个聚类,最后一个点被认为是该聚类的中心;记录特征向量的偏移轨迹为:
将x1的轨迹点pk,k=1,2,...和它的偏移距离dk,k=1,2,...记录为一个相似集s1:
s1={(p1,d1),(p2,d2),...,(pk,dk)}k=1,2,...(4)
相似集合表示为
S={s1,s2,...,si}i=1,2,...>
定义聚类中心集合为
C={c1,c2,...,cj}j=1,2,...(6)
根据x1的偏移轨迹,x1之后的特征向量xi,i=2,3,..,tr将通过下面两个步骤进行聚类:
步骤1:计算xt与每个相似集
步骤2:xt执行与x1相同的步骤得到新的相似集st和聚类中心ct;如果在c中存在于聚类中心ct相等的cj,更新sj-st∪sj,否则将ct和st分别加到c和s中;
经过这两个步骤后,训练集将被划分为多个簇,包含正常数据的簇被标记为正常簇,而与正常簇头距离最远的簇被标记为异常簇,其它的簇就近合并到正常簇或异常簇中,最后这些簇合并成两个簇,即正常簇和异常簇。
进一步,在步骤四中,给定tr个数据
其中yt代表分类标签(即异常或正常);则分类函数可以描述为公式(8)
f(x)=sign(<w,x>+b)(8)
其中,w为权值向量,b为偏置;为了估计w和b的值,加权支持向量机需要解决下面的最优问题:
其中,v是一个固定的误分类惩罚因子;ξt是一个控制噪声的松弛变量;函数
其中,c是xt的聚类中心;根据拉格朗日对偶定理,问题(9)可以转化为一个二次规划问题:
其中,at是拉格朗日参数;支持向量机的KKT条件定义为
则优化参数w和b为:
因此,决策函数为:
本发明的有益效果在于:与现有的技术相比,本发明的优点在于:
1)网络节点仅需要记录并传输节点状态信息而不参与异常行为的决策,基站负责接收节点状态数据来判断节点的行为。这使得本算法不依赖于网络结构特性,而且本算法也不会因为节点被俘获而失效。
2)基于攻击行为会使特征偏离正常的范围并形成不同的聚集的原理,本算法通过改进的均值漂移聚类算法将偏离正常的行为标记为异常而不需要任何先验知识。均值漂移聚类算法可以发现特定数量的簇,这使得本算法能够检测不同形式的攻击行为。
3)本算法通过加权支持向量机最大化正常簇与异常簇的间隔来减少分类误差,这提高算法的检测率并降低了算法的误报率。
4)随着网络特征的变化,本算法的决策函数会周期更新,这提高了算法的泛化能力。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为本发明的无线传感器网络结构图;
图2为本发明的算法流程图。
具体实施方式
下面将结合附图,对本发明的优选实施例进行详细的描述。
图1为本发明的无线传感器网络结构图,网络节点每隔一个时间间隙Δt发送其状态信息(特征向量)给基站,基站将收到的特征向量集以时间点m分割为训练数据与测试数据,时间[0,n]内的特征向量集合为正常数据。
图2为本发明的算法流程图,如图所示,主要包括以下步骤:
预处理:采用min-max标准化方法将网络特征归一化。
训练:通过均值漂移算法将训练数据聚类为多个簇,并根据簇中心之间的相对距离合并成两个簇。以正常数据为模版将这两个簇标记为正常或异常。训练数据的每个特征向量根据它与它所在的簇中心之间的距离来分配权重。将标记并加权的训练数据作为加权支持向量机的输入来构建决策函数。
检测:测试数据通过决策函数判别正常或异常。
更新:在检测阶段,每隔更新时间ΔT=kΔt,k∈N+,将决策函数判定后的检测数据加入到训练数据来重建决策函数。
具体来说:
步骤一:无线传感器网络节点每隔一个时间间隔Δt发送其状态信息给基站;基站将在时间[0,t]内收到的节点状态信息定义为网络流量;网络流量以时间点m分界线分割为训练数据和测试数据;将无线传感器网络初始化后短暂时间[0,n]时间内状态信息定义为正常数据,该时间段内不存在任何攻击行为。
所述的节点状态信息定义为一个d维的特征向量
步骤二:数据归一化,将训练数据通过max-min标准化方法进行归一化。
给定训练数据:
则矩阵XTrain每一列的最小值和最大值的集合分别表示为向量:
通过公式(1)将每个xt∈XAll归一化:
其中,xtp是被归一化的特征向量。
步骤三:通过均值漂移聚类算法偏移正常数据的初始特征向量x1得到初始偏移轨迹;偏移轨迹内经过的点认为是属于同一个聚类,轨迹的最后一个点认为是聚类中心;x1之后的训练数据依据初始偏移轨迹进行聚类,得到多个簇;将包含正常数据的簇标记为正常簇,将偏离正常簇最远的簇标记为异常簇,剩余的簇就近合并到正常簇或异常簇。
给定在d维空间Rd的nr个特征向量xt∈XNor,t=1,2,...,nr,初始特征向量x1通过累加偏移向量mh来不断偏移自身,其中mh由公式(2)计算得来(x1的偏移会改变mh);当mh低于给定的阈值,x1停止偏移;
其中,g(x)=-k′(x);k′(x)和h分别是核函数k(x)的导数和带宽;k(x)由多元核函数K(x)定义,K(x)为
其中,ck,d是一个使K(x)积分为1的常量;在x1的偏移过程中,x1经过路径上的所有点被认为属于同一个聚类,最后一个点被认为是该聚类的中心;记录特征向量的偏移轨迹为:
将x1的轨迹点pk,k=1,2,...和它的偏移距离dk,k=1,2,...记录为一个相似集s1:
s1={(p1,d1),(p2,d2),...,(pk,dk)}k=1,2,...>
相似集合表示为
S={s1,s2,...,si}i=1,2,...(5)
定义聚类中心集合为
C={c1,c2,...,cj}j=1,2,...(6)
根据x1的偏移轨迹,x1之后的特征向量xi,i=2,3,..,tr将通过下面两个步骤进行聚类:
步骤1:计算xt与每个相似集
步骤2:xt执行与x1相同的步骤得到新的相似集st和聚类中心ct;如果在C中存在于聚类中心ct相等的cj,更新sj=st∪sj,否则将ct和st分别加到C和S中;
经过这两个步骤后,训练集将被划分为多个簇,包含正常数据的簇被标记为正常簇,而与正常簇头距离最远的簇被标记为异常簇,其它的簇就近合并到正常簇或异常簇中,最后这些簇合并成两个簇,即正常簇和异常簇。
步骤四:正常簇和异常簇中的点根据点到其聚类中心的距离分配权值;将训练数据、簇标记和权值作为输入给加权支持向量机来生成决策函数;决策函数用于检测测试数据正常或异常。
给定tr个数据
其中yt代表分类标签(即异常或正常);则分类函数可以描述为公式(8)
f(x)=sign(<w,x>+b) (8)
其中,w为权值向量,b为偏置;为了估计w和b的值,加权支持向量机需要解决下面的最优问题:
其中,v是一个固定的误分类惩罚因子;ξt是一个控制噪声的松弛变量;函数
其中,c是xt的聚类中心;根据拉格朗日对偶定理,问题(9)可以转化为一个二次规划问题:
其中,at是拉格朗日参数;支持向量机的KKT条件定义为
则优化参数w和b为:
因此,决策函数为:
步骤五:通过决策函数将测试数据标记为正常或异常;根据决策结果将这些特征向量划分到对应的簇中,并用于更新决策函数;
步骤六:每隔一个更新时间ΔT,将已决策的数据加入到训练数据,并根据均值漂移聚类算法从新的训练数据中获取新的聚类中心;根据新的聚类中心更新训练数据的权值;最后通过加权支持向量机从新的训练数据和新的权值中生成新的决策函数。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。
机译: 基于卡尔曼滤波器的智能算法管理功率系数自适应动态校正的方法及其实现装置
机译: 具有动态功率自适应的更多载波接收机,以及一种用于动态自适应更多载波接收机功耗的方法
机译: 一种具有动态窗口大小的滑动窗口方法的设备和方法,用于在无线传感器网络节点上进行标量乘法。