欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种面向无人机自组网的OLSR协议黑洞攻击方法独创技术20101字

一种面向无人机自组网的OLSR协议黑洞攻击方法

2023-02-03 12:02:47

一种面向无人机自组网的OLSR协议黑洞攻击方法

  技术领域

  本发明涉及移动多跳自组织网络技术领域,特别涉及对无人机自组网的攻击方法,具体说来是一种面向无人机自组网的OLSR协议黑洞攻击方法,可用于对无人机自组网进行高效的攻击,改变无人机的运动轨迹,获取网络控制权。

  背景技术

  经过近一百年的发展,从20世纪20年代到现在,无人机技术引起了广泛关注。无人机(Unmanned Aerial Vehicle,UAV),是由控制站管理(包括远端操控和自主飞行)的航空器,也称远程驾驶航空器(Remotely Piloted Aircraft)。而由于单架无人机执行侦察、目标攻击等任务具有瓶颈,组织多架功能各异的无人机是作战的重要方式。因此多无人机协同技术成为无人机应用的重点研究内容。无人机自组织网络是针对多无人机协同的通信拓扑结构特点提出的模型。

  无人机自组织网络由一组无人机节点组成,是一种不需要依靠现有固定通信网络基础设施的、能够快速展开使用的网络体系。以自组网形式构建的无人机网络需要路由协议的支持,而OLSR协议是一种广泛应用于无人机的路由协议。OLSR协议具有查找路由时延小的优点,并且引入MPR机制,大大减少了协议开销,适用于大型节点密集的网络中。

  无人机自组网具有动态拓扑、多跳的自组网特征,易受到多种安全威胁。其中黑洞攻击(Black Hole Attack)是对无人机自组网最为常见的威胁之一。随着国内外对无人机安全通信不断的深入研究,以及无人机应用领域的不断拓展,无人机群通信的脆弱性问题在无人机自组织网络的重要性愈发突出,因此对无人机自组网的攻击方法研究显得极为重要。

  黑洞攻击是一种由单个或多个执行节点执行的路由协议攻击方法。在这种攻击中,执行节点通过伪装在源节点和目标节点之间拥有最短路径来欺骗网络,吸收网络中的数据包并丢弃,在网络当中形成一个黑洞。由于缺乏固定的基础设施,开放式传输媒体和动态拓扑结构的网络特性,移动自组网具有最不利的联网环境。这些特性也使对移动自组网中路由协议的脆弱性研究具有重大意义。现有的研究在移动自组网上部署的黑洞攻击做了很多工作,但没有将具体场景如无人机自组网与攻击方法相结合进行脆弱性研究。因此亟需一种全新的针对具体的无人机自组织网络的黑洞攻击方法,以解决上述现有黑洞攻击方法存在的对于高移动性无人机自组网无法适用的问题,并改变无人机的队形和工作状态,对网络造成更大破坏。

  发明内容

  发明目的:针对以上问题,本发明提出一种面向无人机自组网的OLSR协议黑洞攻击方法,该方法通过使执行节点先靠近并攻击中心节点,从而占据中心节点的位置,再对网络进行黑洞攻击,以解决现有黑洞攻击存在的对高移动性无人机自组网无法适用的问题,并对网络造成更大破坏。

  技术方案:为实现本发明的目的,本发明所采用的技术方案是:一种面向无人机自组网的OLSR协议黑洞攻击方法,包括以下步骤:

  S1,搭建无人机自组网,设置执行节点对无人机自组网进行操作,首先执行节点需通过路由表信息计算并攻击处于区域网络中心的节点;

  S2,执行节点每隔一段时间给S1中确定的中心节点发送数据包,通过数据包传输过程的时延信息判断中心节点的距离位置信息,运动至中心节点传输范围内;

  S3,根据执行节点的邻居表定时判断是否符合攻击中心节点的条件,若满足,则通过不间断地发送随机修改过IP地址的Hello消息包给中心节点,破坏中心节点的连通性;

  S4,判断执行节点是否已经占据中心节点的位置,成为网络中新的中心节点;

  S5,执行节点作为新的中心节点,可以吸收网络中大多数的数据包,对吸收的数据包进行篡改或者丢弃,对网络进行黑洞攻击,从而改变各无人机的运动轨迹,获取网络控制权。

  所述步骤S1中,处于区域内网络中心的节点,指在多跳网络环境下经过的需转发数据包最多的节点;在OLSR协议中,节点需要在自己传输范围内的节点中选择一些多点中继节点(MPR)来帮助自己转发数据包给目的节点,而被最多节点选择为MPR的则为中心节点。

  所述步骤S1中,执行节点通过路由表信息计算其需要攻击的中心节点,计算公式如下:

  

  其中core_num指中心节点在区域网络中的编号,node指区域网中所有节点的集合,ki表示选择节点i为MPR的节点个数。

  所述步骤S2,执行节点每隔一段时间给S1中确定的中心节点发送数据包,通过数据包传输过程的时延信息判断中心节点的距离位置信息,以此接近中心节点,具体如下:

  S2.1,执行节点给S1中确定的中心节点发送数据包,并计算数据包的时延;

  S2.2,执行节点随机移动固定大小的距离,再次给中心节点发送数据包并计算时延;

  S2.3,将此时发送数据包的时延与上一次对比,若比上一次小,则进行S2.4,否则向上一步反方向走两倍距离,更新执行节点的位置;

  S2.4,重复执行步骤S2.1-S2.3,直至执行节点与中心节点互为邻居节点;

  所述步骤2.1以及2.2中的时延,计算公式为:

  Delayi->j=receive_timej-send_timei

  其中Delayi->j表示从i节点发往j节点的数据包的时延,receive_timej表示j节点接收数据包的时间,send_timei表示i节点发送数据包的时间。

  所述步骤S3中,符合攻击中心节点的条件,具体如下:中心节点及其邻居节点都在执行节点的路由表上,即对执行节点可达。

  所述步骤S3,通过不间断地发送随机修改过IP地址的Hello消息包给中心节点,破坏中心节点的连通性,具体如下:

  S3.1,在执行节点发送Hello消息包前,需要向邻居节点告知自身存在时,随机改变本应为执行节点的主IP地址,即数据包源节点的IP地址,使得收到Hello消息的节点误以为有新的节点进入其一跳可达范围;

  S3.2,执行节点另外开启一个发送Hello消息包的程序,每隔一段时间对外广播修改过源IP的数据包,让中心节点认为不停地有新的节点进入其传输范围,因此不断更新其一跳可达邻居表、拓扑表和路由表,消耗其存储和计算资源。

  所述步骤S3中,中心节点被泛洪攻击后,由于待处理的Hello消息包和过期的邻居节点数量较多,消耗其存储和计算资源,故而降低其为其他节点选为MPR的意愿值,使得其邻居节点选择其为MPR的可能性降低;并且还可导致中心节点对其邻居节点的消息反应迟钝,从而破坏中心节点与其邻居节点的双向链路。

  所述步骤S4中,判断执行节点是否已经占据中心节点的位置,具体如下:查看执行节点的路由表,若中心节点及其邻居节点,执行节点均一跳可达,则执行节点已成功占据中心节点的位置;否则,继续步骤S3通过大量发送随机修改过IP地址的Hello消息包给中心节点,破坏中心节点的连通性。

  所述步骤S5,执行节点作为新的中心节点,可以利用多个节点最大覆盖率节点的身份吸收网络中大多数的数据包,对吸收的数据包进行篡改或者丢弃,对网络进行黑洞攻击,从而改变各无人机的运动轨迹,获取网络控制权,具体如下:

  S5.1,执行节点作为中心节点,吸收网络中将其选为MPR且需要其帮助转发数据包的节点发送的数据包;

  S5.2,执行节点对吸收的数据包进行解析,若数据包包含无人机节点的运动信号,可修改信号中的方向、速度因素或者直接将数据包丢弃,改变无人机节点原有的运动轨迹;若数据包包含无人机节点的控制信号,可以修改信号中的控制信息或者直接将数据包丢弃,使得无人机节点与地面站之间的连接中断,地面站无法控制无人机正常运行;

  S5.3,重复执行步骤S5.1-S5.2对网络进行黑洞攻击,从而改变无人机的队形和运动轨迹,获取网络控制权。

  有益效果:与现有技术相比,本发明的技术方案具有以下有益的技术效果:

  (1)本发明利用OLSR协议中MPR的特性,计算出执行节点首先需要攻击的处于区域内网络中心的节点,将其设置为攻击重点,与不对中心节点进行计算与攻击的普通黑洞攻击相对比,本发明的能使无人机网络变化得更剧烈,对网络造成更大的破坏,有效地提升了攻击的效果。

  (2)本发明加入了对节点的运动信息的研究,使得该黑洞攻击方法更加适用于高移动性的无人机自组网,最终的攻击结果可同时改变无人机的运动轨迹以及工作状态,能够更加直观地查看攻击效果。

  (3)本发明对黑洞攻击的拓展实现在无人机自组网上产生了明显有效的攻击效果,并且同样能够适用于各类移动自组网中,具有良好的可拓展性。

  附图说明

  图1是本发明实现的无人机自组网黑洞攻击方法流程示意图;

  图2是本发明实施例的无人机自组网攻击前后的拓扑结构图;

  图3是本发明实施例的无人机自组网络系统架构图;

  图4是本发明仿真实验的架构图。

  具体实施方式

  为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

  实施例1

  一种面向无人机自组网的OLSR协议黑洞攻击方法,如图1所示,应用于无人机自组网络系统,无人机自组网系统架构如图3所示,根据协同计算和飞行控制对通信环境的不同需求将无人机网络分为机群内部通信和机群外部通信两部分来构建。机群内部通信采用Adhoc网络加OLSR自组网技术来实现,其中执行节点处边缘位置试图接近中心节点并占据其位置。包括以下步骤:

  S1,搭建无人机自组网,设置执行节点对无人机自组网进行操作,首先执行节点需通过路由表信息计算并攻击处于区域网络中心的节点。

  在本实施例中,地面站上的机群控制模块根据用户编写的飞行任务,向处于机群中心的无人机发送控制指令,并由中心无人机转发给各个无人机。各无人机上的无人机控制模块接收指令后,通过Dronekit SDK控制无人机完成飞行指令,并向机群控制模块发送反馈。初始阶段的无人机自组网的拓扑结构如图2(a)所示,可以看出初始中心节点是编号为2的无人机节点,执行节点为处于区域网络边缘的节点,此时中心节点不是执行节点的一跳邻居。上述中处于区域内网络中心的节点,指在多跳网络环境下经过的需转发数据包最多的节点;在OLSR协议中,节点需要在自己传输范围内的节点中选择一些多点中继节点(MPR)来帮助自己转发数据包给目的节点,而被最多节点选择为MPR的则为中心节点。

  上述中执行节点通过路由表信息计算其需要攻击的中心节点,计算原理如下:

  

  其中core_num指中心节点在区域网络中的编号,node指区域网中所有节点的集合,ki表示选择节点i为MPR的节点个数,本式即表示中心节点在区域网络中可以吸收最多的邻居节点转发的数据包。

  S2,当执行节点对S1中确定中心节点非一跳到达时,执行节点无法直接攻击中心节点或者替代中心节点,否则实施黑洞攻击时无法吸收部分数据包,影响黑洞攻击的最终攻击效果。因此,当执行节点的一跳可达邻居表中没有中心节点时,执行节点每隔一段时间给的中心节点发送数据包,通过数据包传输过程的时延信息判断中心节点的距离位置信息,运动至中心节点传输范围内,具体如下:

  S2.1,执行节点给S1中确定的中心节点发送数据包,并计算数据包的时延;

  S2.2,执行节点随机移动固定大小的距离,再次给中心节点发送数据包并计算时延;

  所述步骤2.1以及2.2中的时延,计算公式为:

  Delayi->j=receive_timej-send_timei

  其中Delayi->j表示从i节点发往j节点的数据包的时延,receive_timej表示j节点接收数据包的时间,send_timei表示i节点发送数据包的时间,通过本式中计算的时延信息的对比来判断执行节点是接近中心节点还是远离。

  S2.3,将此时发送数据包的时延与上一次对比,若比上一次小,则进行S2.4,否则向上一步反方向走两倍距离,更新执行节点的位置;

  S2.4,重复执行步骤S2.1-S2.3,直至执行节点与中心节点互为邻居节点;

  S3,根据执行节点的邻居表定时判断是否符合攻击中心节点的条件,即中心节点在执行节点的邻居表上,同时也意味着中心节点对执行节点一跳可达,若满足,则通过修改IP地址封装Hello消息包对中心节点进行泛洪攻击,如此中心节点及其邻居节点会不停地更新一跳邻居表、二跳邻居表、拓扑表以及路由表,占用中心节点的存储与计算资源,可导致中心节点对其邻居节点的消息反应迟钝,从而破坏中心节点与其邻居节点的双向链路。步骤3中,通过大量发送随机修改过IP地址的Hello消息包给中心节点,破坏中心节点的连通性;具体如下:

  S3.1,在执行节点发送Hello消息包前,需要向邻居节点告知自身存在时,随机改变本应为执行节点的主IP地址,即数据包源节点的IP地址,使得收到Hello消息的节点误以为有新的节点进入其一跳可达范围;

  S3.2,执行节点另外开启一个发送Hello消息包的程序,每隔一段时间对外广播修改过源IP的数据包,让中心节点认为不停地有新的节点进入其传输范围,因此不断更新其一跳可达邻居表、拓扑表和路由表,消耗其存储和计算资源。

  中心节点被泛洪攻击后,由于待处理的Hello消息包和过期的邻居节点数量较多,消耗其存储和计算资源,故而降低其为其他节点选为MPR的意愿值,使得其邻居节点选择其为MPR的可能性降低;并且还可导致中心节点对其邻居节点的消息反应迟钝,从而破坏中心节点与其邻居节点的双向链路。

  S4,判断执行节点是否已经占据中心节点的位置,具体如下:查看执行节点的路由表,若中心节点及其邻居节点,执行节点均一跳可达,则执行节点已成功占据中心节点的位置;否则,继续步骤S3通过大量发送随机修改过IP地址的Hello消息包给中心节点,破坏中心节点的连通性。

  S5,执行节点作为新的中心节点,可以利用多个节点的最大覆盖率节点的身份吸收网络中大多数的数据包,对吸收的数据包进行篡改或者丢弃,对网络进行黑洞攻击,从而改变各无人机的运动轨迹,获取网络控制权,最终攻击效果如图2所示,队形变化至图2(b),步骤5具体如下:

  S5.1,执行节点作为中心节点,吸收网络中将其选为MPR且需要其帮助转发数据包的节点发送的数据包;

  S5.2,执行节点对吸收的数据包进行解析,若数据包包含无人机节点的运动信号,可修改信号中的方向、速度因素或者直接将数据包丢弃,改变无人机节点原有的运动轨迹;若数据包包含无人机节点的控制信号,可以修改信号中的控制信息或者直接将数据包丢弃,使得无人机节点与地面站之间的连接中断,地面站无法控制无人机正常运行。

  在本实施例中,当机群收到包含运动信号的飞行指令后,解析飞行指令的含义并调用Dronekit SDK中相应的API来完成飞行指令,然后所有飞行指令发送子线程共享全局变量“当前完成飞行指令无人机数”,用来统计已完成当前所有飞行指令的无人机数量,执行节点通过篡改或者丢弃包含运动信号的飞行指令改变无人机原有的运动轨迹。

  在本实施例中,当机群收到包含控制信号的飞行指令后,无人机节点成功接收到飞行指令后,应当回复“ACK”。当地面站接收到“ACK”,说明无人机已收到指令,执行下一步;否则输出错误信息,关闭socket结束进程,执行节点通过篡改或者丢弃包含控制信号的飞行指令截断各无人机与地面站的连接,夺取网络的控制权。

  S5.3,重复执行步骤S5.1-S5.2对网络进行黑洞攻击,从而改变无人机的队形和运动轨迹,获取网络控制权。

  以下结合仿真实验,对本发明的技术效果做详细说明。

  1.仿真环境与内容

  本发明在Ubuntu操作系统上利用NS3.29进行网络仿真实验,通过C++编程设置网络模拟器的节点信息模拟普通无人机和执行无人机。执行节点与普通节点的区别主要在于m_malicious参数,并且在模拟器运行时执行节点在普通节点之后运行启动。

  基于NS3的无人机自组网仿真黑洞攻击实验的架构如图4所示。无人机节点在网络层运行NS3中的OLSR协议实现网络层互联,其中执行节点运行嵌入执行代码的OLSR协议进行网络攻击。应用层中通过energy模块模拟各无人机的能量消耗过程,通过设置mobility模块信息模拟无人机以一定规律飞行,并通过server-client模块各自转发数据包,执行节点拦截并解析正常节点的数据包,对吸收的数据包进行篡改或者丢弃,对网络进行黑洞攻击。

  2.仿真结果分析

  初始阶段无人机自组网的拓扑结构如图2(a)所示,普通节点运动并维持一个队形,执行节点通过其路由表计算得出区域内普通节点的中心,并根据计算不同时间段发送数据包的时延接近中心节点。

  当中心节点在执行节点的邻居表中时,即在模拟器运行至36s时,执行节点开始发送修改后的数据包,socket和packet分别打上修改IP地址的标签,数据包的source节点随机生成,使得收到Hello消息的节点误以为有新的节点进入其一跳可达范围。不停地发送大量修改后的Hello消息包即对中心节点进行DoS攻击,直到模拟器的135s时中心节点无法成为网络中的MPR,执行节点借此成功占据中心的位置。执行节点成为新的中心节点后,截取网络中的数据包进行篡改或者丢弃,改变无人机网络的队形,获取网络控制权。如图2(b)所示,达到了较为明显的攻击效果。

  以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

《一种面向无人机自组网的OLSR协议黑洞攻击方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)