命名数据网络低速缓存污染攻击的协同检测机制
朱轶, 施佳, 龚朴, 曹清华, 苏东    
江苏大学 计算机科学与通信工程学院, 江苏 镇江 212013
摘要

缓存污染攻击是命名数据网络中的主要安全威胁之一,为解决缓存污染攻击中的低速率攻击问题,在计算网络中相邻多节点请求变动率的基础上,以传输路径中各节点与网络边缘节点请求变动率的相关性为检测依据,提出一种协同检测机制. 仿真结果表明,该机制能有效检测低速攻击行为,与现有主要检测方法相比,可保证较高的正确检测率,同时适当增加协同层数,能降低分散攻击的检测时延.

关键词: 命名数据网络    缓存污染攻击    低速攻击    协同检测         
中图分类号: TN911 文献标志码: A 文章编号: 1007-5321(2015)06-0044-05 DOI: 10.13190/j.jbupt.2015.06.010
Collaborative Detection Mechanism for Low-rate Cache Pollution Attack in Named Data Networking
ZHU Yi, SHI Jia, GONG Pu, CAO Qing-hua, SU Dong     
School of Computer Science and Communication Engineering, Jiangsu University, Jiangsu Zhenjiang 212013, China
Abstract

Cache pollution attack is one of main security threats in named data networking. Focusing on low-rate cache pollution attack, the article proposed a collaborative detection mechanism. This mechanism calculates the request variability of every node in transmission path, adopts the request variability correlation between arbitrary middle node and network edge node as detection indicator. Simulations show that the mechanism can improve the detection rate, ensure the detection reliability. With appropriate collaborative nodes, it can detect locality-disruption more quickly. Compared with other typical detection methods, it is an effectively detection way for low-rate cache pollution attack.

Key words: named data networking    cache pollution attack    low-rate attack    collaborative detection    

缓存污染攻击是命名数据网络(NDN,named data networking)中的一类重要安全隐患,包括分散攻击和集中攻击 [1]. 分散攻击通过恶意请求大量低流行度合法内容,使其充斥邻近节点的缓存;集中攻击针对某类特定内容发送大量恶意请求,使其长期占据节点的缓存,降低合法用户的请求命中率.

针对缓存污染攻击的检测问题,Karami等[2]提出一种自适应模糊神经网络的缓存置换策略,以神经网络输出作为缓存污染的检测依据. Park等[3]结合缓存中内容请求的随机性进行检测,该方法不依赖于请求者的源地址,适用于NDN,但计算量过大. Conti等[4]提出一种轻量级检测机制 (LwM,lightweight mechanism),以选定样本空间内所有类请求率变化之和为检测指标,该机制计算量不大,且所用网络拓扑接近实际,为后继研究提供了良好参考,但LwM存在误判可能. 上述检测算法对于已产生明显影响的缓存污染攻击可以较好识别,但若缓存污染攻击缓慢出现,这几类检测算法效果一般.

考虑到实际网络中,网络所提供的内容数远大于单个节点的缓存容量,缓存污染攻击会透过边缘节点溯源而上,影响传输路径中的多个节点,因此利用传输路径上多节点对缓存污染攻击的感知开展协同检测是一种有效的检测方法. 基于该设计思路,笔者针对分层拓扑的NDN,提出一种协同检测机制(CDM,collaborative detection mechanism),通过计算传输路径中相邻多节点请求变动率,以各层节点与第1层节点请求变动率的相关性为判断依据,设置阈值检测判断是否发生攻击.

1 协同检测算法 1.1 场景设定

1) 如图 1所示,NDN由L层节点构成,网络中设置一个数据融合中心来集中处理各路由节点的检测数据,并反馈检测结果.

图1 分层路由级联结构

2) 源服务器提供M个内容,根据内容的流行度均匀划分为K类,每个内容的大小相同. 节点缓存大小也相同,均为C,缓存置换策略为最近最少策略,判决策略为处处缓存策略.

3) 设Nnon(k,r,τ)表示无攻击时,在观测时间τ内第r层到达的第k类兴趣包个数,则第k类内容在第r层处的正常请求率qnon(k,r,τ)定义为

$ {q_{{\rm{non}}}}{\rm{(}}k,r,\tau {\rm{) = }}\frac{{{N_{{\rm{non}}}}\left( {k,r,\tau } \right)}}{{\sum\limits_{k = 1}^K {{N_{{\rm{non}}}}\left( {k,r,\tau } \right)} }},r = 1,2, \cdots ,L $ (1)

且无攻击条件下,第1层的正常请求率理论上应服从Zipf分布,即qnon(k,1,∞)=c/kα,其中c为常数且c>0,α(α≥0)代表了用户对于内容关注度的集中程度,α越大,内容请求越集中于k较小的内容.

