Contents

LADS: large-scale automated DDOS detection system

Sekar V, Duffield N G, Spatscheck O, et al. LADS: Large-scale Automated DDoS Detection System[C]//USENIX Annual Technical Conference, General Track. 2006: 171-184.

本文提出LADS,根据轻量级和重量级DDoS检测优缺点进行分析提出两阶段检测法。首先检测是可能有异常,再通过流收集器进一步检测以决定是否发出警告。

LADS

基本概念

###系统目标:

  1. 正确率
  2. 实时性
  3. 对所有的客户有效

Lightweight Anomaly Detection

轻量级检测阶段不太关心FP,因为它只会误触下一阶段检测,但关心FN,因为会漏检测。

  1. Volumn anomaly detection:建立预测模型预测流体积是否异常
  2. 检测流量分布是否异常,可用于进一不分析。

Focused Anomaly Detection

重量级检测需要注意解决计算代价和正确率。

  1. Rule-based detection:有些攻击有时显特征,可以用rule匹配检测。
  2. Uni-dimensional aggregation:单维层次收集算法,使用源/目的IP前缀发现可能的攻击者。
  3. Multi-dimensional culstering:利用IP5元组分析。

Lightweight Anomaly Detection

利用SNMP出口包计数判断体积异常,根据已存的数据获得要预测进间段的历史数据的模型(均值,方差)根据过去k周的历史数据,每个时间段以这k个数据预测mean和噪声,如图4.再利用历史数据和当前观察数据计算偏移值,(如果偏移值过大,就进行触发检测事件)如图5。

https://s2.ax1x.com/2019/05/03/EN5QhR.png

以上,计算好后进行临时聚类,如图6.

https://s2.ax1x.com/2019/05/03/EN5D3t.png

$\alpha_{add}:event扩展阈值,\alpha_{trigger}:event触发阈值,keepalive:持续时间$ 当偏移值超过$\alpha_{add}$时,有event就扩展该event,没有就创建event。可以设定阈值移除所有低于它的警告,移除一些连接重置或SNMP bug警告。 异常以egress接口,start time,end time标记发往下一阶段。

Focused Anomaly Detection

  1. 收集netflow record 信息
  2. 构造如下数据集:
  • TCP SYN flag set(SYN set)
  • TCP RST flag set(RST set)
  • ICMP flows(ICMP set)
  • All flow record(All set)
  1. 对每个数据集报告体积并附带IP目的前缀,使用F8算法计算并产生攻击警告,警告条件:All set的前缀小于/28但流量大于bandwidth Attack Threshold,或SYN/ICMP/RST集中观察的前缀IP范围大于相应配置值。

https://s2.ax1x.com/2019/05/03/ENIyGR.md.png

这里的阈值是更新的,更新公式:$Rate(Duartion)=Rate(BaseDuration)*DecreaseFactor^{\frac{Duration}{BaseDuration}}$.BaseDuration定为300s,DecreaseFactor定为0.95。 图8有算法由两个步骤组成:

  • aggregation:计数总体规定前缀流量中大于最小规定前缀流量的数。
  • reprot:根据前一步计算决定报告某前缀是否为潜在的攻击目标,前缀大小对应的流量阈值固定。 根据实验,本方法更高效。

Exprement

基本介绍

  1. SNMP feeds:SNMP每5分钏报告一次如下信息:
  • total traffic volume per interface
  • router utilization information
  1. Netflow Feeds:以1:500抽样收集网络包
  2. Alarms from commercial system:利用商业系统做基准并比较。

系统配置

  • SNMP training period:k=5
  • Absolute Volume Threshold:250kbps
  • Event score threshold:$\alpha_{trigger}$=5
  • Temporal Clustering Parameter:$\alpha_{add=2.5},keepalive=15 min$
  • bandwidth attack threshold:26Mbps
  • SYN/RST/ICMP Threshold:2.6bps

实验结果

这部分简单看了下,因为这篇确实有点老了。 图10 FN率与阈值以及异常包数的关系

https://s2.ax1x.com/2019/05/03/ENxjm9.png

图11:sensitivity与scalability的关系: sensitivity:触发event的可能性。scalability:event触发后的需要收集数据的大小;

https://s2.ax1x.com/2019/05/03/EUSEgU.png

图12:在使用过滤器前后SNMP异常事件触发数的对比。

https://s2.ax1x.com/2019/05/03/ENzzuQ.png

图13:在测试的11天中异常报告占比情况(每小时约有15个event生成)

https://s2.ax1x.com/2019/05/03/EUStDH.png

与商业检测系统对比如图14,图15

https://s2.ax1x.com/2019/05/03/EUSOaR.png

  • success:我们的和商业的几乎结果一致
  • Found early incidents:我们发现地更早
  • Found late incidents:我们发现地更晚
  • Anomaly detection misses:商业有警告,但我们的没有
  • Potential commercial-alarm false positive:商业有警告,我们有event,但进一步检测我们没有警告。
  • Threshold misses:对某IP有大量的flow,但是我没有警告。

F15:我们的和商业的都失败的事件占比情况

https://s2.ax1x.com/2019/05/03/EUpOOg.png