一种基于接口异常度可信判断的内容中心网络缓存污染防御方法
朱轶, 王新平, 黄茹辉, 康浩浩, 曹清华     
江苏大学 计算机科学与通信工程学院, 江苏 镇江 212013
摘要

针对内容中心网络的缓存污染攻击问题,提出一种基于接口异常度可信判断的限速机制,根据接口异常度检测缓存污染攻击类型,并结合接口命中率对异常接口进行限速控制.仿真结果表明,该机制可以同时防御缓存恶意侵占(Locality-Disruption)和虚假内容缓存(False-Locality)2种攻击,且通过引入False-Locality攻击的可信度判断,可大概率区分异常的False-Locality攻击和正常的突发拥塞事件,避免错误抑制Flash Crowd网络行为.

关键词: 缓存污染攻击     防御方法     接口限速     突发拥塞     可信判断    
中图分类号:TP391 文献标志码:A 文章编号:1007-5321(2017)06-0014-05 DOI:10.13190/j.jbupt.2017-104
A Cache Pollution Defense Mechanism Based on Trust Judgment of Face Abnormality in Content Centric Networking
ZHU Yi, WANG Xin-ping, HUANG Ru-hui, KANG Hao-hao, CAO Qing-hua     
School of Computer Science and Communication Engineering, Jiangsu University, Jiangsu Zhenjiang 212013, China
Abstract

To solve the problem of cache pollution attack in content centric networking, a traffic limiting control mechanism was proposed based on trusted judgment of face abnormality. By detecting the abnormality status of each face, the traffic of abnormal face was limited according to its request hit probability. Simulations show that, this mechanism can defend against both locality-disruption and false-locality attacks. In addition, using the trust judgment of face abnormality, the false-locality attack can be distinguished from the flash crowd event with large probability. So, it can avoid mistakenly restraining the normal network behavior.

Key words: cache pollution attack     defense mechanism     face acceptance limitation     flash crowd     trust judgment    

缓存污染攻击是内容中心网络(CCN, content centric networking)的重要安全隐患之一[1],包括两类攻击行为[2]:缓存恶意侵占(Locality-Disruption)和虚假内容缓存(False-Locality).前者以不同类别的低流行度内容为攻击对象,后者以某一类低流行度内容为攻击对象.这两种攻击手段,通过人为排斥网络中存储的用户关注内容,破坏网络性能.

围绕这一安全问题,Xie等[3]提出了CacheShield策略,根据目标内容的请求次数以及概率调节参数确定缓存的存入概率,用于抑制请求频次较低的内容存入缓存.该策略可以一定程度上减轻Locality-Disruption攻击,但不能防御False-Locality攻击. Abd Allah等[4]提出基于接口请求命中率进行污染检测和基于接口请求满足率进行限速防御.该文的研究背景为攻击者请求虚假内容污染缓存,所采用的限速依据为接口满足率,对于合法内容污染攻击未必合理.但该文指出Locality-Disruption会导致接口命中率下降,而False-Locality会导致接口命中率畸形虚高,为缓存污染类型区分提供了重要的设计参考.

就当前研究现状而言,针对CCN的缓存污染攻击尚缺乏同时有效防御两类攻击的机制,此外,未考虑False-Locality与网络中正常的突发拥塞(Flash Crowd)近似[5].从网络流量特征上,False-Locality与Flash Crowd都表现为对某一类别合法内容发起的异常流量请求,但是前者属于恶意攻击,应加以抑制;后者属于正常的网络突发行为,应不加以干涉.那么如何有效区分并给予不同的处理,在现有研究工作中未能体现.

围绕上述2个问题,提出一种基于接口异常度可信判断的缓存污染防御方法(IAM-TJFA, interest acceptance mechanism based on trust judgment of face abnormality),该方法结合路由器的异常端口数以及所处网络位置,评估发生False-Locality攻击的可信度,基于接口命中率设置动态接口限速机制,同时防御两类攻击.

1 攻击行为描述 1.1 基本设定

研究均基于以下假设[6]

1) 网络中每一个CCN路由器的缓存大小相同,均为C(GB);

2) CCN网络源服务器可提供M个不同内容,根据其流行度均匀划分成K个不同类别,每一类所包含的文件数相同,即m=M/K个内容文件;

3) CCN网络拓扑为LN叉树,每一路由器有N个接口,其中[1, N1]为异常接口,[NN1+1, N]为正常接口;

4) 设用户与攻击者发起的请求均服从泊松分布,λ(i)为第i层节点的请求到达率,λ(i, j)为第i层CCN节点第j个接口的请求到达率;

