分布式拒绝服务 (DDOS) 攻击可以通过多种方式进行(包括通过 SYN 淹没、UDP 淹没、Teardrop 攻击、循环 Ping、Smurfing、邮件炸弹等)。DDOS 攻击可以利用被感染机器上运行的软件的漏洞,或者通过发送高于被感染计算机的系统处理能力的流量进行。这些攻击的目标可能是资源(例如网络层、网络链路或终端-主机系统)或资源路径。它们通常采用 Botnet 攻击,并用于从在线博彩公司的网站获取不义之财。例如,Sportingbet Australia 和 Sports Alive 网站就在近期受到攻击。后者在八月份瘫痪将近一整天。
这些天,大家可能看到了关于 DDOS 攻击的很多报告和论文。其中大部分文章都解释了攻击原理,但也有一些文章讨论 Internet 服务提供商如何保护客户使其免受这种威胁。这正是我要撰写这篇两部分日志的原因。
下图显示了典型 DDOS 攻击的原理:
在金钱或满足感的驱使下,Botmaster 通过命令和控制服务器将指令中继到 Bot,后者同时将伪装流量发送到受害者以干扰服务。在试图处理数据包或请求时,系统会消耗所有的可用资源,甚至还会崩溃或无法响应请求。
ISP 可以用来减少攻击的第一种方法是重定向或黑洞路由:
实施这种方法时,发送到受感染计算机的地址的所有流量都被转发到“弃牌区”。通过此种方式配置的任何路由器将拦截发送到受感染计算机的所有流量(无论是正常流量还是攻击流量)。如果电子商务网站的用户几乎全部是国内消费者,那么在internet边界实施黑洞机制可能是个好临时解决方案。此方法可将带宽释放,并允许常规用户使用其资源。但 Botnet 不会真正受到影响,国内的 Bot Bot 仍然可以进行攻击。但是,在本例中,我们预期剩余的DDOS 攻击将不会对受害的计算机产生很大影响。
更有效的解决方案是过滤:
通过数据包过滤,我们可将攻击数据包与正常数据包区分开。只有正常数据包才允许传输到接收者。但是,传统的数据包过滤不足以减少那些动态或快速更改其配置的 Botnet。使用合法服务的淹没攻击通常能够得手。IP 协议和转发机制使得 ISP 很难识别数据包的真正来源。此外,DDOS 攻击者可以使用伪造的 IP 地址。为了弥补这个漏洞,我们可以采用第三种技术:追溯(traceback)。
使用 IP 追溯机制,我们可以找到攻击的真正来源。我们可以确定攻击的来源(或邻近位置),并在最接近来源的位置拦截攻击。
速率限制是另一种有效技术。它对具有恶意特征的数据流的高带宽传入流量实施速率限制:
流量(无论是正常流量还是攻击流量)都可能受到速率限制。发生误报的可能性也非常高。在第二部分,我们将介绍其他一些解决方案,并提供一些帮助我们进行此方面讨论的报告和大学论文作为参考。