低速率拒绝服务攻击(Low rate Denial of Service, LDoS)利用网络协议中自适应机制所存在的安全漏洞, 通过发送周期性的短脉冲数据流,使网络一直处于不稳定状态。
SDN中LDoS攻击威胁:控制器通过下发封装有LLDP帧的pack_out消息,通过相邻交换机之间的链路传递LLDP帧确认链路信息。一旦在一段时间内未接收到经由某条链路转 发的LLDP帧报文,则认为该链路断开
。因此,利用该机制需要周期性发送LLDP帧的特点,攻击者可以在探 测LLDP帧周期的基础上
,对两个OpenFlow交换机之间链路发起LDoS攻击
,造成LLDP帧在该链路中连续 丢失,进而使得控制器误以为该链路断开.
两个阶段:探测和发起攻击。
探测
探测阶段主要用于探测控制器下发LLDP帧的周期T 。
通过连接在SDN交换机上的傀儡机 接收来自交换机转发的LLDP帧进行周期的计算
ti表示主机第 i 次接收到LLDP帧,a 表示间隔抖 动之和的阈值。
其次,攻击者还需要确定交换机转发LLDP帧的时间点
ti ’
以使得攻击脉冲能够正好导致LLDP帧在转发过程中丢包。
考虑网络时延,主机接收到LLDP帧的 时刻要略晚于交换机转发LLDP帧。
假设交换机S1到主机h1的时延为τ,那么可以通过ping 另一个主机得到往返时间
d(h1,h2),除以4得到时延τ,所以交换机转发LLDP帧的时间点为:
除此之外,攻击者可能通过iperf等工具对网络瓶颈带宽B
以及交换机队列大小C
进行探测,保证最小化攻击包的发送速率。
总结:攻击者得到的参数
名称 | 符号 |
---|---|
控制器下发LLDP周期 | T |
交换机转发LLDP时刻 | t’ |
网络瓶颈带宽 | B |
交换机队列大小 | C |
需要在 转发前一段时间内将交换机的内存占满,假设时间为l
攻击流的大小就是
假设共有N台傀儡机,第一阶段内,发送Rattack/N大小的攻击流,这样在交换机转发LLDP帧的时刻到来时,交换机的队列被占满。
第二阶段,发送速率为B/N大小的攻击流,保证LLDP帧被交换机丢弃。
文中提到可以使用的防御手段
(1)控制 器将下发LLDP帧的周期性改为随机性;
(2)网络管理者采用增加链路分流的方式减小交换机每个端口的负载;
(3)在控制器上部署LDoS攻击检测和防御模块,对控制器拓扑发现机制进行保护
文中提出了节提出了基于连续突发检测和主动链路识别的防御机制TopoGuard
通过检测控制器下发LLDP帧时刻
附近交换机各个端口的转发速率
,识别LDoS攻击。
设定一个转发速率阈值THRE,如果高于阈值,记录突发流量,如果M次都高于阈值,触发警报,发送信息到防御模块。
关于M的取值,控制器在连续link_expire时间内未收到LLDP帧会认为链路中断,所以m的取值可以为:
(1)中模块出发警报之后,由防御模块进行处理。
在下一次控制器下发LLDP帧之前
,防御模块对受到攻击的交换机
封装有LLDP帧的packet_out
消息,使交换机接受后向收到攻击的端口转发
,这样控制器在链路信息过期前重置计时器。
参考文献:
【1】谢升旭,魏伟,邢长友,张国敏. 面向SDN拓扑发现的LDoS攻击防御技术研究[J]. 计算机工程与应用, 2020, 56(10): 88-93.