Contents

Amplification Hell: Revisiting Network Protocols for DDoS Abuse.

Rossow C. Amplification Hell: Revisiting Network Protocols for DDoS Abuse[C]//NDSS. 2014.

本文重审各种基于UDP的协议,并分析哪些易用于RDOS,总结目前已被用作的RDOS和应对措施分析。本文主要有三总分组成:threat model,vulnerable protocols,realword attacks countmeasure。

Threat model

A要利用反射攻击V。 A:可发包的网络攻击者 V:网络实体。 ${M_p}$:所有可能的潜在放大器,如图1所示:

https://s2.ax1x.com/2019/05/06/EBtb9g.png

攻击者发包给$M_p$,$M_p$响应给V,其中响应包要多得多,使V的网络过载。$M_p$为运行了可能会被用于放大器的协议的实体。

Amplification Vulnerablity

表1列举了可能被用于DRDOS的协议,没有列举不能放大的协议。

https://s2.ax1x.com/2019/05/06/EBNfGF.md.png

使用scanning,crawling,querying来枚举这14个协议。

  1. 对网络服务,通过扫描抽样估计网络中可能的放大器个数。
  2. 对于P2P协议,通过迭代爬取所有peer列表,爬取所需信息可通过读源码,逆向来获取。爬取1小时结速,结果作为lower bounds。实现过程见[26]
  3. 对于游戏服务协议,通过查询的方式获得可用的游戏服务器列表。 这里对于DNS考虑两类:open resolver记为:$DNS_{OR}$,authoritative name servers,记为:$DNS_{NS}$ 表2这列举结果,记录了发现1k和发现100k的时间。该结攻击者可轻易获得放大器。

https://s2.ax1x.com/2019/05/06/EBaU1g.md.png

Amplification Factors

这里分析每个协议的放大因子。使用BAF表示字节放大效果, $B A F=\frac{\operatorname{len}(U D P \text { payload }) \text { amplifier to victim}}{\operatorname{len}(U D P \text { payload }) \text { attacker to amplifier}}$ 它的意思为:$\frac{返回字节}{发送字节}$,当然这里去掉了一些无关的头。对于包讨大效果,使用PAF,表示为: $P A F=\frac{\text {number of packets amplifier to victim}}{\text {number of packets attacker to amplifier}}$ 它的意思是$\frac{返回包数}{发送包数}$ 表3为对每个协议的BAF和PAF的测量结果。

https://s2.ax1x.com/2019/05/06/EBdu5V.md.png

下面对每个协议作分析:

  1. SNMP:它的GetBuld会有放大功能,最大BAF为:11.3
  2. NTP:它的monlist请求会被用于放大攻击。
  3. DNS:对于ANY请求,OR会导致放大,BAF为:28.7-64.1,布署了DNSSEC后对NS发ANY请求放大因子为:54.6-98.3
  4. NetBios:使用name lookup,BAF为3.8-4.9
  5. SSDP: discovery请求,BAF为:30.8-75.9
  6. CharGen:对UDP报返回随机大小的字符,数量太少未统计BAF
  7. QOTD:如6,BAF平均为:140.3
  8. BitTorrent:Hash搜索,BAF为:3.8-10.3
  9. Kad:可利用peer列表交换来攻击,同6未统计BAF
  10. Quade 3:请求服务器当前状态。BAF:63.9-82.8
  11. Steam:同10,BAF:5.5-14.7
  12. ZeroAccess:peer list和comamand exchange,BAF:36.0-41.1
  13. Sality:换文件的URL list,BAF:L37.3-38.4
  14. Gameover:peer list和proxy list交换机制,BAF:46

Real-world observations

  1. 找victim和amplifier
  2. 找暗网的port scan 流量
  3. 放置amplification bait