5) 设第i层内容请求命中概率PHIT(i),第i层第j个接口的内容请求命中概率PHIT(i, j);

6) 每个CCN路由器均采用最近最少使用(LRU, least recently used)策略与处处缓存(LCE, leave copy everywhere)策略.

1.2 攻击描述

缓存污染攻击表现为攻击者对某一特定范围的内容类别,以非常规速率进行内容请求.因此,可从以下3个方面对攻击行为进行描述.

1) 攻击范围:表示攻击的内容类别,对于Locality-Disruption攻击,默认攻击针对所有类别,而False-Locality攻击,将针对某一特定类别攻击;

2) 攻击强度:表示异常接口请求到达率的均值与正常接口请求到达率的均值之比,设第i层节点的攻击强度为ηi,定义为

$ {\eta _i} = \frac{{\frac{1}{{{N_1}}}\sum\limits_{j = 1}^{{N_1}} {\lambda \left( {i, j} \right)} }}{{\frac{1}{{N-{N_1}}}\sum\limits_{j = N-{N_1} + 1}^N {\lambda \left( {i, j} \right)} }} $ (1)

3) 攻击请求分布:表示攻击者以何种规则对于目标范围产生内容请求.对于False-Locality攻击,仅攻击某一类别,该指标无意义;而对于Locality-Disruption攻击,需要利用该指标描述如何产生对所有类别的攻击.设对于网络边缘的第一层路由器而言,正常用户产生的到达请求服从参数为αN的Zipf分布,Locality-Disruption攻击者产生的到达请求服从参数为αA的Zipf分布,则可通过αA的降低描述Locality-Disruption攻击的严重程度.

2 IAM-TJFA方法描述

IAM-TJFA方法:包括初始化阶段、攻击检测阶段以及攻击防御阶段3个环节.

1) 初始化阶段.在网络处于稳态且无攻击出现条件下,每个CCN路由器独立统计自身的接口平均请求到达率以及接口平均命中率.统计时间区间内,接口平均请求到达率λAve(i)、接口平均命中率PHIT-Ave(i)可定义为

$ {\lambda _{{\rm{Ave}}}}\left( i \right) = \frac{1}{N}\sum\limits_{j = 1}^N {\lambda \left( {i, j} \right)} $ (2)
$ {P_{{\rm{HIT-Ave}}}}\left( i \right) = \frac{1}{N}\sum\limits_{j = 1}^N {{P_{{\rm{HIT}}}}\left( {i, j} \right)} $ (3)

2) 攻击检测阶段.路由器以时间区间T为间隔,周期性检测每一接口的请求到达率,若请求到达率满足式(4),则认为接口出现流量异常,这里,ξ为流量异常系数.

$ \lambda \left( {i, j} \right) > \xi {\lambda _{{\rm{Ave}}}}\left( i \right) $ (4)

在此基础上,参考文献[4],根据该检测时间区间内接口的请求命中率进行攻击类型判断.如式(5),若接口的请求命中率PHIT(i, j)异常低于平均值,则有可能出现了Locality-Disruption攻击;若接口的请求命中率异常高于平均值,则有可能出现了False-Locality攻击或者Flash Crowd事件.

$ \left. \begin{array}{l} {P_{{\rm{HIT}}}}\left( {i, j} \right) < {P_{{\rm{HIT-Ave}}}}\left( i \right) \Rightarrow {\rm{Locality}}-{\rm{Disruption}}\\ {P_{{\rm{HIT}}}}\left( {i, j} \right) > {P_{{\rm{HIT-Ave}}}}\left( i \right) \Rightarrow {\rm{False - Locality}}\;{\rm{or}}\;{\rm{Flash}}\;{\rm{Crowd}} \end{array} \right\} $ (5)

考虑到接口流量与请求命中率均异常增加时,也有可能是出现了Flash Crowd群体性热点事件,路由器根据式(5)做出的判断未必可信.进一步,结合出现异常的端口数和该路由器所处的网络位置评估发生False-Locality攻击的可信度.设第i层CCN节点发生异常的接口数为Ni,则False-Locality攻击的可信度PTrust(i)为

$ {P_{{\rm{Trust}}}}\left( i \right) = {\rm{min}}\left[{1, \frac{1}{{{\rm{l}}{{\rm{b}}_2}({N_i}{f_i})}}} \right] $ (6)

其中fi为第i层的每一接口对应的最大边缘接口数量.由于CCN网络中不存在用户地址标识,只能采用边缘接口数替代表示汇聚流中的用户群体规模.如式(7),随着网络层次的增加,CCN节点接口到达请求流中的汇聚程度逐步提高,此时接口的流量更有可能体现出的是Flash Crowd事件,其表征出现False-Locality攻击的可信度逐步下降.

