基于密度聚类的信息中心网络缓存污染攻击检测与防御方法与流程

文档序号:21844970发布日期:2020-08-14 16:57阅读:444来源:国知局
基于密度聚类的信息中心网络缓存污染攻击检测与防御方法与流程

本发明属于信息中心网络缓存污染攻击的检测与防御技术领域,具体涉及一种基于密度聚类的信息中心网络缓存污染攻击检测与防御方法。



背景技术:

信息中心网络的缓存污染攻击,主要是指攻击者可以通过不断请求非流行的正常内容,让这些内容长期占据节点的缓存空间。缓存污染攻击会导致正常用户的一些请求无法直接在最近的路由节点命中,这些正常请求会转发到其他缓存节点,直到获取到请求的内容,降低了正常请求的缓存命中率,增加正常用户的访问时延,使得网络拥塞发生的可能性增大,严重影响网络性能。

缓存污染攻击根据攻击产生效果的不同可以分为两大类:破坏内容分布特性攻击(locality-disruptionattack,lda)和伪造内容分布特性攻击(false-localityattack,fla)。在lda中,攻击者均匀分散地请求大量不同类别的非流行的合法内容,使得icn节点的缓存中大量存储了各类原本是非流行的内容,人为地提高了各类非流行内容的流行度,平滑了到达路由节点的内容请求分布,这使得各类内容的命中率均明显下降。在fla中,攻击者集中请求某种特定类别的非流行内容,通过持续发送大量的恶意兴趣包,提高该类内容的流行度,使其长期存储在icn节点的缓存中,锐化了到达路由节点的内容请求分布,这使得除了被攻击类别的内容命中率虚高以外,其他各类内容的命中率全都有所下降。



技术实现要素:

本发明的目的在于提供一种基于密度聚类的信息中心网络缓存污染攻击检测与防御方法。

本发明的目的通过如下技术方案来实现:包括以下步骤:

步骤1:在当前统计周期结束后,节点计算已结束的统计周期内收到的每个请求内容对象的请求比率和平均请求时间间隔;

步骤2:利用kann-dbscan算法将统计周期内收到的每个请求内容对象的请求比率和平均请求时间间隔进行聚类,分成不同的集群,获得准确聚类后的簇数并收集流行内容集合的请求内容及其数量;

步骤3:判断是否出现缓存污染攻击,以及出现的缓存污染攻击的类型;

若聚类后的簇数为1,即流行集合的内容请求和非流行集合的内容请求混合为一个集合,则判断出现了破坏内容分布特性攻击lda;

若聚类后的簇数为2,且出现了非流行内容集合的数量突然下降,而流行内容集合的数量却突然增加的情况,则判断出现了伪造内容分布特性攻击fla;

步骤4:针对缓存污染攻击采取防御策略;

若当前缓存污染攻击类型为破坏内容分布特性攻击lda,则节点采用cacheshield防御策略,统计请求内容的请求次数,计算请求内容的存储概率,阻止非流行内容存储到节点的缓存空间中;

若当前缓存污染攻击类型为伪造内容分布特性攻击fla,则节点获取从非流行内容集合中转移到流行内容集合中的内容名称,将这些内容名称添加到节点设置的黑名单中,此后当该节点接收到数据包时,将该数据包的内容名称与黑名单中的恶意内容名称进行前缀匹配,匹配成功后节点不再缓存该数据包;若节点是核心路由节点,则节点还需要设置数据包的通知字段通知边缘路由器对恶意内容进行限速,然后转发数据包;若节点是边缘路由器,当边缘路由器节点收到一个带通知标识的数据包时,将数据包的名称标识添加到限速名单中,再转发数据包;当边缘路由器节点接收到一个兴趣包时,将该兴趣包的内容名称与限速名单中的内容名称进行前缀匹配,若匹配成功则对兴趣包实行限速机制。

本发明的有益效果在于:

本发明针对现有的缓存污染攻击检测与防御方法存在的检测准确率不高的问题,利用了kann-dbscan对用户请求的请求比率和平均请求时间间隔进行聚类,根据聚类的结果判断用户的请求是否符合zipf分布,实现了对缓存污染攻击更加准确的检测。一旦检测出缓存污染攻击的发生,本发明可以迅速组织对fla或lda的有效防御,阻止准确检测出的恶意内容存储到路由节点的cs,使得恶意内容无法占用路由节点的缓存空间,这将大大提高节点中正常用户请求的缓存命中率,降低内容请求的平均跳数。