4) 设Nat(k,r,τ)表示在观测区间τ内,攻击者对于第r层路由器发送的第k类恶意攻击兴趣包个数,当出现缓存污染攻击时,第k类内容在第r层路由器处的异常请求率qat(k,r,τ)可定义为

$ {q_{{\rm{at}}}}{\rm{(}}k,r,\tau {\rm{) = }}\frac{{{N_{{\rm{non}}}}\left( {k,r,\tau } \right) + {N_{{\rm{at}}}}\left( {k,r,\tau } \right)}}{{\sum\limits_{k = 1}^K {\left[ {{N_{{\rm{non}}}}\left( {k,r,\tau } \right) + {N_{{\rm{at}}}}\left( {k,r,\tau } \right)} \right]} }} $ (2)

对于分散攻击,由于攻击者增大了低流行度内容的请求概率,随着攻击程度的加剧,qat(k,r,τ)将趋向于均匀分布. 对于第1层路由器而言,分散攻击将使原有Zipf分布变得平滑,也可近似采用α描述攻击程度,α越小,则攻击程度越严重.

对于集中攻击,若第x类内容为攻击目标,则第1层路由器异常请求率分布可近似如式(3)所示,且α增大表征攻击程度的加剧.

$ {q_{{\rm{at}}}}{\rm{(}}k,r,\tau {\rm{) = }}\left\{ \begin{array}{l} \frac{c}{{{{\left[ {\left( {k\bmod \;x} \right) + 1} \right]}^\alpha }}},\;\;k \le x\\ \frac{c}{{{k^\alpha }}},\;\;k > x \end{array} \right. $ (3)

5) 设攻击建立时间区间为[t,t+T],即t时刻出现攻击,并逐渐提升攻击强度,经过时间T后,在t+T时刻达到最大攻击强度,并维持该稳定状态持续攻击. 显然,对于快速攻击,T→0;对于低速率攻击,建立时间T将持续较长时间,而低速率攻击的检测目标即为在攻击建立过程中,尽可能准确并尽早识别攻击行为,以便及时防御.

为了简化分析并清晰描述低速率缓存污染攻击特征,现设定在T区间内攻击强度将以恒定速率线性增加,具体攻击速率及低速率攻击定义如下.

定义1 攻击速率v:将攻击建立时间T等间隔划分为m个时间单元,每一时间单元持续时间为T0. 现定义攻击速率为对于网络第1层的边缘路由器,时间单元内恶意攻击兴趣包的增量占合法用户请求兴趣包的百分比,即

$ \begin{array}{*{20}{c}} {v = \frac{1}{{m - 1}} \times }\\ {\sum\limits_{i = 2}^m {\frac{{\sum\limits_{k = 1}^K {\left[ {{N_{{\rm{at}}}}\left( {k,1,i{T_0}} \right) - {N_{{\rm{at}}}}\left( {k,1,\left( {i - 1} \right){T_0}} \right)} \right]} }}{{\sum\limits_{k = 1}^K {{N_{{\rm{non}}}}\left( {k,1,i{T_0}} \right)} }}} \times 100\% } \end{array} $ (4)

定义2 低速攻击:当攻击速率v小于某一阈值Δ,通常设Δ≤0.2,即时间单元内恶意请求的增量占合法用户请求数的百分比小于20%时,认为是低速率攻击. 此时,攻击者将花费较长时间才可能对网络产生实质性影响.

1.2 CDM算法描述

将检测问题建模为2元模型,假设:

$ \begin{array}{l} {H_0}:Y\left( {1,i} \right) = \sum\limits_{k = 1}^K {{N_{{\rm{non}}}}\left( {k,1,i{T_0}} \right)} \\ \begin{array}{*{20}{c}} {{H_1}:Y\left( {1,i} \right) = \sum\limits_{k = 1}^K {\left[ {{N_{{\rm{non}}}}\left( {k,1,i{T_0}} \right) - {N_{{\rm{at}}}}\left( {k,1,i{T_0}} \right)} \right]} ,}\\ {i = 1,2, \cdots ,m} \end{array} \end{array} $ (5)

其中Y(1,i)为第1层路由器在第i(i=1,2,…,m)个时间单元内到达的请求兴趣包. 对于该2元检测问题,即判断第i个时间单元内是否出现缓存污染攻击.

定义3 请求变动率:第r层路由器在第i个时间单元内,所有类的实际请求率与正常请求率的差值平方之和,设为δri,即

