无线传感器网络的混合入侵检测方法

文档序号:7644820阅读:230来源:国知局
专利名称:无线传感器网络的混合入侵检测方法
技术领域
本发明是一种无线传感器网络的安全保护方案,主要用于解决无线传感器网络所遭受的各种安全攻击和安全问题,属于无线传感器网络和信息安全交叉技术应用领域。
背景技术
无线传感器网络是由大量廉价的低功率传感器节点通过无线多跳方式自组织形成的一种新型网络,广泛应用于军事、医疗健康、工业控制、环境监控、智能家居等安全性要求较高的重要场合。传感器节点具有体积小,计算、通信和存储能力差,由无法更换的一次性电池供电等特点,且往往被部署在无人值守的开放、恶劣环境中。比传统网络和一般自组织网络(Ad Hoc网络)更加容易遭受包括被动窃听、物理破坏、碰撞、注入或者篡改网络数据包、选择性转发、路由欺骗和拒绝服务等攻击。
解决网络安全问题可以采用加密、认证等基于预防的技术,预防可以减少攻击,却不能杜绝攻击。尤其,在无线传感器网络中,当节点被俘获并被攻击者重新编程,他们就可以以合法的身份访问网络。况且,传感器节点在计算、通信和存储等方面能力的限制,网络拓扑的动态特性和网络可扩张性要求使得高效的基于预防的安全技术难以实施。所以有必要在无线传感器网络中设计并实施有效的入侵检测系统作为安全的第二道防线。
入侵检测技术根据不同的标准可以分为基于主机和基于网络的入侵检测、基于异常和基于模式的入侵检测、集中式和分布式入侵检测,将这些检测技术有机地结合有利于发挥各自的优势。传统的入侵检测技术不能直接应用于无线传感器网络,即使是适用于Ad Hoc网络的入侵检测技术也不一定就直接适用于无线传感器网络,需要专门设计无线传感器网络的入侵检测方法。
无线传感器网络与Ad Hoc网络都是自组织无线网络,但无线传感器网络有着自身特有的性质和安全需求,不能将适用于Ad Hoc的入侵检测系统直接应用于无线传感器网络。第一,Ad Hoc网络中的每个节点通常都由一个用户所持或者管理;而无线传感器网络中的每个传感器节点都是独立的,它们各自向基站发送数据和接收从基站发来的控制数据,基站通常由一个用户管理。第二,传感器节点的计算、存储、通信资源和电池能量都不及Ad Hoc网络节点,导致了基于认证和加密的安全方案难以在大规模无线传感器网络中有效实现。第三,无线传感器网络中节点的数量和密度远远大于Ad Hoc网络中节点的数量和密度,但是由于电源的限制和物理环境的恶劣,传感器节点更容易失效。第四,在大多数无线传感器网络应用中,传感器节点是静止的,且通信模式稳定,各节点以多对一的方式将传感器读取数据发送给基站,基站以一对多的方式将控制数据发给各传感器节点。

