[发明专利]基于SPRT算法的无线传感器网络恶意蠕虫检测方法有效
申请号: | 201910128848.5 | 申请日: | 2019-02-21 |
公开(公告)号: | CN109862017B | 公开(公告)日: | 2021-04-13 |
发明(设计)人: | 杨立君;郑文添;吴蒙 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04W12/122 |
代理公司: | 南京苏科专利代理有限责任公司 32102 | 代理人: | 陈栋智 |
地址: | 210003 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 sprt 算法 无线 传感器 网络 恶意 蠕虫 检测 方法 | ||
1.基于SPRT算法的无线传感器网络恶意蠕虫检测方法,其特征在于,包括以下步骤:
步骤1,网络预处理,具体内容如下:
步骤1.1,在传感器网络部署前对每一个传感器节点分配唯一的ID号同时分配私钥进行节点之间的通信,以便当一个节点u接收到另一个节点v发来的分组包时,通过密钥验证节点之间通信来防止蠕虫病毒仿造节点ID来增加蠕虫检测的误报率;
步骤1.2,在传感器网络部署完成之后,每个节点需要找到自己的邻居节点并以Pd的概率周期性地将自己选举为监控节点,使得节点依次成为监控节点,通过周期性地选举监控节点避免其受到攻击,同时可以让每个节点依次成为监控节点,节约每个节点的能量;
步骤2,通信模式收集存储,具体内容如下:
步骤2.1,当节点u接收到来自另一个节点v的数据包,节点u将检查分组包的目的地址是自身以及节点v是自身节点的邻居节点,那么节点u将分组包的源节点ID和目标节点ID以概率Pf广播发送给它的邻居节点,上述过程称作通信模式;
步骤2.2,节点u的邻居节点在接收到通信模式的时候,如果该邻居节点是检测节点,那么该邻居节点接收并保存该通信模式,否则丢弃该通信模式;
步骤2.3,定义检测节点为w,则检测节点为w接收邻居节点广播的通信模式,进行蠕虫检测;具体步骤如下:
步骤2.3.1,检测节点w将整个检测时域分成一系列的时隙,在每一个时隙中保存通信模式信息,每当检测节点w接收到一个通信模式(si,di),检测出si和di是检测节点w的邻居节点,则节点w在内存中存储(si,di);
步骤2.3.2,接着当检测节点w的内存中检测到已经存在(sj,dj),其中di=sj或者si=dj,那么可以组合成融合通信模式(si,di,dj)或者(sj,dj,si),同时对计数器M进行加一操作;其中计数器M用于统计融合通信模式的合成次数,在每一个时隙开始时M初始化或重置为0,每当有通信模式融合计数器加一;
在蠕虫节点传播下,检测节点w会有若干融合通信模式产生,因此M的值大于1,每一个时隙中M的值都可以作为节点w的邻居区域是否有蠕虫传播的依据,在每一个时隙中,当M=0,可以直接接受空假设H0网络中没有蠕虫传播;当M1,则根据M值的大小选取M个采样值来加速接受H1网络中有蠕虫传播,将这一过程定义为偏向采样方案,能够产生更多的样本加速SPRT算法接受H1假设,并能够快速的检测到网络中的蠕虫传播区域;
步骤3,SPRT蠕虫检测,具体内容如下:
蠕虫没有在网络中传播为空假设H0,蠕虫在网络中传播为选择性假设H1,检测节点在第k个时隙时的计数器M的值为Mk,通过Mk定义伯努利随机变量Ak如下式所示:
伯努利随机变量成功的概率为γ,也即网络中有融合通信模式出现的概率为:
γ=Pr(Ak=1)=1-Pr(Ak=0)
因为假设H0和假设H1在整个样本空间中是独立的,所以有:
Pr(Ak)=Pr(Ak|H0)×Pr(H0)+Pr(Ak|H1)×Pr(H1)
单独考虑Pr(Ak=1)的话,可得下式:
由该式可以推出Pr(Ak=1|H0)随着Pr(Ak|H1)×Pr(H1)减小而增大,Pr(Ak=1|H1)随着Pr(Ak|H0)×Pr(H0)的减小而增大,蠕虫节点的检测率越高则漏报率就越低;
γ的门限值为γ0和γ1,当检测节点运行SPRT算法检测到γ<γ0,则网络中并没有蠕虫传播;当检测到γ>γ1则网络中发生了蠕虫传播;所以判断传感器网络中是否有蠕虫传播可以归结成一个假设检验问题,问题的空假设为H0,选择假设为H1;
基于该问题的描述,给出检测节点w如何通过n个样本结合SPRT算法做出决策,其中Ak为一个采样样本,SPRT的对数概率比Rn为:
因为每个时隙间产生融合通信模式是互相独立的,假设每个样本Ak之间是独立同分布的,那么Rn可以改写为:
n个采样样本中Ak=1的情况为δn,γ0=Pr(Ak=1|H0),γ1=Pr(Ak=1|H1),那么有:
基于对数概率比Rn,SPRT的运算规则如下:
其中α'代表用户配置的最大容许的误报率,β'代表用户配置的最大容许的漏报率,则有:
那么SPRT算法的运算规则可以修改为如下:
当SPRT算法接受了假设H0,那么检测节点w重启SPRT算法继续检测;当SPRT算法接受假设H1,那么检测节点w向邻居节点发送广播说明本地有节点被蠕虫感染;然后检测节点和其邻居节点使用软件认证方案分别对其邻居节点进行蠕虫检测,在检测到蠕虫节点之后使网络中的其他节点不再与蠕虫节点进行通信;
当一个蠕虫节点感染邻居节点的速率慢时,那么在网络中就不会频繁地出现融合通信模式,这样一来蠕虫节点会被当做是良性节点,则需动态地改变采样样本的门限值;
由于γ0代表网络中没有蠕虫病毒传播,而检测节点出现了融合通信模式的概率,该概率也即代表了传感器节点在判断网络中没有蠕虫病毒传染的时候能够最大承受的监控节点有融合通信模式发生的概率,当蠕虫病毒能够掌握这个信息,那么它可以动态地改变自己的成对感染率,将自己伪装成良性节点;
因此,将γ0替换成γ0κ,并采用随机参数κ动态修改γ0κ,随机参数κ的值大于1,也即γ0κ<γ0;随机参数κ服从[1,θmax]的均匀分布,在每一个时隙运行SPRT算法时随机选取κ值,使得攻击者无法动态改变蠕虫的成对感染率,可检测传播速度慢的蠕虫病毒;
则SPRT算法的对数概率比扩展为下式:
因此SPRT算法的修改规则相应的修改为:
其中L0(n),L1(n)如下所示:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910128848.5/1.html,转载请声明来源钻瓜专利网。