$ \delta _r^i = \sum\limits_{k = 1}^K {{{\left[ {{q_{{\rm{at}}}}\left( {k,r,i{T_0}} \right) - {q_{{\rm{non}}}}\left( {k,r,\infty } \right)} \right]}^2}} $ (6)

其中qnon(k,r,∞)为第r层路由器处的第k类内容请求的长期正常分布统计.

现有请求变动率检测法可描述为

$ \delta _1^i\begin{array}{*{20}{c}} {{H_1}}\\ > \\ < \\ {{H_0}} \end{array}\gamma $ (7)

其中:γ为检测判决门限,δ1i为第1层路由器在第i个时间单元内的请求变动率. 该单层检测法对于高速缓存污染攻击可以有效检测,但是对于低速攻击很难在攻击建立过程中检测出攻击行为.

考虑到实际NDN中,缓存污染攻击会影响传输路径中的多个节点. 因此,当出现攻击时,相邻多层节点与第1层节点的请求变动率的变化趋势会呈现高度相关性,且攻击建立时间越长,该相关性越明显,而这一特性为牺牲空间复杂度换取检测性能改善提供了设计可能. 基于这一考虑,笔者设计CDM的详细步骤如下.

1) 每个NDN路由器在时间单元结束时,将该时间区间内所统计的分类兴趣包到达数目传输给负责本区域的数据融合中心,由融合中心逐层计算并存储每层路由器当前时间单元实时请求变动率.

2) 融合中心根据当前以及之前W-1个历史请求变动率,进一步计算传输路径上每层节点与第1层节点请求变动率的归一化相关性,如式(8)所示.

$ Q_{1,r}^i = \frac{{\sum\limits_{j = i - W + 1}^i {\left[ {\delta _1^i - {E_\delta }\left( {1,W} \right)} \right]\left[ {\delta _r^i - {E_\delta }\left( {r,W} \right)} \right]} }}{{\sqrt {A_1^iB_r^i} }} $ (8)

其中:

$ \begin{array}{*{20}{c}} {{E_\delta }\left( {r,W} \right) = \frac{1}{W}\sum\limits_{j = i - W + 1}^i {\delta _r^i} }\\ {A_1^i = \sum\limits_{j = i - W + 1}^i {{{\left[ {\delta _1^i - {E_\delta }\left( {1,W} \right)} \right]}^2}} }\\ {B_r^i = \sum\limits_{j = i - W + 1}^i {{{\left[ {\delta _r^i - {E_\delta }\left( {r,W} \right)} \right]}^2},W \le i \le m} } \end{array} $

其中:Q1,ri为第i时间单元结束时,第r层节点与第1层节点请求变动率的相关系数;Eδ(r,W)为第r层节点当前及过去W时刻请求变动率的数学期望.

3) 融合中心采用最大比方式在每个时间单元结束时,将传输路径上l(lL)个参与协同的路由器相关数据加以融合. 设第j个协同路由器对应的权重因子为ωj(见式(9)),此时检测对象为l个路由器请求变动率相关系数的加权之和.

$ {\omega _j} = \frac{{Q_{1,j}^i}}{{\sqrt {\sum\limits_{j = 1}^l {{{\left( {Q_{1,j}^i} \right)}^2}} } }} $ (9)

4) 若l个协同路由器请求变动率相关系数的加权之和大于门限γ,则认为在i时刻检测到攻击,即满足

$ \sum\limits_{j = 1}^l {\omega _j^2Q_{1,j}^i} \begin{array}{*{20}{c}} {{H_1}}\\ > \\ < \\ {{H_0}} \end{array}\gamma ,W \le i \le m,\;\;1 \le l \le L $ (10)

2 仿真分析 2.1 基本性能评估

下面对CDM和LwM算法进行对比分析,分析工具采用Matlab,性能评价指标采用正确检测率Pr和平均检测时延$\bar \tau $. 仿真中假设一次用户请求过程共有m个时间单元,从s(W≤s < m)时刻开始模拟产生低速攻击. 若在第n个时间单元检测出攻击,显然n < s,网络中并无攻击,表示出现误检; ns,正确检测出攻击. 定义d(n)为第n个时间单元正确检测次数,即单次检测中若在第n个时间单元正确检出,d(n)=d(n)+1. 仿真中共做随机检测实验X次,则Pr与$\bar \tau $可定义为

$ \left. \begin{array}{l} {P_r} = \sum\limits_{n = s}^m {\frac{{d\left( n \right)}}{X}} \\ \bar \tau = \sum\limits_{n = s}^m {n{T_0}\frac{{d\left( n \right)}}{{{P_r}X}}} \end{array} \right\} $ (11)