附图说明

图1是本发明的缓存污染攻击检测模块示意图。

图2是本发明的缓存污染攻击防御模块示意图。

图3是实验对比分析图。

图4是本发明中用户请求行为特征参数的算法流程的伪代码图。

具体实施方式

下面结合附图对本发明做进一步描述。

本发明对于现有的缓存污染攻击检测与防御方法的不足进行了分析,通过分析lda和fla的特性,提出了一种基于密度聚类的信息中心网络缓存污染攻击检测与防御方法。

本发明通过分析lda和fla的特性,利用kann-dbscan算法对用户请求行为的请求比率和平均请求时间间隔进行聚类,根据聚类结果判断用户请求是否服从zipf分布,进而准确检测出缓存污染攻击及其类型,再针对缓存污染攻击的类型提出不同的防御方法。若是lda采用cacheshield防御方法,若是fla采用创建黑名单的方式阻止恶意内容缓存并且使用数据包通告的方式通知边缘路由器实行限速机制。

本发明主要针对现有的缓存污染攻击检测与防御方法存在的检测准确率不高的问题,利用了kann-dbscan对用户请求的请求比率和平均请求时间间隔进行聚类,根据聚类的结果判断用户的请求是否符合zipf分布,实现了对缓存污染攻击更加准确的检测。所以一旦检测出缓存污染攻击的发生,本发明可以迅速组织对fla或lda的有效防御,阻止准确检测出的恶意内容存储到路由节点的cs,使得恶意内容无法占用路由节点的缓存空间,这将大大提高节点中正常用户请求的缓存命中率,降低内容请求的平均跳数。

缓存污染攻击检测方法如下:

步骤1:在每个统计周期内,当节点每收到一个请求,需要统计请求的内容对象的请求总数、收到的总请求数和前后两次请求内容对象的时间间隔。在当前统计周期结束后,每个节点需要计算已结束的统计周期内收到的每个请求内容对象的请求比率和平均请求时间间隔。节点计算用户请求行为特征参数的算法流程如图4所示。

步骤2:基于步骤1统计得到的周期内收到的每个请求内容对象的请求比率和平均请求时间间隔,利用kann-dbscan算法进行聚类,分成不同的集群,获得准确聚类后的簇数并收集流行内容集合的请求内容及其数量。

步骤3:根据上一步聚类获得的簇,判断是否出现缓存污染攻击,以及出现的缓存污染攻击的类型。当节点在无攻击情况下,到达路由节点的内容请求分布会服从zipf分布;当节点出现lda时,到达路由节点的内容请求分布会近似于均匀分布;当节点出现fla时,合法用户内容请求分布仍会服从zipf分布,但是恶意用户的攻击行为会增加某些非流行内容的请求比率锐化了正常的zipf分布。所以对用户的请求行为进行聚类,若是聚类后的簇数为1,即流行集合的内容请求和非流行集合的内容请求混合为一个集合,则出现了lda。若聚类后簇数为2,出现了非流行内容集合的数量突然下降,而流行内容集合的数量却突然增加的情况,则此时可能出现了fla。否则,在无攻击情况下,正常用户的请求情况会分为流行集合和非流行集合两个部分,聚类后簇数为2。

缓存污染攻击防御方法如下:

(1)针对lda的防御方法

当存在一个节点利用缓存污染攻击检测方法检测出lda时,采用cacheshield防御方法,统计请求内容的请求次数,计算请求内容的存储概率,阻止非流行内容存储到节点的缓存空间中。

(2)针对fla的防御方法

当存在一个节点利用缓存污染攻击检测方法检测出fla时,会获取到从非流行内容集合中转移到流行内容集合中的内容名称,将这些内容名称添加到节点设置的黑名单中。此后当该节点每接收到一个数据包时,将该数据包的内容名称与黑名单中的恶意内容名称进行前缀匹配,匹配成功后节点不再缓存该数据包。若节点是核心路由节点,还需要设置数据包的通知字段通知边缘路由器对恶意内容进行限速,然后转发数据包。若节点是边缘路由器,当该节点收到一个带通知标识的数据包,将数据包的名称标识添加到限速名单中,再转发数据包;当该节点接收到一个兴趣包时,将该兴趣包的内容名称与限速名单中的内容名称进行前缀匹配,若匹配成功,则该节点对其实行限速机制。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1