骑猪兜风

CloudFlare是如何在400Gbps的DDos中幸存的

骑猪兜风 2016-04-06 20:25:07    201541 次浏览

  原文:400Gbps: Winter of Whopping Weekend DDoS Attacks

  译者:杰微刊兼职翻译缪晨

  上个月,我们见识到几场史上最大的分布式拒绝服务(DDos)攻击。由于 CloudFlare 已经可以为在线系统提供吸收和准确测量攻击的能力。我们不需要采用粗暴的技术来阻塞流量,我们可以精确地测量和过滤攻击。我们的系统从正常的包中筛选出攻击的包,保持网站在线同时追踪攻击包的速度和流量。

  现在大型的攻击都是第三层(L3)的 DDoS。第三层攻击由大量攻击目标网络的包组成,目标通常是使目标网络的硬件或连接过载。

  L3 攻击很危险,因为大多数时间中,唯一的解决方案是获取大的网络带宽以及购买健壮的网络硬件,但这对独立的网站运维显然不太现实。或者面对巨大包流量时,一些人直接关闭连接或完全关闭 IP 地址。

  CloudFlare 典型的一天

  过去, L3 攻击是最令 CloudFlare 头痛的事情。在过去的两年中,我们自动处理几乎所有的 L3 攻击,这些自动化系统每天 24 小时保护着世界各地的 CloudFlare 用户。

  这张图表展示了我们 2015 年最后三个月 L3 DoS 攻击的变化情况:

CloudFlare是如何在400Gbps的DDos中幸存的

y轴表示我们处理的独立的“DoS 事件”数,每天大概 20-80 起。这些 DoS 事件都由向我们用户的攻击触发。

  最近 DDoS Attacks 变得更强,强得多。

  大部分缓和过的 DoS 事件都比较小。当一个大的攻击发生,在我们系统中通常当做多个分开的事件。

  近几个月,我们处理(大部分是自动的)了巨大的攻击。下图是同样的图表,但是包括了 2016 年第一个季度。注意刻度:

CloudFlare是如何在400Gbps的DDos中幸存的

  独立 DoS 事件大概增长了 15 倍。由于一些原因,这些新的攻击非常有趣。首先峰值都集中在周末,看起来攻击者除了周末都挺忙的。其次,他们的攻击也面向一部分良性网站,这意味着任何人都可能成为一次大型攻击的目标。最后,攻击总的体量非常巨大。

  下面会对最后一点展开来讲。

  BGP 黑洞

  当在一个较小的规模上做运维时,使用 DDoS 攻击淹没目标网络容量是司空见惯的。这导致网络的阻塞,被攻击网络的的运维不得不将被攻击 IP 地址加入黑洞 ,更多的直接将这些 IP 从互联网上移走。

  但如果这么做,就不可能报告这次攻击的体量了。攻击的流量会在“黑洞”中消失,对被攻击网络的运维不可见。这就是为什么大型攻击的报告很难出——BGP 黑洞,无法得到恶意流量的真正规模。

CloudFlare是如何在400Gbps的DDos中幸存的

CC BY 2.0

image byMarcin Wichary

  我们曾遇到过非常大的攻击,但是很少被逼到用黑洞。这使我们可以详细报告我们看到的攻击体量的细节。幸运的是,以我们网络的容量及系统的高效性,我们可以单纯的吸收攻击的流量。这是我们能提供下面的度量数据的唯一原因。

  这次 DDoS 攻击到底有多大?

  DDoS 攻击的尺度从两个维度度量:每秒恶意包的数量(pps)以及攻击的带宽(每秒比特数 bps)。

  包速度(pps)

  每秒包数量的度量非常重要,因为路由器处理能力的需求正比于 pps 值。当攻击的超过了路由的处理能力,我们可以看到一个如下的报错信息:

PROBLEM/CRITICAL: 

edge21.sin01.cloudflare.cc router PFE hardware drops 

Info cell drops are increasing at a rate of 210106.35/s. 

Fabric drops are increasing at a rate of 329678.81/s.

  对 CloudFlare 的攻击到达 100Mpps 很正常。近期的攻击更是达到了 180Mpps。下面是一个上个月我们受到攻击的 pps 值的图表:

CloudFlare是如何在400Gbps的DDos中幸存的

  世界上并没有多少网络可支撑这种速度的包攻击,但是我们的硬件在此等恶意流量下可以继续维持运行。我们的网络团队在维持 CloudFlare 网络硬件做的非常出色。

  比特量 (bps)

  另一个有趣的参数是以 Gbit/s形式的攻击体量。一些大的 DDoS 攻击尝试使目标网络容量饱和,而不是使路由处理能力溢出。如果发生了这个问题,我们会看到如下报警:

PROBLEM/CRITICAL: 

edge112.tel01.cloudflare.cc router interfaces 

ae-1/2/2 (HardLayer) in: 81092mbps (81.10%)

  我们前段时间当一个连接几乎快满的时候看到上述警告。事实上,近几周我们的一组 100Gpbs 的连接都非常满,进入流量几乎达到 77Gbps:

CloudFlare是如何在400Gbps的DDos中幸存的

  我们推测对这个数据中心的攻击的体量实际是超过 77Gbps 的,但是在网络的另一端(更接近攻击者的一端)发生了拥堵,我们通过我们的因特网服务提供商了解到这点。

  近期攻击流量聚合后巅峰达到 400Gbps 左右。而且这个巅峰不是长钉型的,这持续了几个小时。

CloudFlare是如何在400Gbps的DDos中幸存的

  即使在攻击流量的巅峰期间,我们的网络也没有阻塞,系统运行正常。我们的自动减灾软件可以从恶意包中挑出正常的包。

  写在最后

  过去的数周中,我们遭遇了一系列大型的 DDoS 攻击。在峰值时,我们系统报告了超过 400Gbps 的上行流量,是我们见过流量最大的攻击。但是这次攻击基本都被我们的减灾软件所吸收了。

  每次攻击我们都会加强我们的自动攻击减灾系统。附带的,我们的网络团队时刻关注着网络情况,寻找新的瓶颈。离开了我们的自动减灾系统以及网络团队,根本无法应对这种级别的攻击。

  你可能认为随着 CloudFlare 的发展,相比于合法流量攻击的比例会缩小。但事实正好相反,每次我们对网络进行扩容,我们都会看到更大的攻击,因为我们不需要通过黑洞来吸收流量。借助更大的容量,我们可以抵抗并测量更大的攻击。

  对处理世界最大的 DDoS 攻击有兴趣? 我们在招聘,旧金山、伦敦及新加坡都有职位。

内容加载中