参考文献[5]的参数设置、设仿真条件:网络拓扑为4层级联结构,网络内容分为K=200类,每类内容数为1 000个,缓存大小C=10 GB,单个文件大小为10 MB;合法用户的请求服从α=1.2的Zipf分布;第1层的请求到达服从泊松分布,每秒仿真随机产生100个兴趣包请求,设时间单元长度为10 s. 一次仿真请求过程共有150个时间单元,从第50个时间单元开始进行低速攻击,分散攻击时针对所有类随机发送兴趣请求,集中攻击时针对第20类发送兴趣请求. 计算相关系数时设W=20,取判决门限γ=0.8. 随机进行100次仿真实验,用于统计正确检测率及平均检测时延.

选择测试攻击速率v=0.2、0.1、0.05、0.01,现比较CDM和LwM在不同攻击速率下的正确检测率和平均检测时延,仿真结果如表 1图 2所示.

表1 正确检测概率对比

图2 平均检测时延对比

表 1可见,随着攻击速率的降低,LwM的正确检测率呈持续下降趋势,尤其在攻击速率小于0.05时下降明显,且分散攻击下正确检测率均低于60%. 分析这一误检现象,有2个主要原因:一是由于LwM中判决门限受当前时间单元内兴趣包统计数据影响,未加攻击时门限值较小,而此时合法请求变化率之和会小范围随机波动,波峰值会出现大于门限的状况;二是低速攻击时,每个时间单元内内容的请求变动率变化很小,不易检测出,虽然集中攻击时,某一类请求变动率变化较大,但检测出低速攻击的可能性只是略高于分散攻击. 随着低速攻击速率下降,2种攻击模式下各类内容请求变动率均较低,此时LwM机制无法有效发挥作用.

而CDM算法考虑了多层节点之间请求变动率的相关性特征,以牺牲空间复杂度换取检测性能的改善,因此在攻击速率很低时,依然对攻击行为较敏感,保持较高的正确检测率.

图 2可见,随着攻击速率的降低,两检测机制的平均检测时延均相应增大. 这是因为攻击速率越低,CDM各层节点内容请求变动率的相关性越低,同时LwM边缘节点请求变动率之和越小,两机制检测时间均延长. 尽管LwM的平均检测时延略优于CDM,在攻击速率为0.01时尤为明显,但考虑到此时LwM的正确检测率不到50%,CDM的检测性能总体优于LwM.

2.2 协同层数的选取

下面探讨2~4层节点协同时CDM的性能. 仿真中设定攻击速率v=0.05、单位时间到达率为1 000请求兴趣包/s、每类文件数为100个,其他条件设置同2.1节,仿真结果如图 3所示.

图3 协同层数与正确检测率和平均检测时延的关系

图 3可知,多层协同时CDM总体表现均良好,均在93%以上,3层或4层协同的正确检测率要略高于2层协同. 分散攻击时平均检测时延随协同层数的增加而减小,且3层以上协同的平均检测时延较2层协同下降明显;而集中攻击时协同层数增加,对平均检测时延影响不明显. 这是因为分散攻击时,每层节点内容请求变动率均较小,2层节点间请求变动率的相关性较低,但随着层数的增多,这种相关性体现的越来越明显,多层协同能有效提升检测性能. 而集中攻击时,某类内容的请求变动率较大,各层节点间的相关性较明显,所以2层协同就能很好检测出攻击. 需要说明的是,并非协同层数越多越好,为避免计算资源消耗与系统开销过大,建议采用CDM算法时,选取3层节点协同即可.

3 结束语

协同策略对于低速污染攻击检测作用明显. 协同的优势在于能够以牺牲空间复杂度换取检测性能提升,对比LwM策略,所提出的CDM在低速攻击场合保证了较高的正确检测率,且多层协同时可改善检测时间. 未来研究中,将进一步探讨如何区分攻击行为与网络热点内容请求.

参考文献
[1] Lauinger T. Security & scalability of content-centric networking[D]. Germany: TU Darmstadt, 2010.[引用本文:1]
[2] Karami A, Guerrero-Zapata M. An ANFIS-based cache replacement method for mitigating cache pollution attacks in Named Data Networking[J]. Computer Networks, 2015, 80: 51-65.[引用本文:1]
[3] Park H, Widjaja I, Lee H. Detection of cache pollution attacks using randomness checks[C]//Communications (ICC), 2012 IEEE International Conference on. Ottawa: IEEE, 2012: 1096-1100.[引用本文:1]
[4] Conti M, Gasti P, Teoli M. A lightweight mechanism for detection of cache pollution attacks in named data networking[J]. Computer Networks, 2013, 57(16): 3178-3191.[引用本文:1]
[5] 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: IEEE, 2011: 111-118.[引用本文:1]