$ {f_i} = \left\{ \begin{array}{l} 1, \;\;\;\;\;\;i = 1\\ {N^{(i-1)}}, \;\;\;\;\;1 < i \le L \end{array} \right. $ (7)

3) 攻击防御阶段.根据上一阶段的检测结果,以接口命中率PHIT(i, j)为限速比率,采用接口限速的方式进行缓存污染防御,防御规则如下:如果出现Locality-Disruption攻击,则将异常接口的兴趣包转发速率限制为min {λAve(i), λ(i, j)PHIT(i, j)}.如判断出现False-Locality攻击或者Flash Crowd事件,则以PTrust(i)的概率将异常接口的兴趣包转发速率限制为min {λAve(i), λ(i, j)[1-PHIT(i, j)]};以1-PTrust(i)的概率,不做处理.这里之所以采用接口平均请求到达率λAve(i)作为辅助约束参考值,是为了约束瞬时异常请求流量强度过大的情况.

3 IAM-TJFA性能仿真分析

下面利用NdnSim对IAM-TJFA机制进行仿真分析,运行环境的计算资源为:10核Intel(R) Xeon(R) CPU E7-4830、内存256 GB、操作系统CentOS6.5.分析中选用文献[3]的CacheShield机制作为对比策略,之所以不采用文献[4]中的防御策略,是因为该策略针对虚假内容实施缓存污染,而笔者只考虑请求真实存在的内容.

参考文献[6-7]的分析条件设置,现设CCN可提供的内容文件根据流行度分为50类,每一类内容包含m=2 000个内容文件,CCN节点缓存C=100 GB,接口数N=4,边缘路由器每个正常接口的到达请求服从参数为10内容/s的泊松分布,单个内容文件平均大小为100 MB.无污染攻击时,用户请求服从的Zipf分布参数为αN=1.2;出现攻击时,Locality-Disruption攻击的攻击强度η1设为5,攻击请求分布αA选取0.01;False-Locality攻击,选取第8类内容作为攻击对象,攻击强度η1设为5.网络拓扑为3层的四叉树结构,如图 1所示.每次仿真实验的运行时间为3 600仿真秒,每次实验中共发送288万次攻击.

图 1 3层N叉树网络拓扑(N=4)

对于CacheShield机制,参考文献[3]中的策略描述,设参数$p = \sum\limits_{k = 1}^{K'} {\;\lambda _i^kT{\rm{/}}K'} $q=1,即以T时间区间内前K′类内容的平均请求数为阈值(取T=100 s),这里K′应满足前K′类内容的请求占总请求数的70%以上,取K′=20.

鉴于缓存污染攻击的目的是排斥掉网络中缓存的用户关注内容,从而降低正常用户的请求命中率,破坏网络性能,因此,仿真中以正常用户的第1层分类命中率和3层总命中率来评价缓存污染攻击的防御效果.

3.1 攻击防御效果分析

图 2图 3所示为每个边缘路由器均出现一个异常接口(N1=1)时的仿真结果.

图 2 Locality-Disruption攻击防御效果(N1=1)

图 3 False-Locality攻击防御效果(N1=1)

图 2可见,CacheShield以及IAM-TJFA对Locality-Disruption攻击均表现出一定的防御能力,从第1层分类命中率来看,IAM-TJFA下的性能较无防御时已经有了一定改善,这是由于异常接口受攻击时命中率极低,通过接口速率限制后,大大降低了受攻击接口的异常流量.对于CacheShield,其第1类命中率甚至比无攻击时还高,而从第2类开始,与无攻击时的命中率差别逐渐增大,逐渐降到比IAM-TJFA还低.这是由于CacheShield属于概率缓存机制,具备增大流行内容在缓存中存储比例的特征,并且CacheShield倾向于缓存高流行度内容,所以随着内容类别流行度的下降,CacheShield下的命中率会明显低于正常值.若将所有类别的第一层总命中率合并计算数学期望,则IAM-TJFA的总命中率与无攻击时基本一致,已经保证网络处于正常工作状态.