发明内容
技术问题本发明的目的是提供一种适用于无线传感器网络的混合入侵检测方法,来解决无线传感器网络面临的各种安全问题和安全攻击。通过使用本发明提出的方法可以在网络的不同层次、针对不同的网络攻击、综合不同的检测方法对网络异常和节点损害进行检测,从而达到保护无线传感器网络免受各种新旧攻击的安全目标。
技术方案本发明的方法是一种策略性的方法,在深入分析无线传感器网络现有安全技术不足的基础上,对针对无线传感器网络的不同攻击方式的特征进行量化,据此提出综合基于主机和网络、基于异常和误用、基于集中与分布等多种入侵检测方法的混合入侵检测方法。其目标是在尽量少地消耗节点和网络资源的情况下,通过简单的方法解决入侵预防技术无法有效解决的无线传感器网络的安全攻击问题。
一、体系结构无线传感器网络从逻辑上可以分为平面式和层簇式两种体系结构。平面式结构中,各传感器节点地位平等,都参与数据采集和路由转发功能。在层簇式结构中,将节点分为普通传感器节点、簇头节点和基站节点。各簇节点通过本簇簇头节点将采集的数据传送给基站节点,簇头节点相对普通传感器节点功能更强大、资源更丰富;基站是整个网络中功能最强的、资源最丰富的节点,负责整个网络的管理。本发明的方法就建立在无线传感器网络的层簇式体系结构基础上,无需添加新的设备仪器。图1给出层簇式无线传感器网络入侵检测逻辑示意图。
传感器节点将采集的关于本节点的与安全相关的数据和观测到的邻居节点异常行为发送给簇头节点,簇头节点根据收集到的各节点的信息、尤其是各节点汇报的邻居节点异常行为信息判断某节点是否入侵或被入侵,并对能确定的入侵行为进行分类和存储。簇头节点再将自己不能确定的异常行为发送给基站节点,由基站在全网范围内进行检测分析,并报用户。最后基站将入侵结果和入侵响应要求通过安全信道在全网广播。基站是整个无线传感器网络和外部其它网络及用户的接口。
二、方法流程本发明的方法采用基于主机和基于网络相结合的入侵检测技术,将检测任务分发到节点、簇头和基站三个不同的等级。一方面,将各节点视为传统网络中的主机,负责将本节点的各资源使用情况和观测到的邻居节点的异常行为信息发送给其上级节点,供进一步分析使用;另一方面,簇头节点和基站节点还要承担采集本局域或全局网络的网络信息,综合比较分析直至作出决策。
首先,普通的传感器节点采集应用数据的同时,监测邻居节点的行为,将自己当前的CPU和电能使用情况连同邻居节点的可疑行为信息发送给簇头节点。
其次,簇头节点同样需要将本节点的信息送给基站节点,此外,簇头节点对来自簇内的各节点的信息进行统计分析,包括某个节点当前信息与历史信息的比较以及节点之间信息的横向比较(假设普通节点的初始资源分配情况相同,网络部署开始一段时间内是安全的,不存在攻击)。
最后,基站根据从各簇头节点发来的统计数据,可以在全网范围内分析网络的安全状况,检测正在进行的和已经发生的入侵攻击。
本发明所述的无线传感器网络的混合入侵检测方法有机结合基于异常的入侵检测和基于模式的入侵方法,在各级节点采集完数据并转换成统计指标后,先确认该统计指标是否与本地入侵数据库某记录项匹配,若有则可直接断定发生了相同类型的攻击,用当前时间修改入侵数据库中匹配记录的入侵时间项;若没找到直接匹配的记录,则表明可能是新攻击,重新进行入侵判断和入侵行为特征入库操作。为简化模式匹配,入侵数据库中通常存放能够标识入侵特征的指标绝对值。为减轻基站存储压力、减少通信量,本发明方法要求将入侵数据库分布在各簇头节点和基站节点上,入侵数据库不能定义过大,采用类似“滑动窗口”的方法,让数据库只保留最近检测的入侵记录。入侵数据库已满的情况下,又检测到新的攻击,将最早检测到的入侵从数据库中删除。
在检测到入侵后,需要采用合适的方法,对入侵进行跟踪,需要的数据包括路由信息、拓扑观察、攻击类型和特征等。
入侵响应指对发起入侵的节点或节点集将要采取的措施,包括隔离节点、收回证书、强制被攻击节点进入睡眠状态和丢包并要求重发等,视不同攻击类型而定。
所述方法的具体步骤为1.1)各节点采集数据,计算安全统计指标,包括本节点的数据包等待时间、到达率、功率减少率和邻居节点的数据包碰撞率、发送频率,1.2)非簇头节点将步骤1.1)计算的安全统计指标发送给簇头节点,1.3)各节点执行内部攻击检测模块,1.4)簇头节点接收本簇成员发来的安全统计指标,1.5)簇头节点根据接收的安全统计指标,计算入侵特征值,1.6)簇头在本节点入侵模式数据库中寻找匹配的入侵特征值,若找到,执行步骤1.7);若找不到,将入侵特征值发送给基站,基站会根据全局拓扑信息和接收自簇头的入侵特征值,搜索保存在基站的全局入侵模式数据库,根据搜索结果执行相应的入侵响应模块,执行步骤1.8),1.7)直接执行相应的入侵响应模块,执行步骤1.9),1.8)簇头节点执行外部攻击检测模块,1.9)等待下一检测周期到达,重新执行1.1)。
簇头节点执行的外部攻击检测模块包括以下步骤2.1)判断成员节点的等待时间是否超过既定的等待时间阀值,若是,则执行步骤2.2),若否,则执行步骤2.8),2.2)判断该成员节点的邻居节点的数据包碰撞率是否超过既定的碰撞率阀值,若是,则执行步骤2.3);若否,则执行步骤2.5),2.3)记录该成员节点的邻居节点有碰撞攻击行为,通知其它邻居节点暂停数据发送,进入睡眠状态,2.4)计算碰撞攻击特征值,执行2.11),
2.5)判断该成员节点的邻居节点发送数据包的平均时间间隔是否小于既定的时间间隔阀值,若是,执行步骤2.6);若否,优先该成员节点发送数据包,执行步骤2.13),2.6)记录该成员节点的邻居节点有不公平竞争攻击行为,对该恶意节点进行隔离,2.7)计算不公平竞争特征值,执行2.11),2.8)判断该成员节点数据包的到达率或者功率减少率是否过高,若是,执行步骤2.9);若否,执行步骤2.13),2.9)记录该成员节点遭受耗尽攻击行为,要求该节点立即进入睡眠状态,2.10)计算耗尽攻击特征值,2.11)判断入侵数据库是否已满,若是,删除最早添加的入侵特征值,并将新计算的攻击特征值添加到本地入侵数据库;若否,直接将新计算的攻击特征值添加到本地入侵数据库,2.12)执行入侵跟踪与入侵响应模块,2.13)等待下一检测周期到达,执行新一轮检测。
各节点执行的内部攻击检测模块要求各节点拥有自己的两级邻居表,并据此对邻居节点的行为进行监测,采用的方法是在数据包在由原节点发送到目标节点的过程中,经过节点X,M是这条路径上X的下一跳节点,X指定与M共同的邻居节点G作为检测M行为的监视节点,在X向M发送数据时,G暂存该数据包,在接收X向M发送的下一个数据包时,即可释放这部分存储空间。M可能出现的异常行为包括1)如果G在指定时间t内没有监听到M转发X发送的数据包,则视M有丢包行为,2)如果G在指定时间t内监听到M转发了X发送的数据包,但包头或包内容被修改了,则视M篡改了数据包,完整性认证通常采用MAC机制实现,为了简化操作和节省资源,G可以对来自X的数据包和M当前转发的数据包做异或操作,如果不为零,即可判断转发包被篡改,3)如果G监听到M转发了声称是X发送的数据包,但G并没有收到X发来的包,则视M在伪造包。
内部攻击检测模块包括以下步骤3.1)判断接收到的数据包是否来自邻居节点,若是,则执行步骤3.2);若否,执行步骤3.18),3.2)判断邻居节点是否邀请自己监视某邻居节点,若否,则执行步骤3.3);若是,执行步骤3.8),3.3)判断邻居节点声称可以到达的节点是否是基站节点,若是,执行步骤3.4);若否,执行步骤3.6),3.4)查看基站是否是该邻居节点的邻居,若否,记录下该邻居节点的身份标识号,并使记录谎称自己是基站的邻居节点的异常行为,计数器加1;若是执行步骤3.22),3.5)判断步骤3.4)中记录异常行为的计数器值是否大于既定的阀值,若是,断定该邻居节点试图发起污水池攻击,执行步骤3.20);若否,将该邻居节点的异常行为信息发送给簇头,执行步骤3.21),3.6)判断邻居节点声称的可达节点是否是其邻居节点,若否,记录下该邻居节点的身份标识号,并使记录该异常行为的计数器加1;若是,执行步骤3.22),3.7)判断步骤3.6)中记录异常行为的计数器值是否大于既定的阀值,若是,断定该邻居节点和其声称的可达邻居节点合谋蠕虫洞攻击,执行步骤3.20);若否,将该邻居节点的异常行为信息发送给簇头,执行步骤3.21),3.8)判断被监视的节点是否伪造数据包,若是,执行步骤3.9);若否,执行步骤3.12),3.9)判断被监视节点转发的声称来源于同一非邻居节点的伪造包数量是否大于既定的阀值,若是,执行步骤3.10);若否,执行步骤3.11),3.10)确定被监视节点和其声称的伪造包的来源节点合谋蠕虫洞攻击,执行步骤3.20),3.11)确定被监视节点伪造包攻击,执行步骤3.20),3.12)判断被监视节点是否有丢包行为,若是,执行步骤3.13);若否执行步骤16),3.13)判断丢包率是否在既定的合理范围内,若是,执行步骤3.14);若否,执行步骤3.15),
3.14)确定被监视节点正在进行选择性转发攻击,执行步骤3.20),3.15)判断丢包率是否大于既定阀值2,若是,断定被监视节点死亡或者故意不转发包,执行步骤3.20);若否,执行步骤3.22),3.16)判断被监视节点是否篡改数据包且篡改次数超过既定阀值,若是,执行步骤17);若否,执行步骤3.22),3.17)判定数据包的源节点有篡改数据包行为,执行步骤3.20),3.18)使记录该非邻居节点到达次数的计数器加1,并判断其是否大于既定阀值,若是,执行步骤3.19);若否,发送关于该节点的异常行为给簇头节点,执行步骤3.21),3.19)判定数据包的源节点有拒绝服务攻击行为,节点休眠一小段时间,3.20)执行入侵跟踪和入侵响应模块,执行步骤3.22),3.21)簇头根据其掌握的簇内信息,对成员节点发来的节点异常行为做出入侵判断,执行相应的入侵响应模块,3.22)等待下一检测周期到达,执行新一轮检测。
有益效果本发明方法针对无线传感器网络的特殊性提出了一种高效的综合各种方法的混合入侵检测方法,主要用于检测无线传感器网络容易遭受的外部和内部攻击和及时对入侵作出反应,避免攻击的进一步危害。通过使用本发明提出的方法可以解决简单加密、认证无法避免的安全问题。在无需添加任何检测设备和消耗过多资源的条件下保证了对入侵检测的客观准确性、完备性和及时性,从而达到进一步保护无线传感器网络安全的目的。下面我们给出具体的说明。
混合性传统的入侵检测系统按照不同的标准可以分为基于主机和基于网络、基于异常和基于模式、集中式和分布式等多种类型,它们都有各自的优缺点和适应场合。为了充分发挥各种检测方法的优越性,我们在实际设计时将各种方法有机的结合在一起。采集的数据包括单个传感器节点的行为和网络性能相关的数据;检测任务分布在各个传感器节点,簇头和基站同时还承担着本簇内和全网范围内单个节点无法确认的异常行为的检测和确认;各级入侵检测模块集中了异常检测和模式检测两种方法,在检测新攻击的同时,加快并简化了已知攻击的检测。
有效性本发明方法针对外部攻击和内部攻击的不同特征,提出了相应的检测方法。外部入侵的检测,建立在简单的统计指标基础之上,可以有效地检测包括碰撞、耗尽、不公平竞争和篡改、注入消息等攻击。内部入侵检测方法,利用拓扑形成过程的邻居表,有效检测和抑制了非邻居节点的不同攻击。“滑动窗口”机制的使用及临时存储空间的及时释放,大大减轻了节点的存储压力,有利于更多攻击的有效检测。
客观准确性本发明方法要求各级节点对入侵的判断建立在一定的经验值之上,即,某个节点的某种异常行为必须达到既定的阀值并被多个节点检测到,才可以断定其为恶意节点并触发入侵相应功能。这主要是针对无线传感器网路通信环境恶劣、容易出错,为降低误警率和避免恶意节点有意孤立合法节点而设计的,实现了入侵检测的客观性和准确性。


