命名数据网络中基于信息熵的Interest洪泛攻击检测与防御
2019-06-25侯睿韩敏陈璟何柳婷毛腾跃
侯睿,韩敏,陈璟,何柳婷,毛腾跃
(中南民族大学 计算机科学学院,武汉430074)
随着互联网数据业务量爆炸式的增长,目前以地址为中心的信息传输方式已经不能适应快速、高效的网络数据交互业务,而以数据信息内容为资源共享方式的信息中心网络(ICN,Information Centric Networking)[1],逐渐成为新一代互联网体系的主要构成部分.命名数据网络(NDN,Named Data Networking)[2,3]以耦合路由、网内存储等特点成为ICN最有效的解决方案之一,受到世界各国的广泛关注.
在NDN中,内容请求者(Subscriber)将所需数据内容名称封装到interest包并发送到NDN网络中,NDN路由器会根据数据内容名称找到对应的内容发布者(Publisher),Publisher将Subscriber所需数据内容封装成data包,沿interest包所经路径原路返回至Subscriber,完成一次信息交互.由于NDN将数据内容名称作为信息发现和传输的基础,因此在NDN中,存在恶意攻击者将不存在的恶意数据内容名称封装到interest包中并向NDN网络大量发送的行为,由于网络中没有匹配的data包予以响应,使得这些恶意interest包一直得不到回应,滞留在待定请求表(PIT,Pending Interest Table)中,甚至耗尽NDN路由器的内存等资源,这就是NDN中被重点关注的兴趣包洪泛攻击(IFA,Interest Flooding Attack),IFA会严重影响网络质量及正常用户获取信息,对NDN网络危害较大.
近年来,针对NDN中的IFA问题,提出了多种检测和防御方法.这些方法基本上从两个方面进行考虑:一方面根据NDN中interest包的转发规则,即NDN要求interest包和data包之间的负载均衡,文献[4]通过限制NDN路由器接口不接受过量的interest请求来缓解IFA;另一方面,文献[5-7]通过计算每个NDN路由器接口接收到的data包和转发出去的interest包数量的比值,即interest包满足率,并配合PIT空间占用率,与预先给定的攻击阈值进行比较,来检测是否受到了攻击.但是,上述方法均容易对正常流量的波动产生过度反应,从而出现误判正常流量波动和恶意攻击的情况.文献[8]提出一种基于累计熵和相对熵理论的检测和防御方案,相较于前述IFA检测和防御方法,信息熵机制有着较高的容错性、相对较低的误判率和复杂性,但该方案对路由器收到的interest包的分布情况依赖较大,导致该方案在识别复杂攻击如ON-OFF攻击[9]时存在局限.因此,针对以上方案的不足,本文提出一种基于信息熵的改进方法(EIM, Entropy-based Improved Method),通过NDN路由器对用户信誉值[10]的计算来判别用户类型,以应对如ON-OFF类型的复杂攻击,从而有效缓解IFA.
1 IFA理论基础
1.1 NDN路由方式
如前所述,NDN的数据信息交互由interest包和data包来完成,每个NDN路由器有3个信息处理单元,即内容存储单元(CS,Content Store)、PIT和兴趣包转发单元(FIB,Forwarding Information Base).interest包和data包在NDN路由器中的处理过程如图1所示,当NDN路由器收到一个interest包后,首先查看其CS中有无与该interest包所含名称匹配的数据内容信息,若有则生成一个data包,并将此数据内容封装到此data中返还至Subscriber;若没有则在PIT表中记录下该interest包的输入接口信息,之后在FIB中查找与该interest封装名称匹配的转发记录,以确定从哪些接口将此interest包进行转发,如果没有找到匹配项,则丢弃该interest包.同时,当NDN路由器接收到一个data包时,首先检查该data包中所包含的数据内容名称在PIT中是否有匹配的表项,若存在匹配项,则根据PIT所记录的接口信息将此data包从相应接口发送出去,并将该data包所封装的数据内容缓存到CS中以响应Subscriber可能发出的后续请求.
图1 NDN转发机制Fig.1 Forwarding mechanism in NDN
1.2 IFA类型
IFA由攻击者发起,攻击目标为NDN路由器.根据攻击者的攻击方式,主要分为以下两种类型:
(1)单一攻击模式IFA
攻击者根据interest包在NDN路由器中的转发方式,持续向网络中发送大量伪造数据内容名称的interest包以请求不存在数据内容的信息,由于网络中没有与其对应的data包响应,导致PIT始终被此类恶意interest包所占据,直到PIT空间被耗尽或这些interest包超时被丢弃.这种单一攻击模式IFA实施起来最容易,攻击者所需带宽较小,但是对NDN网络的危害较大.
(2)复杂攻击模式IFA
复杂攻击模式主要体现在攻击者在发出interest包时呈现恶意行为和正常行为切换模式,不利于防御者找到规律进行防护,最典型的攻击方式为ON-OFF攻击.在ON-OFF攻击中,攻击者在ON状态发送大量恶意interest包,对网络产生危害;而在OFF状态下,攻击者切换为正常用户而发送正常interest包,表现正常.由于攻击者不断在ON状态和OFF状态间进行角色切换,导致ON状态和OFF状态很难被预测,致使对该类攻击模式的预测和缓解难度较大.
2 EIM方法
针对上述IFA的两种攻击类型,本文提出一种基于信息熵的EIM检测与防御方法,EIM分为检测和防御两个阶段:在检测阶段,EIM通过对路由器每个接口发出的interest包的分布进行监控和统计,以此作为判断网络中是否存在攻击的指标,在此基础上,EIM还结合与路由器相连的用户的信誉值来对用户类型进行检测,以更好地实现在限制恶意用户的同时不影响正常用户的行为;在防御阶段,EIM结合兴趣回溯和基于信誉值Pi,t进行概率性丢包这两种方法来缓解恶意interest包大量转发对网络服务质量的巨大影响.
2.1 检测阶段
首先,借助信息熵能反映出信息源分布随机性的特点,本文利用信息熵对NDN网络中的interest包分布情况进行实时检测,其熵值H定义如下:
(1)
在NDN中,熵值提供了一种对interest包随机分布特性的描述,即H越大,表明NDN路由器收到的interest包分布越随机;反之,H越小,表明interest包分布较为集中,仅某些interest包出现的频率高.NDN网络正常运行时,用户的请求具有相对稳定的分布,因此在NDN路由器的每个接口上计算出的H值在一个有限的范围内变化.当IFA侵入网络时,interest包分布将发生改变,部分NDN路由器相应接口上的H值将超出阈值,从而判定受到了IFA攻击;其次,为了对复杂模式攻击有准确的检测,EIM引入用户信誉值协助信息熵以达到较低的误判率,用户信誉值是指在单位时间内,与特定Subscriber直连的NDN路由器的每个接口所通过的能够得到data包响应的interest包数量占该接口通过的所有interest包数量的比例,其定义如下:
(2)
其中,Ri,t(0≤Ri,t≤1)表示用户i在t时刻的信誉值,Di,t和Ii,t分别表示用户i在t时刻收到的data包数量和已发出的interest包数量,α为常数.可以看到Ri,t-1是用户i在前一时刻的信誉值,揭示了用户i过去时刻的行为表现.通过公式(2)计算出用户信誉值后,基于检测恶意用户的恒定阈值T,用户的类型得以判断,其中T为经验值.即若Ri,t低于预先设定的阈值T,NDN路由器则判断用户i为恶意用户;反之,则为正常用户.
2.2 防御阶段
在检测到攻击后,首先运用interest包追溯方法来防御IFA[6],即让被攻击NDN路由器生成一个带有与恶意interest包名称相匹配的内容的欺骗性data包来满足恶意interest包,并结合PIT中对恶意interest包的来源接口的记录追溯到攻击者.追溯到攻击者后,被攻击的NDN路由器限制与该攻击者相连接的接口的速率,达到防御IFA的目的;其次,在interest包追溯方法的基础上,EIM还根据用户的信誉值Ri,t与阈值T的比较结果来找寻恶意用户,然后对恶意用户发出的interest包进行概率性丢包,即若用户i被判定为恶意用户,就基于概率Pi,t对用户i进行丢包处理,其定义如下:
Pi,t=1-Ri,t.
(3)
该种对用户类别(正常用户和攻击者)进行判别的方式,能够解决ON-OFF等复杂攻击不易被检测到的问题,缓解其带来的危害,使得EIM相对于以往的IFA解决方法更能适应多种类型的攻击.
3 仿真实验
3.1 实验准备
本文以二叉树结构作为NDN网络拓扑,如图2所示.在仿真实验中,涉及到两种类型的用户:普通用户和恶意用户,不失一般性,本文设定普通用户与恶意用户数量比为3∶1,用户总数为16,NDN路由器数量为15,内容提供者数量为1,仿真参数如表1所示,仿真总时长为300s,其中普通用户在仿真开始时发送恒定速率interest包,恶意用户在仿真开始200s后启动IFA,攻击模型分为以下两种类型:
1)ON-OFF攻击:恶意用户间隔1s切换其状态,持续时间段为201~230s;
2)单一攻击:恶意用户持续执行IFA,持续时间段为231~260s.
图2 NDN网络拓扑结构Fig.2 NDN network topology
1 s10 ms100packets/sPIT50 entriesPIT1 sα0.5T0.4525%
3.2 仿真结果分析
首先通过对网络施加ON-OFF复杂攻击来验证信息熵方法在应对复杂攻击时的局限,之后采用以下两个指标来评估EIM对单一攻击和复杂攻击的缓解效果:
1)正常用户接收到的data包数量;
2)NDN路由器PIT空间占用率.
图3表示在上述两种模式的攻击下,信息熵值H的变化图.
图3 两种攻击模式下信息熵值的变化情况Fig.3 The change of information entropy value under two attack modes
可以看出,熵值H大概在第230.4s开始,持续高于给定阈值Th,相对于前200s的学习阶段,熵值变化明显,能够迅速检测到攻击.但是,在对网络施加复杂的ON-OFF攻击时,即201~230s期间,熵值 基本都保持在给定阈值Th以内,偶尔高于Th值,而信息熵方法认为偶尔的波动是正常行为,不会将其视为攻击.因此,如果网络中存在复杂的ON-OFF攻击时,基于信息熵的IFA解决方法在检测准确性上有着明显的局限.
图4和图5通过在不同攻击速率下正常用户接收到的data包数量和NDN路由器R1的PIT空间占用率两个指标对本文提出的EIM方法进行性能评估.从图4(a)可见,NDN网络刚开始运行时,所有用户收到的data包数量维持在1100个左右,占所发出data包总数的91.6%.第201s时ON-OFF攻击开始,可以发现用户收到的data包数量急剧下降.其中在没有采取任何IFA解决措施的情况下,data包数量下降了近45%,同时基于信息熵方法的IFA解决方法效果也不明显,基本与没有采取任何措施的情况持平.而本文提出的EIM方法却有效缓解了IFA,可以看到,在ON-OFF攻击下,用户仍然能收到80%左右的data包,这是因为EIM通过信誉值对正常用户和攻击者进行了判别,在限制攻击者的同时,缓解了IFA对正常用户的影响.在231~260s时间段内持续进行单一攻击模式,正常用户收到的data包数量几乎降为0,但在信息熵方法和EIM方法的缓解作用下,NDN网络能很快恢复到正常状态.
同样,从图4(b)中可以看到,在ON-OFF攻击阶段,无IFA解决措施与信息熵方法情况下,被攻击NDN路由器的PIT空间占用率基本保持在60%左右,而实施了EIM方法后,PIT的占用率基本可以恢复到10%~20%以内,偶尔会波动到20%以上;同时,在单一攻击模式下,采用信息熵和EIM后,能够使NDN路由器的PIT占用率从接近100%迅速降至20%以内,IFA缓解效果明显.
当攻击者发送interest包效率为3000个/s时,网络状况如图5,从图5(a)中可以看到,随着攻击速率的增大,正常用户收到的data包的数量在每个时刻都有不同程度的下降,但是EIM方法仍然能够使data包数量维持在75%左右,极大地缓解了IFA带来的影响.同理,从如图5(b)中可以看到,当速率增大一倍时,PIT空间占用率在EIM方法的作用下变化并不大,网络性能表现得最好.
综上所述,相对于信息熵方法,本文提出的EIM方法不仅能够在单一攻击模式情况下,取得和信息熵方法相同的IFA解决效果,而且能够在复杂攻击模式下,有效限制攻击者的行为,缓解IFA给正常用户带来的危害,因此具有更好的效果.
图4 攻击者发送interest包速率为1500个/s时的网络性能图Fig.4 Network performance diagram of an attacker sending 1500 interest packets per second
图5 攻击者发送interest包速率为3000个/s时的网络性能图Fig.5 Network performance diagram of an attacker sending 3000 interest packets per second
4 结语
本文提出一种基于信息熵的改进方法—EIM,该方法在根据interest包封装的数据内容名称分布来检测和防御IFA的基础上,增加了对用户类型的判别,有效限制了攻击者的同时,不影响正常用户获取所需数据.通过仿真实验,验证了该方法能够有效地缓解IFA.