图 3(a)所示,对于False-Locality攻击,IAM-TJFA通过对接入路由器判断出现False-Locality攻击的可信度进行评估:N1=1$\Rightarrow $PTrust(1)=1,因此直接将异常接口速率限制为λAve(i),攻击得到缓解,此时分类命中率与总命中率均与正常最为接近,良好实现了缓存污染防御.而CacheShield对False-Locality攻击毫无防御能力,由于该机制设计为大概率存储高流行度内容,所以对于False-Locality攻击中集中请求的攻击对象,CacheShield不仅不抑制,反而会强化受攻击类别内容在网络中的存储比例,增强了缓存污染效果.从第1层总命中率来看,如图 3(b)所示,攻击出现后,网络总体命中率均有增高,而当去掉攻击者的命中率后,IAM-TJFA基本维持正常,而CacheShield的总命中率从0.348降至0.041,进一步说明了IAM-TJFA对False-Locality攻击的防御有效性.

3.2 False-Locality与Flash Crowd的区分

IAM-TJFA设计中,考虑到了False-Locality与Flash Crowd的区分问题,第i层CCN节点通过计算可信度PTrust(i)估计出现False-Locality攻击的可能,并以此为依据决定如何限制异常接口的速率.为了深入探讨出现突发性请求热点事件时的运行效果,设置了2个特殊场景:场景A,连接第2层路由器的4个边缘路由器中,有一个出现4个接口同时异常且集中访问第8类内容,如图 4(a)所示,图中黑色点表示异常终端;场景B,连接第2层路由器的4个边缘路由器中,有2个出现4个接口同时异常且集中访问第8类内容,如图 4(b)所示.虽然场景A从接入的异常接口数量上,跟之前分析的N1=1情况一致(都出现了16个异常接口),但是场景A是Flash Crowd事件的概率更大,表现出一个邻近群体同时对某一类别的网络内容集中访问.场景B从接入的异常接口数量上,出现了32个异常接口,表现为Flash Crowd事件的可能性更强. 图 5给出了这2个场景下运行IAM-TJFA前后接入请求的3层总命中率的对比.由于这2个场景中,第1层边缘路由器又可分为正常路由器和异常路由器,所以分别对两类路由器的总命中率进行计算.如图 5所示,对于正常路由器,运行IAM-TJFA前后,其总命中率基本不变,还略有提升;而异常路由器的总命中率,由于有一定可能怀疑是False-Locality攻击,所以受到一定程度的接口限速,相比未运行IAM-TJFA有所下降.但是将场景A与图 3(b)的运行结果对比,场景A的命中率要高得多,这是因为路由器判断此时出现Flash Crowd事件的概率提升,所以给予更少的流量约束限制.进一步对比场景A和场景B下IAM-TJFA运行后的总命中率,场景B因为出现集中访问的区域性群体规模更大,所以IAM-TJFA运行后的总命中率比场景A更高.

图 4 2个特殊分析场景

图 5 异常路由与正常路由命中率(场景A、B)
4 结束语

针对CCN的缓存污染攻击问题,提出的IAM-TJFA机制可以同时有效防御Locality-Disruption与False-Locality攻击,并对False-Locality攻击与Flash Crowd行为进行了区分,在出现区域性群体热点访问现象时,IAM-TJFA机制不会盲目防御,而是表现出良好的适应能力.未来研究中,将进一步探索如何结合网内多点协作缓存实现有效的内容污染防御.

参考文献
[1] Lauinger T. Security & scalability of content-centric networking[D]. Darmstadt: TU Darmstadt, 2010.
[2] Deng L, Gao Y, Chen Y, et al. Pollution attacks and defenses for Internet caching systems[J]. Computer Networks:The International Journal of Computer and Telecommunications Networking, 2008, 52(5): 935–956.
[3] Xie M J, Widjaja I, Wang H N. Enhancing cache robustness for content-centric networking[C]//INFOCOM. Orlando: IEEE, 2012: 2426-2434.
[4] Abd Allah E G, Zulkernine M, Hassanein H S. Detection and prevention of malicious requests in ICN routing and caching[C]//2015 IEEE International Conference on Computer and Information Technology(CIT). Liverpool: IEEE, 2015: 1741-1748.
[5] Swaroopa Rani T, Sindhura V, Rama Koteswara Rao G, et al. Discerning flooding attack from flash crowd based on traffic patterns using entropy detection method[C]//2015 IEEE International Conference on Electrical, Computer and Communication Technologies (ICECCT). Coimbatore: IEEE, 2015: 1-6.
[6] Carofiglio G, Gallo M, Muscariello L, et al. Modeling data transfer in content-centric networking[C]//Proceedings of the 23rd International Teletraffic Congress. San Francisco: International Teletraffic Congress, 2011: 111-118
[7] Fricker C, Robert P, Roberts J, et al. Impact of traffic mix on caching performance in a content-centric network[C]//2012 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS). Orlando: IEEE, 2012: 310-315.