分布式拒绝服务(DDoS)攻击等安全威胁会扰乱各种规模的业务,导致停机,更糟糕的是,会失去用户信任。这些威胁是谷歌重视建立在坚固网络基础上的服务可靠性的一个重要原因。
为了帮助确保可靠性,我们设计了一些创新的方法来防御高级攻击。在这篇文章中,我们将深入探讨DDoS威胁,展示我们所看到的趋势,并描述我们是如何为数兆位攻击做好准备的,这样您的站点才能保持正常运行。
通过DDoS攻击,对手希望通过大量无用的流量中断受害者的服务。虽然此攻击不会暴露用户数据,也不会导致危害,但如果不快速缓解,可能会导致中断和用户信任的丧失。
攻击者不断开发新技术来破坏系统。他们给自己的攻击起了一些别出心裁的名字,比如蓝精灵、海啸、圣诞树、绿巨人、Slowloris、缓存崩溃、TCP放大、javascript注入,以及十几种反射攻击的变体。同时,防御者必须考虑DDoS攻击的每个可能目标,从网络层(路由器/交换机和链路容量)到应用层(Web、DNS和邮件服务器)。有些攻击甚至可能不聚焦于特定目标,而是攻击网络中的每个IP。将几十种攻击类型乘以必须防御的基础设施的多样性会带来无穷无尽的可能性。
那么,我们如何才能简化问题,使其易于管理呢?谷歌没有把重点放在攻击方法上,而是将攻击数量分成了几个关键指标:
这样,我们就可以集中精力确保每个系统都有足够的能力来抵御攻击,这是通过相关指标来衡量的。
我们的下一个任务是为每个关键指标确定抵御最大DDoS攻击所需的容量。正确执行此操作是高效运行可靠网络的必要步骤-过度调配会浪费昂贵的资源,而调配不足可能会导致中断。
为了做到这一点,我们分析了我们在列出的指标中收到的数百个重大攻击,并包括了其他人分享的可信报告。然后,我们绘制过去十年中最大规模的袭击事件,以确定趋势。(这段时间之前的几年数据为我们决定使用什么作为每个指标的第一个数据点。)
所有指标的指数增长是显而易见的,随着攻击量的增加,往往会产生耸人听闻的头条新闻。但我们需要考虑到互联网本身的指数增长,互联网本身也为防御者提供了带宽和计算能力。在计入预期增长后,结果就不那么令人担忧了,尽管仍然存在问题。
根据数据和观察到的趋势,我们现在可以推断出吸收可能发生的最大攻击所需的备用容量。
BPS(网络位/秒)我们的基础设施在2017年9月吸收了2.5 Tbps的DDoS,这是一场利用多种攻击方法的为期6个月的战役的高潮。尽管同时攻击了我们数以千计的IP,想必是希望能绕过自动防御,但这次攻击没有产生任何影响。攻击者使用多个网络欺骗167 Mpps(每秒数百万个数据包)到18万个暴露的CLDAP、DNS和SMTP服务器,然后这些服务器会向我们发送大量响应。这证明了资源充足的攻击者可以实现的数量:这是一年前来自Mirai僵尸网络的破纪录的623Gbps攻击的四倍。这仍然是迄今为止报告的带宽最高的攻击,导致人们对推断的信心下降。
PPS(每秒网络数据包数):我们观察到了持续增长的趋势,今年物联网僵尸网络产生了690 Mpps的攻击。一个值得注意的异常值是2015年对客户虚拟机的攻击,物联网僵尸网络在40秒内激增到445 Mpps-这个数量如此之大,以至于我们最初认为这是一个监控故障!
RPS(HTTP(S)Requests per Second)2014年3月,恶意javascript通过网络中间人攻击注入数千个网站,导致数十万浏览器向YouTube发出大量请求,峰值为2.7MRPS(每秒数百万个请求)。这是我们所知的最大规模的攻击,直到最近,一名Google Cloud客户被6个MRP攻击。缓慢的增长与其他指标不同,这表明我们可能低估了未来的攻击量。
虽然我们可以估计未来攻击的预期规模,但我们需要为意想不到的情况做好准备,因此我们相应地过度提供了防御措施。此外,我们将我们的系统设计为在超载的情况下正常降级,并编写行动手册来指导需要的手动响应。例如,我们的分层防御策略允许我们在高RPS和高PPS攻击到达应用服务器之前在网络层拦截它们。优雅降级也适用于网络层:广泛的对等和旨在限制攻击流量的网络ACL将在不太可能的链路饱和的情况下减轻潜在的附带损害。
有关我们用来减轻针对我们的服务、基础设施或客户的破纪录的DDoS攻击的分层方法的更多详细信息,请参阅我们的“构建安全可靠的系统”一书的第10章。
我们认识到潜在DDoS攻击的规模可能令人望而生畏。幸运的是,通过部署集成到我们的云负载平衡服务中的Google Cloud Armor(可扩展以吸收大规模DDoS攻击),您可以保护部署在Google云、其他云或内部部署的服务免受攻击。我们最近发布了Cloud Armor Managed Protection,使用户能够进一步简化其部署、管理成本并降低总体DDoS和应用安全风险。
拥有足够的容量来吸收最大的攻击只是全面的DDoS缓解策略的一部分。除了提供可伸缩性之外,我们的负载平衡器还终止全局边缘上的网络连接,只将格式良好的请求发送到后端基础设施。因此,它可以自动过滤多种类型的体积攻击。例如,UDP放大攻击、同步泛洪和一些应用层攻击将被静默丢弃。下一道防线是Cloud Armor WAF,它提供针对常见攻击的内置规则,以及使用广泛的HTTP语义集部署自定义规则以丢弃滥用的应用层请求的能力。
谷歌与互联网社区中的其他公司合作,识别并拆除用于进行攻击的基础设施。举个具体的例子,尽管2017年的2.5Tbps攻击没有造成任何影响,但我们向其网络提供商报告了数千台易受攻击的服务器,并与网络提供商合作追踪欺骗数据包的来源,以便对其进行过滤。
我们鼓励每个人都加入我们的努力。个别用户应确保其计算机和物联网设备已打上补丁并确保安全。企业应该报告犯罪活动,要求其网络提供商追踪欺骗攻击流量的来源,并以不及时向对手提供反馈的方式与互联网社区共享攻击信息。通过合作,我们可以降低DDoS攻击的影响。