DDOS攻击总结

最近对DDOS攻击做了初步的调研,对DDOS攻击产生的原因以及对其的检测、防御机制有一些粗浅的认识。本文重点在于对于传统网络架构下,城域网环境中DDOS攻击的一些思考。


DDOS攻击产生原因及对已知攻击的防御措施

与其他相当精巧的网络攻击相比,DDOS攻击除了攻击技巧的使用,更多的是一种资源的比拼,拼网络带宽资源、服务器资源。在没有足够的资源的情况下,谈防御DDOS攻击是无稽之谈。所以,目前对DDOS攻击的防御主要还在于硬件防护,软件防护作用不大。

DDOS攻击难以防御的主要原因是可以利用的漏洞太多,攻击方式太多。网络数据传输过程中利用的OSI七层网络模型中,基本上每一层都有协议可以被DDOS攻击利用。按DDOS攻击所利用协议所在网络层级不同,本文将目前已知DDOS攻击类型及其防御措施总结如表1-3。关于当前DDOS攻击防御更详细的信息可参见华为DDOS攻防汇总帖

表1

表2

 

表3

DDOS攻击主要发生在网络层,其最明显的特点就是发送大量的攻击数据包,消耗网络带宽资源,影响正常用户的访问。现在对于网络层的DDOS攻击的检测及防御技术已经相当成熟,同时也出现了一些新的攻击方式——应用层DDOS攻击。与网络层DDOS攻击不同,应用层DDOS攻击更多的是模仿合法用户的访问行为,在数据传输的过程中不会产生大量的攻击数据包,但其会通过大量的数据库查询等操作消耗服务器的资源,更难检测。按发生的攻击方式不同,DDOS攻击除了普通的洪泛攻击方式之外,还有反射放大攻击。这种类型的攻击往往会利用合法的服务器作为反射器,由反射器向攻击目标发送大量的数据包,危害更大。目前,针对DNS服务器的DDOS攻击也很普遍。攻击者往往向DNS服务器发送虚假域名,耗费DNS服务器资源。同时由于DNS服务器存在递归查询的机制,针对DNS服务器的DDOS攻击影响范围很大。

除了攻击方式多样,DDOS攻击往往采用虚假源IP也是DDOS攻击难以防御的原因之一。


城域网中DDOS攻击的检测及防御

对于DDOS攻击的检测及防御应当作为一个系统整体,从攻击发生前、中、后三个不同的阶段进行考虑。

攻击发生前:针对已知的攻击类型采取相应的防御措施,如修改服务器参数,设置代理等方法。

攻击发生时:清洗流量,过滤攻击包。

攻击发生后:分析攻击产生原因,定位攻击源。

在以上三个阶段中,攻击发生时无疑是最重要的阶段。对于DDOS攻击,在攻击发生时,最好的防御措施就是在及早发现攻击的前提下,迅速过滤攻击包,保证合法用户的访问。目前,对于DDOS攻击,安全公司主要采用流量清洗的方法。常见的流量清洗架构如图1所示。

 

图1

 

在该架构中,首先通过分光或镜像的方法收集数据包用于攻击检测。然后再攻击检测模块利用检测算法进行攻击检测。在学术界虽然有很多采用机器学习原理的深度包解析(DPI)、深度/动态流检测(DFI)等攻击检测方法,但从工程的效率角度说,构建流量模型,设置安全阈值或安全基线应该是最有效率的方法。虽然DDOS攻击的类型很多,但其目的是唯一的——消耗资源。所以,在攻击检测阶段,DDOS攻击的类型并不重要,重要的是是否发生了DDOS攻击。目前。即使采用设置流量阈值的攻击检测方法,仍面临在众多业务中如何设置合理的流量阈值的问题。

如果检测到攻击发生,则管理中心会启动清洗方案,将攻击流量和正常流量混合的流量通过BGP、CDN等方式进行流量牵引。将混合流量牵引至流量清洗中心进行清洗。在流量清洗过程中面临的问题是,目前的DDOS攻击呈现出混合攻击的状态,多种攻击方式并存。在这种情况下,如何高效地检测出攻击是当前面临的主要问题。在查阅众多资料之后,发现华为的“七层清洗方案”很有启发性。该方案对混合流量通过静态过滤、畸形报文过滤、扫描窥探报文过滤、源合法性认证、基于会话的防范、特征识别过滤以及流量整形等七层防御措施综合地分析数据包,最大程度的检测攻击流量。华为“七层清洗方案”架构如图2所示。流量清洗之后,攻击流量被丢弃,正常流量通过MPLS、GRE隧道技术等方式回注回网络。

 

图2

在DDOS攻击的防御措施中,部署策略也是需要认真考虑的一部分。目前比较合理的部署策略是:检测设备靠近业务主机部署,近源清洗,旁路部署。攻击是分布式的,防御也需要考虑分布式的部署策略。


开源DDOS攻击防御工具

目前开源的ddos攻击工具有很多(攻击成本低,也是DDOS攻击易于发生的原因之一),但DDOS攻击防御工具并不多。Fastnetmon是一个基于多种抓包引擎的DDOS攻击高效分析工具,可探测和分析网络中的异常流量情况,通过外部脚本通知或阻断攻击。可通过集成InfluxDB和 Grafana构建可视化DDOS安全预警系统。

来源:https://www.jqlab.cn/post-742.html