图1是层簇式无线传感器网络入侵检测逻辑示意图。
图2是外部攻击入侵检测流程图。
图3是内部攻击说明示意图。
图4是内部攻击入侵检测流程图。
具体实施例方式
假设在无线传感器网络部署完毕一小段时间内,网络中不存在恶意节点;每个节点通过邻居发现过程,保存了自己的邻居表(一跳可达)和邻居的邻居表;基站据此保留了整个网络的拓扑结构;数据包含有源、目标节点身份信息。
为了方便描述,我们将无线传感器网络容易遭受的攻击区分为外部攻击和内部攻击,据此说明上述混合入侵检测方法的具体实施方式

1.外部攻击的入侵检测针对无线传感器网络的外部攻击主要发生在数据链路层,包括碰撞攻击、非公平竞争、资源耗尽攻击和完整性攻击。
碰撞攻击信道不空闲时,恶意节点故意向该信道发送数据或控制信息包,导致正常数据包被破坏,并被丢弃。
非公平竞争在基于请求发送/确认发送(RTS/CTS)的媒体访问控制MAC协议中,按照先来先服务的机制使用公共信道,要求其它节点需要等待一个随机的时间单位才能尝试发送。恶意节点有意等待一个更小的时间单位或者干脆不等就向信道发送数据,从而导致正常节点无法公平获得对公共信道的使用。
耗尽攻击在基于RTS/CTS的MAC协议中,如果恶意节点向某节点持续发送RTS数据包,该节点就要不断发送CTS包进行回应,最终导致节点资源被耗尽。
完整性攻击恶意节点注入或者篡改信道中已有的数据包,降低了数据的可信度和可用性。
检测指标定义以下统计数据作为触发对上述攻击的检测指标。
碰撞率Re某节点单位时间(秒)内发生碰撞的时间(秒)。
数据包等待时间Tw数据包在MAC层缓冲区等待发送的时间。
数据包发送频率Fs单位时间(秒)内发送数据包的次数。
RTS包到达率RRTS节点单位时间(秒)内成功接收RTS包的数量。
功率减少程度Dpw本次单位时间功率的减少量与上个单位时间内功率的减少量之比。
电能消耗的程度本单位时间电能的消耗与上个单位电能消耗之比。
数据包重发频率Frs单位时间内(秒)内同一数据包被重新发送的次数。
入侵发生时,这些指标会有明显变化,周期性采集这些统计指标,据此估算入侵概率,从而判定是否发生入侵。
检测步骤1-1)各节点采集数据计算上述相关指标。
1-2)检查当前指标值是否与步骤1-5)、1-7)、1-9)、1-11)记录下的某行为相匹配,并执行匹配的步骤,无匹配步骤时,执行步骤1-3);1-3)节点判断本节点的等待时间是否超过既定的等待时间阀值。若否,执行步骤1-7);1-4)判断某邻居节点的碰撞率是否超过既定的碰撞率阀值且另有某邻居节点重发包率超过既定的阀值。若否,则执行步骤1-5);1-5)记录邻居节点的碰撞攻击行为,通知其它邻居节点暂停数据发送,进入睡眠状态。执行步骤1-1);1-6)判断某邻居节点的发送数据包的平均时间间隔是否小于既定的时间间隔阀值;
1-7)记录邻居节点的不公平竞争行为,并通知簇头节点,对该恶意节点进行隔离。执行步骤1-1);1-8)判断本节点数据包的到达率或者功率减少率是否过高。若否,执行步骤1-9);1-9)遭受耗尽攻击,进入睡眠状态。执行步骤1-1);1-10)判断消息的完整性;1-11)若完整性破坏,则丢包,并要求重发。执行步骤1-1)。
2.内部攻击的入侵检测无线传感器网络中,内部攻击指攻击者俘获一个或多个合法节点,获取密钥资料或敏感信息,以合法身份运行恶意代码或从事恶意行为,主要集中在网络层,包括选择转发(即,Selective Forwarding无线传感器网络遭受的一种攻击类型,攻击者在俘获节点后有选择地丢弃需要转发的数据包,当选择转发的攻击点处于数据包转发的最优路径上时,对网络的危害尤其大)、污水池攻击(即,Sinkhole攻击无线传感器网络遭受的一种攻击类型,该攻击利用大功率收发器,与基站形成单跳路由或是比其它节点更快到达基站的路由,吸引附近大范围内的节点以其为父节点向基站转发数据包,导致大量数据包不能到达正确的目标节点)、蠕虫洞攻击(即,Wormhole攻击无线传感器网络遭受的一种攻击类型,该攻击通常由两个恶意节点相互串通合谋,距离基站较远的恶意节点声称自己和距基站近的节点可以建立低时延高带宽的链路,从而吸引周围节点将数据包发送到它那里,破坏正常的分簇)、女巫攻击(即,Sybil攻击无线传感器网络遭受的一种攻击类型,一个恶意节点对外的表象是多个传感器节点,即一个物理设备具有多个身份标识,包括伪造身份标识和盗用身份标识两种情况)和Hello洪泛攻击(即,Hello flooding攻击无线传感器网络遭受的一种攻击类型,其特征为无线传感器网络部署的邻居发现阶段,恶意节点以足够大的功率广播Hello数据包,收到Hello包的节点将恶意节点作为自己的邻居,并在以后向它发送数据。导致普通发送功率的节点不能将自己的数据包发送到目的地)等。
检测方法数据包在由原节点S发送到目标节点D的过程中,经过节点X,M是这条路径上X的下一跳节点,X指定与M共同的邻居节点G作为检测M行为的监视节点,在X向M发送数据时,G暂存该数据包(在接收X向M发送的下一个数据包时,即可释放这部分存储空间),据此检测M异常的转发行为。见图3。
(1)如果G在指定时间t内没有监听到M转发X发送的数据包,则视M有丢包行为。
(2)如果G在指定时间t内监听到M转发了X发送的数据包,但包头或包内容被修改了,则视M篡改了数据包。完整性认证通常采用MAC机制实现,为了简化操作和节省资源,G可以对来自X的数据包和M当前转发的数据包做异或操作,如果不为零,即可判断转发包被篡改。
(3)如果G监听到M转发了声称是X发送的数据包,但G并没有收到X发来的包,则视M在伪造包。
(4)如果G监听到M和自己收到同一个非邻居节点发来的数据包,则可以视该节点企图发起Sinkhole和Wormhole攻击。
本发明所述的无线传感器网络的混合入侵检测方法要求G维持一个关于M某种异常行为的计数器,记为CNTx(G,M),并根据网络环境和应用的安全需要,设置一个上限值c1,当CNTx(G,M)≥c1时,G才可认定M的行为是恶意的,并触发入侵响应功能。
响应操作CNTx(G,M)≥c1时,由G触发该功能。
(1)G将M从自己邻居表中删除,并向M的邻居发送可认证消息,告知M有某种恶意行为。此时,G可以释放监测M所需的资源。
(2)M的邻居节点(如N节点)对收到的消息进行认证,验证消息确实来于G,且M是自己的邻居节点后,N将关于M的相应恶意行为的计数器CNT(N,M)加1。
(3)N判断CNT(N,M)的值,若CNT(N,M)≥c2,则将M视为恶意节点,不发送数据给M,也不转发来自M的数据包,并删除邻居表中M的相关信息,从而达到隔离节点的目的。
本发明所述的无线传感器网络的混合入侵检测方法对选择性转发攻击的检测是直接有效的。根据假设,同时采用只向邻居节点发送数据和只转发邻居节点发来的数据的策略,还可以有效抵制Hello flooding攻击。
对于Wormhole攻击,一方面,各邻居节点在收到要求将数据发给M’、并由M’转给M时,若发现M并不是M’的邻居节点,则可以怀疑M’和M在合谋Wormhole攻击,并报告给M’的监视节点G’;另一方面,Wormhole攻击进行过程中,当M’转发来自M回应数据包时,M’的监视节点G’就可以发现M’的异常行为,因为G’没有收到Y发来的相应消息。M’沿相同路径,反向发送数据给M时,M的监视节点G同样可以发现M的异常行为。
Sinkhole攻击的特点是利用大功率收发器,与基站形成单跳路由或是比其它节点更快到达基站的路由,所以,检测Sinkhole攻击的方法更简单。一方面,基站收到大功率非邻居节点发来的数据,基本可以断定该节点正试图发起Sinkhole攻击,丢弃该节点发来的数据包,以安全的方式通知网络中的其它节点;另一方面,收到Sinkhole攻击节点“邀请”的节点通过判断该节点是否是自己的邻居节点断定其有异常行为,Sinkhole攻击节点的监视节点(实际上是恶意节点为实施Sinkhole攻击而俘获的正常节点的监视节点)也可以根据监测到被监视节点的发送功率明显加大(与以往正常节点相比)而断定其为异常节点。
Sybil攻击的主要目的是降低多经路由的效果,其行为特征是用盗用的合法节点身份吸引并丢弃需要转发的数据包。邻居表的使用,使得Sybil攻击者只能盗用当前路径上某节点S的邻居节点的ID。根据本发明所提出的检测内部攻击的方法,可以有效隔离被假冒的节点。为从根本上避免和阻止Sybil攻击,将借助于基于身份ID的密钥预分发机制,将预存储的密钥信息和节点的身份信息关联起来,限制恶意节点破坏并假冒多个合法节点。此外,基于地理的路由协议,可以检测到恶意节点位置与其所声称节点的位置不一致,从而有效检测和预防Sybil攻击。
检测步骤2-1)判断接收到的数据包是否来自邻居节点。若是,执行步骤2-2);若否,执行步骤2-16),2-2)判断邻居节点是否要求自己监视某邻居节点;若否,执行步骤2-3);若是,执行步骤2-8),2-3)判断邻居节点声称可以到达的节点是否是基站节点;若是,执行步骤2-4);若否,执行步骤2-6),2-4)查看基站是否是该邻居节点的邻居;若否,记录下该邻居节点的ID号,并使记录该异常行为的计数器Csh=Csh+1,2-5)判断Csh是否大于既定的阀值Csh,若是,断定该邻居节点试图发起Sinkhole攻击,执行步骤2-17),2-6)判断邻居节点声称的可达节点是否是其邻居节点;若否,记录下该邻居节点的ID,并使记录该异常行为的计数器Cwh=Cwh+1,2-7)判断Cwh是否大于既定的阀值Cwh;若是,断定该邻居节点和其声称的可达邻居节点合谋Wormhole攻击,执行步骤2-17),2-8)判断被监视的节点是否伪造数据包;若是,执行步骤2-9);若否,执行步骤2-12),2-9)判断被监视节点转发的声称来源于同一非邻居节点的伪造包数量是否大于既定的阀值Cf;若是,执行步骤2-10);若否,执行步骤2-11),2-10)断定被监视节点和其声称的伪造包的来源节点合谋Wormhole攻击,执行步骤2-17),2-11)断定被监视节点伪造包攻击。执行步骤2-17),2-12)判断被监视节点是否有丢包行为;若是,执行步骤2-13),2-13)判断丢包率是否在既定的合理范围内,若是,执行步骤2-14);若否,执行步骤2-15),2-14)断定被监视节点正在进行选择性转发攻击,执行步骤2-17),2-15)丢包率过高时,判断丢包率是否大于既定阀值2;若是,断定被监视节点死亡或者故意不转发包,执行步骤2-17),2-16)记录该非邻居节点到达的次数C_ID,并判断C_ID是否大于既定阀值C_ID;若是执行步骤2-17),2-17)进入入侵跟踪和入侵响应模块。
权利要求
1.一种适用于无线传感器网络的混合入侵检测方法,其特征在于该检测方法综合了基于主机和基于网络、基于集中和基于分布、基于异常和基于模式的多种检测方法,在保证网络安全的同时,延迟网络的生命期,所述方法的具体步骤为1.1)各节点采集数据,计算安全统计指标,包括本节点的数据包等待时间、到达率、功率减少率和邻居节点的数据包碰撞率、发送频率,1.2)非簇头节点将步骤1.1)计算的安全统计指标发送给簇头节点,1.3)各节点执行内部攻击检测模块,1.4)簇头节点接收本簇成员发来的安全统计指标,1.5)簇头节点根据接收的安全统计指标,计算入侵特征值,1.6)簇头在本节点入侵模式数据库中寻找匹配的入侵特征值,若找到,执行步骤1.7);若找不到,将入侵特征值发送给基站,基站会根据全局拓扑信息和接收自簇头的入侵特征值,搜索保存在基站的全局入侵模式数据库,根据搜索结果执行相应的入侵响应模块,执行步骤1.8),1.7)直接执行相应的入侵响应模块,执行步骤1.9),1.8)簇头节点执行外部攻击检测模块,1.9)等待下一检测周期到达,重新执行1.1)。
2.根据权利要求1所述的适用于无线传感器网络的混合入侵检测方法,其特征在于簇头节点执行的外部攻击检测模块包括以下步骤2.1)判断成员节点的等待时间是否超过既定的等待时间阀值;若是,则执行步骤2.2),若否,则执行步骤2.8),2.2)判断该成员节点的邻居节点的数据包碰撞率是否超过既定的碰撞率阀值;若是,则执行步骤2.3);若否,则执行步骤2.5),2.3)记录该成员节点的邻居节点有碰撞攻击行为,通知其它邻居节点暂停数据发送,进入睡眠状态,2.4)计算碰撞攻击特征值,执行2.11),2.5)判断该成员节点的邻居节点发送数据包的平均时间间隔是否小于既定的时间间隔阀值;若是,执行步骤2.6);若否,优先该成员节点发送数据包,执行步骤2.13),2.6)记录该成员节点的邻居节点有不公平竞争攻击行为,对该恶意节点进行隔离,2.7)计算不公平竞争特征值,执行2.11),2.8)判断该成员节点数据包的到达率或者功率减少率是否过高,若是,执行步骤2.9);若否,执行步骤2.13),2.9)记录该成员节点遭受耗尽攻击行为,要求该节点立即进入睡眠状态,2.10)计算耗尽攻击特征值,2.11)判断入侵数据库是否已满,若是,删除最早添加的入侵特征值,并将新计算的攻击特征值添加到本地入侵数据库;若否,直接将新计算的攻击特征值添加到本地入侵数据库,2.12)执行入侵跟踪与入侵响应模块,2.13)等待下一检测周期到达,执行新一轮检测。
3.根据权利要求1所述的适用于无线传感器网络的混合入侵检测方法,其特征在于各节点执行的内部攻击检测模块要求节点拥有各自的两级邻居表,并据此对邻居节点的行为进行监测,采用的方法是在数据包在由原节点发送到目标节点的过程中,经过节点X,M是这条路径上X的下一跳节点,X指定与M共同的邻居节点G作为检测M行为的监视节点,在X向M发送数据时,G暂存该数据包,在接收X向M发送的下一个数据包时,即可释放这部分存储空间;M可能出现的异常行为包括1)如果G在指定时间t内没有监听到M转发X发送的数据包,则视M有丢包行为,2)如果G在指定时间t内监听到M转发了X发送的数据包,但包头或包内容被修改了,则视M篡改了数据包,完整性认证通常采用MAC机制实现,为了简化操作和节省资源,G可以对来自X的数据包和M当前转发的数据包做异或操作,如果不为零,即可判断转发包被篡改,3)如果G监听到M转发了声称是X发送的数据包,但G并没有收到X发来的包,则视M在伪造包。
4.根据权利要求1所述的适用于无线传感器网络的混合入侵检测方法,其特征在于内部攻击检测模块包括以下步骤3.1)判断接收到的数据包是否来自邻居节点,若是,则执行步骤3.2);若否,执行步骤3.18),3.2)判断邻居节点是否邀请自己监视某邻居节点,若否,则执行步骤3.3);若是,执行步骤3.8),3.3)判断邻居节点声称可以到达的节点是否是基站节点,若是,执行步骤3.4);若否,执行步骤3.6),3.4)查看基站是否是该邻居节点的邻居,若否,记录下该邻居节点的身份标识号,并使记录谎称自己是基站的邻居节点的异常行为,计数器加1;若是执行步骤3.22),3.5)判断步骤3.4)中记录异常行为的计数器值是否大于既定的阀值,若是,断定该邻居节点试图发起污水池攻击,执行步骤3.20);若否,将该邻居节点的异常行为信息发送给簇头,执行步骤3.21),3.6)判断邻居节点声称的可达节点是否是其邻居节点,若否,记录下该邻居节点的身份标识号,并使记录该异常行为的计数器加1;若是,执行步骤3.22),3.7)判断步骤3.6)中记录异常行为的计数器值是否大于既定的阀值,若是,断定该邻居节点和其声称的可达邻居节点合谋蠕虫洞攻击,执行步骤3.20);若否,将该邻居节点的异常行为信息发送给簇头,执行步骤3.21),3.8)判断被监视的节点是否伪造数据包,若是,执行步骤3.9);若否,执行步骤3.12),3.9)判断被监视节点转发的声称来源于同一非邻居节点的伪造包数量是否大于既定的阀值,若是,执行步骤3.10);若否,执行步骤3.11),3.10)确定被监视节点和其声称的伪造包的来源节点合谋蠕虫洞攻击,执行步骤3.20),3.11)确定被监视节点伪造包攻击,执行步骤3.20),3.12)判断被监视节点是否有丢包行为,若是,执行步骤3.13);若否执行步骤16),3.13)判断丢包率是否在既定的合理范围内,若是,执行步骤3.14);若否,执行步骤3.15),3.14)确定被监视节点正在进行选择性转发攻击,执行步骤3.20),3.15)判断丢包率是否大于既定阀值2,若是,断定被监视节点死亡或者故意不转发包,执行步骤3.20);若否,执行步骤3.22),3.16)判断被监视节点是否篡改数据包且篡改次数超过既定阀值,若是,执行步骤17);若否,执行步骤3.22),3.17)判定数据包的源节点有篡改数据包行为,执行步骤3.20),3.18)使记录该非邻居节点到达次数的计数器加1,并判断其是否大于既定阀值,若是,执行步骤3.19);若否,发送关于该节点的异常行为给簇头节点,执行步骤3.21),3.19)判定数据包的源节点有拒绝服务攻击行为,节点休眠一小段时间,3.20)执行入侵跟踪和入侵响应模块,执行步骤3.22),3.21)簇头根据其掌握的簇内信息,对成员节点发来的节点异常行为做出入侵判断,执行相应的入侵响应模块,3.22)等待下一检测周期到达,执行新一轮检测。
全文摘要
无线传感器网络的混合入侵检测方法是一种无线传感器网络的安全保护方案,主要用于解决无线传感器网络所遭受的各种安全攻击和安全问题,该检测方法综合了基于主机和基于网络、基于集中和基于分布、基于异常和基于模式等多种检测方法,根据无线传感器网络的特点和面临的外部和内部攻击,将检测任务分散到传感器节点、簇头节点和基站节点,并综合了基于主机和基于网络,基于集中和基于分布,基于异常和基于模式多种检测方法的优势,避免了依靠复杂算法增强网络安全而导致的对网络和节点资源过多的消耗,在保证网络安全的同时,延迟了网络的生命期。
文档编号H04L29/06GK101013976SQ20071001997
公开日2007年8月8日 申请日期2007年2月5日 优先权日2007年2月5日
发明者王汝传, 赵奇, 陈志 , 叶宁, 孙力娟, 黄海平 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1