曹 伟
(广东警官学院网络信息办公室, 广东广州 510440)
机会网络(Opportunistic Networks)[1-2]主要应用于乡村网络、战地网络等不需要源节点和目标节点之间存在完整链路的场景。在实际的自组织网络当中,诸多原因可能导致网络不能连通。为了应对这种情况,机会网络采取了“存储- 携带- 转发”的传输模式[3-4]。但是网络系统中可能存在恶意节点,对该传输模式具有一定的破坏性。恶意节点具有多种特性,如:捏造发布虚假消息、拒绝接收消息、截取并丢弃消息、消息篡改等。而以上各种恶意特征又分化出多种情形,如恶意节点利用不同的路由方式进行消息发送。本文将以对机会网络系统影响较大的恶意节点洪泛攻击为讨论对象,设计一种针对该类恶意节点的有效检测算法。
本文提出了一种基于二审分析法的方式来对节点的恶意特征进行评价,并建立恶意节点黑名单。该算法首先通过主观分析算法对消息节点进行甄别,对无明显恶意特征的节点发送的传输消息进行“放行”,之后对具有恶意特征的嫌疑节点再利用客观分析算法再进一步判断,并将满足条件的节点加入黑名单。正常节点不接收黑名单中各节点发送的消息,以此来抵御恶意节点的注入式攻击。
现有的移动自组织网络对恶意节点的检测方案主要有两个方面:(1)对节点行为的检测;(2)对节点信誉值的计算和维护。目前,采用对节点行为的检测方法主要包括:ITRM算法[5]、基于相遇预测的ERB路由机制[6]等。采用对节点信誉值的计算和维护主要方法包括:基于车载容迟网络中的激励协议Pi[7]、基于检测机会网络中灰洞攻击和黑洞攻击勾结节点的方法等[8-9]。
其中,ITRM通过计算节点服务评价值与平均评价值的偏离程度来将偏离程度大的节点判断为恶意节点,并将其加入黑名单进行隔离。然而,ITRM算法在构建和维护评价体系和维护的过程中过于复杂,对节点运算资源消耗过大。ERB路由机制采用基于多副本的消息转发策略,通过节点同目的节点的相遇概率来自动控制转发的消息副本数量,从而达到抑制恶意消息数量,然而该种方法并不能有效地抑制恶意节点洪泛攻击。Pi算法通过设立一个中心信任机构(CA),以各种指标来对节点进行激励和行为判断,但CA的认证只适合特定场所,且维护成本过高,并且必须保证CA的安全性和稳定性,一旦CA被破坏,系统的安全体系将趋于崩溃。基于检测机会网络中灰洞攻击和黑洞攻击勾结节点的方法以加盖时间戳的方式节点作弊,但是算法过于复杂,同样对节点运算资源消耗过大。
综上所述,机会网络中在应对恶意节点的攻击策略上已经拥有一些方法。与上述几种方法相比,本文提出的二审分析检测方法简单有效,与ITRM算法、ERB算法和基于检测机会网络中灰洞攻击和黑洞攻击勾结节点的方法相比,本算法计算简单,对每个节点的硬件计算资源的要求不高;又如和Pi算法相比,系统建设成本底,不存在因中心节点的下线而引起的整体系统崩溃问题。同时本文重点考察“有效报文投递率” “有效传输延时”“有效网络开销”等指标。
2.1.1 机会网络模型
处于有限的区域内移动的所有节点构成节点集合。节点(包括恶意节点)之间仅在相遇的时候通过单跳的无线链路进行消息投递;所有节点均可产生指向给定目标节点的消息;所有节点在物理层和数据链路层采用相同传输协议且带宽相同、恒定;所有消息大小均处于同一尺寸范围内;两个节点在一次相遇的时间段内若可以完成所有满足条件的消息交换工作,则进行消息对等交换;所有节点的缓存空间相等且有限;每条消息具有唯一不变的生存时间TTL,当消息生命周期结束后,无论是否已经传递到目的节点,都将被现有节点从其缓存中删除。
2.1.2 恶意节点模型和节点行为分析
恶意节点将产生具有欺骗性的捏造消息;拒绝接收来自正常节点的消息,并且以洪泛攻击的方式发送虚假消息。
机会网络中正常节点和恶意节点的本质区别在于消息的恶意特征性,当一个节点含有恶意消息,则认为该节点被感染,属于恶意节点。如图1所示:
图1 节点消息模型
正常节点只含有正常的消息;恶意节点含有恶意消息,也可以同时含有正常消息。图中长方形图标代表正常消息,三角形图标代表恶意消息。在机会网络中,恶意节点往往具有以下两种行为:
(1)产生大量恶意消息
该行为会由于恶意节点产生的大量恶意消息不断复制和蔓延,使机会网络系统内的各种资源被消耗。
(2)伪装成正常节点为正常消息进行中继
恶意节点不断接收正常消息后,将自身缓存内的正常消息进行删除。该行为不仅会降低正常消息的转发机会,同时也会造成网络系统内的各种资源被浪费。严重时甚至会引起机会网络瘫痪。
节点k在每个时隙都检查信道,当有节点i与节点k成功建立连接并请求发送信息组msg时,节点k将同时要求节点i发送消息摘要集msg_set,msg_set中包括节点i中该消息组中每条消息的消息号、消息大小、消息剩余生命周期、消息生存周期、消息源节点、消息目的节点。首先遍历msg_set,若msg_set中存在一条消息的源节点非节点i,则对节点i放行,并认为节点i为正常节点,若msg_set中所有消息的源节点均为节点i,则存在以下可能:
(1)节点i在遇到节点k前从未遇到任何集合V中的其他节点;
(2)节点i与集合V中的其他节点已相遇但未能接收其发送的消息。
对于第一种情况,节点k与节点i之间的相遇衰减概率为:
P(k,i)=P(k,i)old×γunit
①
其中γ是衰减常数,γ∈(0,1],参考值为0.98;unit是从上次衰减开始计算所经历的时间单元个数[6]。
对于第二种情况,根据消息对等交换原则,可通过分析msg_set中的消息状态来进行判断,对于msg_set中每一条待传输的消息m,都有:
②
其中,Tsystem是系统当前时间,Tcreatem是消息m的生成时间,TTLm是消息m的生命周期。当Pm值越大,证明消息m存在的时间越长,其未被传输的概率越低。考虑两种情况均符合正态分布,即满足公式③时,对该节点放行。
p(k,i)pm>0.05×0.05
③
即满足③时,接收该消息。
经过一审分析后未能被放行的节点,具有较为明显的恶意特征,属于嫌疑恶意节点,需进一步判断,为此,二审分析法将引入通过主观判断值和客观判断值进行计算,得出的综合判断值以进行评价。
(1) 主观判断值
定义主观判断值Tk是节点k通过对自身的内存消息特征做出的评估值,假设节点k内部有n条信息,信息标记集合为[0,n-1]线性排序,则定义节点k的主观判断值Tk为:
④
(2) 客观判断值
当节点i向节点k请求递交消息时,节点k将发送广播,对系统内前两个响应的中立节点进行抽样,并设为Na和Nb。Na和Nb按公式④计算出每一节点的主观判断值TNa和TNb。这两个值用于计算客观判断值Tf:
⑤
(3) 综合判断值
由综合节点k的主观判断值和随机抽取的客观判断值得到综合判断值Tm:
⑥
(4) 恶意性偏离度
使用综合判断值Tm与节点i发送的m条消息组的平均pm进行比较,当Tm与平均pm的偏离度小于阈值时,则认为该节点具有明显的恶意特征,并将该节点纳入恶意节点黑名单中;否则对节点i进行放行。
节点i的偏离度Pi的计算公式为:
⑦
当节点k对节点i进行判断时,如果节点i的主观判断值与节点k得到的综合判断值之差越小,偏离度结果就越小。则节点i是恶意性节点的可能性就越小;反之如果二者之差越大,偏离度结果越大,则节点i是恶意性节点的可能性就越大。当Pi高于阈值Pmaxthreshold时,则将节点i加入恶意节点黑名单中。
目前,针对机会网络路由算法的评价主要包括“投递率”“网络开销”“传输延时”等指标,该方式统计的范围由系统中全部的节点组成,即产生数据的节点统计范围包括正常节点和恶意节点产生的数据。该统计方式虽然一定程度上能反应节点的传输效率,但由于恶意节点产生的数据本身对机会网络系统的并无价值。因此本文对上述3个指标进行重新定义。
(1)定义有效报文投递率为delivery_eff,非恶意节点产生的消息成功递交的消息数为nrofDelivered_eff,非恶意节点产生的消息总数量nrofCreated_eff。
则:
⑧
(2)定义有效网络开销为overhead_eff,非恶意节点产生的消息发出交换请求的次数nrofRelayed_eff。
则:
⑨
(3)定义有效传输延时为latency_eff,非恶意节点总数Nodeeff,将全部由非恶意节点产生消息排序,则第i个消息其生命周期时长TTL_eff[i]。
则:
本文通过在机会网络仿真平台ONE上实现二审分析法, 并对仿真结果进行了比较,仿真基本参数如表1。
表1 主要仿真参数
其他参数因仿真场景不同而有差异, 这类参数在具体场景中给出。假设每个节点都有配置蓝牙设备;节点由以下2组构成:小组1为正常节点、小组2为恶意节点,节点移动速度为0.5~1.5 km/h。消息产生间隔为25~35 s。为取最好效果,仿真中将Pmaxthreshold取值0.1,观察其对网络性能的影响。
通过分别分析了采用二审分析法后与未采用二审分析法的Prophet、Epidemic、SprayAndWait 3种路由算法环境下的有效报文投递率,其中SprayAndWait算法的副本数量设置为6个,Prophet的secondsInTimeUnit设置为30,并进行仿真对比,设置系统内恶意节点数量分别为:5~70个,每次逐步增加5个恶意节点,结果如图2、3、4所示。
图2 Prophet路由算法下的有效报文投递率对比
图3 Epidemic路由算法下的有效报文投递率对比
图4 SprayAndWait路由算法下的有效报文投递率对比
由图2、3、4仿真结果表明,随着恶意节点的增加,3种路由的有效投递成功率也在不断提高,这是由于各项指标数据不再计入恶意节点产生的相关数据。在此场景中,采用二审分析法的各路由算法的有效报文投递率与未加检测机制的路由算法之间的差距,随系统内的恶意节点数的增加而扩大。
在节点总数和产生报文总数相同、恶意节点含量不同的场景中,随着恶意节点数量的增加,恶意节点产生的报文会被二审分析法进行判断拦截,从而减少恶意消息副本在中继过程中侵占正常节点资源的机会,间接增加了有效报文投递率。
有效网络开销是指网络中的非恶意节点每成功投递一个消息,网络系统为此付出的代价。其计算方法为网络转发消息的副本总数与成功交付的消息数之比,该值一定程度上反映了机会网络系统中的资源利用率,测试结果分别如图5、6、7所示。
图5 Prophet路由算法下的有效网络开销对比
图6 Epidemic路由算法下的有效网络开销对比
图7 SprayAndWait路由算法下的有效网络开销对比
在TTL值和节点总数相同,并且由于恶意节点数量变化而导致产生正常报文总数不同的场景下,由实验结果可以看出,随着恶意节点数量的增加,采用二审分析法的各路由算法与不采用任何检测机制的路由算法间的有效网络拥塞差距不断扩大,由于恶意节点产生的报文会被二审分析法进行判断并拦截,直接减少了恶意消息副本在中继过程中侵占正常节点资源的机会,降低了有效网络开销。由图5、6、7的仿真数据结果可以看出,二审分析法在有效网络开销指标上有一定优势。
有效网络延迟是指网络中非恶意节点产生的每个成功投递的消息从生成到最终被投递的平均使用时间。该值一定程度上反映了机会网络系统中的资源消耗程度。采用任何恶意节点检测算法都需要花费一定的时间对节点及其发送的消息进行检测,此过程会在客观上增加报文传递的有效网络延时,测试结果分别如图8、9、10所示。
图8 Prophet路由算法下的有效网络延迟对比
图9 Epidemic路由算法下的有效网络延迟对比
图10 SprayAndWait路由算法下的有效网络延迟对比
在此场景下,由实验结果可以看出,尽管恶意节点含量在提升,但3种路由中,采用二审分析法的各路由算法与不采用任何检测机制的路由算法间的有效网络延迟均无明显变化。二审分析法将消息检测分为两段,对判断为正常节点发送的消息进行快速放行,从而提高消息传递效率,有效地控制了为判断消息恶意特征而产生的额外时间。从以上3种不同的仿真数据结果可以看出,二审分析法的网络延迟指标未明显劣于原有各路由算法。
本文对恶意节点的判断是通过对节点的恶意特征进行划分,对满足恶意特征的节点则判断为恶意节点。设总节点数量为N,真实恶意节点数量为e,被误识别为恶意节点的数量为n,恶意节点的判断分为对真实恶意节点的识别率p0和对正常节点的误识率p1两项指标,则有:
测试结果分别如图11、12所示。
图11 恶意节点识别对比
图12 恶意节点误识对比
由图11、12的仿真实验结果可以看出,一方面二审分析法对真实恶意节点的识别率在3种路由环境中均保持的100%的识别,说明算法在恶意节点的判断上有着较有的可靠性。另一方面随着恶意节点含量的提升,二审分析法对真实节点的误识别率也随之下降。从以上3种不同的仿真数据结果可以看出,二审分析法在总体恶意节点的特征判断指标上有较好的优势。
综上,通过对比发现,二审分析法对机会网络的恶意节点检测具有保证,能够有效的提升机会网络在受到恶意节点攻击时的工作能力。
本文提出了一种解决被恶意节攻击时保障机会网络正常工作运行的方法。采用建立恶意节点黑名单的方式,首先,通过主观分析算法对消息节点进行甄别,对无明显恶意特征的节点发送的传输消息进行“放行”,之后,对具有恶意特征的嫌疑节点再利用客观分析算法进行进一步的判断,并将满足条件的节点加入黑名单。正常节点不接收黑名单中各节点发送的消息,以此来抵御恶意节点的注入式攻击。根据目前机会网络领域中现有的恶意节点的特点以及实际应用中网络资源使用率、缓存管理等实际问题,提出了二审分析法算法。实验结果表明,二审分析法算法在准确判断出恶意节点的同时,可有效地降低对真实节点的误判断率,提升了正常节点间的有效投递,同时降低了正常节点间的网络开销和网络延迟。
本文只讨论了应对以洪泛方式攻击的恶意节点特征,尚未考虑其他形式的攻击手段下的恶意节点判断方式,下一步研究将考虑根据实际环境中的情况,进一步优化二审分析法协议,使之与现实情况更加贴合。