##数据集

  1. Netflow data:使用Netflow采集的数据集,2013-6-14~2013-6-25这12天的数据。
  2. Darknet traffic:不知道从哪弄的暗网流量数据集,D1为/17网络,D2为/27网络,收集4周的暗网流量
  3. 诱饵:放置可用于放大器的服务器诱饵(大手笔)诱饵可能会被用于真实攻击,这无法避免,就当他们为科学献身了。

Realword amplificationscans

利用手头上的暗网数据集D1,D2,检测哪可能被扫描,表4列出了前10的UDP扫描端口,该表可见DNS,CharGen,NetBios,SNMP易受攻击(我也没看出来他怎么得出这个结论的。)

https://s2.ax1x.com/2019/05/06/EBrjKS.md.png

在D2中手动检测这些协议发现攻击者钟意Open Resolver。对其他协议的扫描:

  1. CharGen:发送one byte UDP payload
  2. NetBios:equal name queries
  3. SNMP:mixture of bulk,nonbulk requests
  4. NTP和SSDP黑客们不大喜欢 这次分析也发现一些不在本文列举范围内的协议:MSSQL,SIP,Teredo tunnels

Realword DRDoS Victims

图2列出了受攻击的情形,在V看来可通过in和out流量不均来检测。

https://s2.ax1x.com/2019/05/06/EBsHZ4.md.png

Netflow利用这个特征监控流量,为了简化,只观察固定UDP端口,通过(IP,UDP PORT)识别server,client只用IP来识别,以此创建pairflow: pair $f l o w :=<C_{I P}, S_{I P}, S_{p o r t}, B_{2 s}, B_{2 c}, t>$ 这里的$B_{2s}$为to server的通信负载字节数。$B_{2c}$同理。 每小时计算一次pariflow,并找victim,条件为:1.流量超过一定阈值,$T_B=100000$B。2.接收流量远大于发送流量$rf=\frac{f.B_{2s}}{f.B_{2c}} \gt T_r=1000$。另外,丢弃所有pairflows,server are within the network of the ISP。 结果: 表5列出victim的相关情况,IP使用A-I标签代替。

https://s2.ax1x.com/2019/05/06/EBcPPA.md.png

Realworld amplifier Abuse

检测Amplifier比victim更难,因为攻击者的行为合法用户也会做。,如图3所示。

https://s2.ax1x.com/2019/05/06/EBcmVg.md.png

这里通过设定不同的阈值只进行,$T_r=5,T_B=10000000$ 结果:检测到143个可疑pariflows,6个DNS OR 被用于55个攻击,4个CharGen被用于57个攻击,5个SNMP和3个Steam可疑。被用于攻击的诱饵中CharGen和Quade3 game server被用于攻击。 总体看来,现实中很多amplifier都被用于attack。

countermeasures

  1. 禁止IP欺骗的方法:不行,世界各地都有支持IP欺骗。
  2. 强化协议设计:
  • 会话握手:只有通过一定的验证才给予响应。延迟,额外开销,需要要协议布置前进行这种设计。
  • 请求向应对称:降低有效性
  • 限制请求发送率:不行,amplifier太多,攻击者可控制一个网络,不好的设计还会被attacker利用。
  1. 更安全的服务配置:如SNMP无密码在网络中暴露,那就设个密吗;当前网络设备大多是缺省配置,所以一个好的配置是管用的。
  2. 基于包的过滤:
  • IP过滤:DRDOS是分布式的,不行
  • PORT:测量放大器对响应端口的频率
  • 包大小:
  • 负载字符串的匹配:搜索响就中的静态子串。 表7为统计结果

https://s2.ax1x.com/2019/05/06/EBgkFJ.md.png

该方法只能用于预选候选攻击流量,并且有些服务没有任何这些检测特征。 本文的一些参考文献不错

  • DDoS attack type:[4][7][12][20][29][32][33][34][35]
  • DDoS Detection and Mitigation:[10][28][39][13][9][41][25][11][23][31]
  • DDoS Attack Analysis:[3][17]