Contents

SD-Anti-DDoS: Fast and efficient DDoS defense in software-defined networks

Cui Y, Yan L, Li S, et al. SD-Anti-DDoS: Fast and efficient DDoS defense in software-defined networks[J]. Journal of Network and Computer Applications, 2016, 68: 65-79.

本文提出一种针对DDoS攻击的检测与缓解机制,由四部份组成:attack detection trigger,attack detection,attack traceback,attack mitigation。本文质量一般,不过packet_in trigger提出觉得有点创新。

introduction

本文通过trigger来触发检测算法进行检测,检测到后再分析switch是否为恶意攻击的路径,再结合全局拓扑和受攻击者IP找到恶意流的源switch,从源进行缓解。 整体架构如图4:

https://s2.ax1x.com/2019/04/24/EVIjL4.png

init state:检测packet_in是否有异常。 detecxtion state:检测DDoS是否发生。 Traceback State:检测包攻击路径 Mitigation state:根据找到的source switch进行缓解。

  • 1.发生异常
  • 2.没检测到DDoS攻击
  • 3.检测到DDoS攻击
  • 4.没找到攻击包路径
  • 5.path,source switch被找到
  • 6.清理完成。

图5为组件和工作流程图

[https://s2.ax1x.com/2019/04/24/EVorXF.md.png]

由图可见本机制的4部分合作关系下面分别介绍这四部份。

Attack detection trigger

本部份主要检测packet_in是否有异常的数据量峰值包括两部份:消息容量计算,消息容量异常检测,使用的是exact-STORM算法,它使用的一种Indexed Trream Buffer(ISB)的数据结构,ISB以节点的形式存储信息,主要结构为:

  • n.obj: packet_in消息的velocity,其实就是时间间隔到达的包数除以时间间隔。
  • n.id
  • n.count_after: buffer中其他点与当前点的V在一定范围内的个数。
  • n.nn_before: 最相近的指定个节点id组成的列表。

packet_in消息异常检测流程和算法如图6和A1:

https://s2.ax1x.com/2019/04/24/EV7NR0.md.png

https://s2.ax1x.com/2019/04/24/EV7UzV.png

算法和流程图讲的是一个东西。当指定数据的packet_in包到达后计算该时间间隔的包体积V(就是包数除以时间),并使用exact-STORM来检测是否异常。 exact-STORM算法如A2:

https://s2.ax1x.com/2019/04/24/EV7jOS.png

本算法中,如果buffer中包与本包的V差值在R之内的个数+与本包V值最近的几个包数(没说几个)<某个值,则本包被视为游离包,返回异常。 使用本触发方法比定期触发更节省资源。

Attack detection

本文使用的检测算法:BPNN(没具体讲算法怎么用。)输入层5,隐藏层10,输出层1.输入特征为:流项的包数,流项的字节数,流项的包率,流项的字节率,流项的生存时间。具体流程见图7:

https://s2.ax1x.com/2019/04/24/EVO8Cd.md.png

解释:对每个流抽取特征并检测,如果是恶意流:存dIP,如果恶意流数量超过一定值:找到最可能的dIP,停止分析。

attack traceback

利用前一阶段获得的信息进行路径发现和路径源头。具体流程见图8

https://s2.ax1x.com/2019/04/24/EVORbT.md.png

这里再次使用BPNN算法,计算S中的每个流,如果恶意流数量超过一定值而将该S定为恶意S,再根据dIP,恶意S和全局拓扑找到source。

attack mitigation

目的:阻寒攻击流量。 在source给恶意流量以最高优先级插入丢弃策略,流项见图9

https://s2.ax1x.com/2019/04/24/EVXVIg.png

评价

RYU中,使用25个S,200个host,重要参数设置见表2

https://s2.ax1x.com/2019/04/24/EVX0L6.md.png

整体性能评估

表3各模块启动时间,图10:CPU使用率,图11控制器网络负载

https://s2.ax1x.com/2019/04/24/EVXWQI.png

https://s2.ax1x.com/2019/04/24/EVXfyt.png

https://s2.ax1x.com/2019/04/24/EVX5ef.png

表4为寻找路径结果

https://s2.ax1x.com/2019/04/24/EVXHYQ.png

找到两条路径:e11-a3-c1-a2-e6和e16-a4-c1-a2-e6 表5为在block前后controller接收率的变化

https://s2.ax1x.com/2019/04/24/EVXzwT.png

##结果性能对比

  1. 本文的优点:触发型检测,可删除S中的entries(没有具体的性能对比),对比见表6

https://s2.ax1x.com/2019/04/24/EVjklR.md.png

  1. 比较trigger和periodic的性对,本文只是自己跟自己比,没有跟别人比。

https://s2.ax1x.com/2019/04/24/EVjUAS.md.png

Comput.NetW.这个怎么样?