本文将简要分析2016年9月和10月前所未有的#DDoS攻击所造成的影响,并为希望提升韧性的组织提供指导。

让我们庆祝物联网时代的到来!之所以说它终于来了,是因为从9月开始,物联网已3次被用作网络武器。最初是博客作者兼记者Brian Krebs遭到大规模攻击,他的网站krebsonsecurity.com由CDN服务商Akamai托管和保护。此次攻击非常严重,甚至影响到Akamai的其他客户,因此Akamai停止了为这位博客作者提供的无偿防护。
包括F5研究人员在内的行业研究人员发现了一个由DVR、摄像头及其他“物联网设备”组成的新型僵尸网络。DVR和摄像头尤其值得关注,因为它们不仅具备较强的CPU处理能力(因此可以承载复杂的恶意软件),还拥有高带宽上行链路(每台设备可借此发起高达100 Mbs的攻击)。针对Krebs的攻击流量总计达到620 Gbs,是当时规模空前的DDoS攻击。
第二次攻击导致法国规模较大的托管服务提供商OVH瘫痪了大半天(如果相关资料可信,其规模位居全球第三)。许多媒体报道称,OVH遭受的攻击规模接近Krebs所受攻击的两倍,达到每秒1太比特。
第三次攻击的目标是DNS服务公司Dyn,这次攻击可能是三次中最严重的一次。Dyn为许多知名网站提供DNS服务,包括Twitter、Spotify和GitHub(颇具讽刺意味的是,物联网僵尸网络代码正是发布在GitHub上的)。
那么,究竟是谁干的?
巧合的是,就在此前一个月,业界知名人士Bruce Schneier频频接受采访,警告称大规模国家级DDoS攻击即将来临。他的内部消息来自未具名的业内人士,这些人士发现了针对互联网核心基础设施的校准型DDoS攻击。
但事实表明,那些试探性攻击可能只是巧合。Schneier本人在博客中承认,他认为Dyn攻击根本不是由某个国家发起的。不过,也许那个国家只是在观察并等待时机。
Krebs、OVH和Dyn事件的归因线索很可能来自Brian Krebs本人。
“DYN遭到攻击的几小时前,DYN研究员Doug Madory刚刚在得克萨斯州达拉斯举行的北美网络运营商组织(NANOG)会议上发表了有关DDoS攻击的演讲。……而针对KrebsOnSecurity.com、流量创纪录地达到620 Gbps的DDoS攻击也发生在我发布与Madory合作撰写的报道后仅几小时。”
攻击者很可能是对Brian Krebs或Doug Madory(或两人)抱有敌意的个人(或小团体)。
我们都能理解,一场中美之间的全面网络战争会影响数百万用户。但如果事实证明,这只是一个人出于个人目的而针对另一个人呢?这甚至比民族国家发动的攻击更可怕。如果一个人仅因对另一个人心怀怨恨,就能中断数百万人的关键服务,那么我们构建的究竟是怎样的互联网?
我们为何会走到这一步?
F5对物联网(IoT)设备搜寻活动的监测已持续一年多。我们于2016年7月发布了有关这一问题的首份报告。报告显示,Telnet和SSH暴力扫描量同比增长140%。Telnet和SSH是广泛使用的远程管理端口,但用户往往并未意识到,这些端口使用供应商默认(或容易猜到)的用户名和密码,且暴露在互联网上。
2016年10月,针对Krebs、OVH和Dyn发起的空前规模DDoS攻击正是利用了这种技术(扫描IoT设备的telnet端口和厂商默认密码),构建了一个能力独特的僵尸网络。
所有人再次成为攻击目标。僵尸网络操控者毫不忌惮地将网络武器对准全球一些大型服务提供商,而这些目标此前被认为坚不可摧。
这些攻击看似一夜之间发生,但实际上,僵尸网络操纵者至少一年来一直在逐步搜索、发现并入侵存在漏洞的物联网设备。
深入了解已知信息
事实上,我们对物联网僵尸网络Mirai的能力已有相当深入的了解。Mirai的作者在hackforums.net上发布源代码后不久,F5研究人员便撰写了一篇关于该机器人的技术分析。
其总体攻击能力可能比以往的僵尸网络高出一个数量级,超过每秒数太比特。
IoT僵尸网络采用的高级DDoS技术包括但不限于以下几种。下方的规范性指导部分将针对这些技术提供可行的缓解建议。
可抵御重定向的HTTP GET洪水攻击
HTTP GET洪水攻击本就危害严重。多年来,攻击者一直能够通过大量发送请求大型对象或慢速数据库查询的HTTP请求,使网站无法正常运行。通常,这些请求会直接穿过标准防火墙,因为对于大多数采用硬件数据包处理的设备而言,它们看起来与正常的HTTP请求并无二致。Mirai攻击代码更进一步:它会识别基于云的DDoS清洗服务,并绕过清洗服务返回的任何302重定向。重定向过去是阻止简单机器人的有效方法,但这种机器人并不简单。
DNS水刑攻击
Mirai僵尸程序包含一种针对目标DNS提供商的“水刑”攻击。该技术不同于常规的DNS反射和放大攻击,因为僵尸程序只需发送少量查询,即可利用ISP的递归DNS服务器攻击目标权威DNS服务器。在这种攻击中,僵尸程序会发送格式正确的DNS查询,其中包含要解析的目标域名,并在域名前附加随机生成的前缀。当目标DNS服务器因过载而无法响应时,攻击便会奏效。随后,ISP的DNS服务器会自动重新发送查询,尝试访问目标组织的另一台权威DNS服务器,从而代替僵尸程序攻击这些服务器。

Dyn在其博客文章10月21日星期五攻击事件的Dyn分析摘要中证实,攻击者确实对其使用了水刑攻击。
“例如,此次攻击造成的影响引发了大量合法重试活动,因为递归服务器会尝试刷新缓存,导致大量IP地址产生正常流量10至20倍的流量。当DNS流量发生拥塞时,合法重试可能会进一步增加流量。
这些恶意攻击似乎源自至少一个僵尸网络,而重试风暴造成了误导,使当时显示的端点数量远高于目前确认的实际数量。我们仍在分析数据,但截至本报告发布时,估计恶意端点数量最多可达100,000个恶意端点。”
几周前,F5研究员Liron Segal已在文章《Mirai, the Bot that took down Krebs》中详细介绍了该僵尸网络发起“水刑”攻击的机制。
更新后的第4层攻击
据该僵尸程序的创建者称,所谓的“TCP STOMP”攻击是简单ACK洪泛攻击的一种变体,旨在绕过缓解设备。通过分析该攻击的实际实现方式可以看出,该僵尸程序会建立完整的TCP连接,然后持续发送具有合法序列号的ACK数据包,以维持连接。
基于我们对这一新型IoT僵尸网络中各个威胁向量的了解,我们可以针对这些威胁向量提供一些缓解指导。
在开始提供建议之前,需要先明确一点。针对Krebs、OVH和Dyn的攻击规模非同寻常。显然,现有DDoS缓解技术难以轻松击退攻击者,因此造成了服务中断,并成为媒体头条。不过在许多情况下,缓解措施最终确实发挥了作用。此外,采用适当的架构也有所帮助,例如使用Anycast和分散式数据中心。值得注意的是,美国西海岸和西部地区基本未受Dyn攻击影响。
规范性指导
我们的指导建议源自客户的实践经验。20年来,F5一直为全球众多知名品牌交付应用,其中许多客户每天都会遭受DDoS攻击。经验丰富的客户通常将防御体系划分为3个或4个区域:
- 云清洗
- 网络防御
- 应用防御
- DNS(如适用)
因此,具备出色DDoS抵御能力的架构如下所示:

这是DDoS防护参考架构,多年来已被F5客户广泛采用。完整参考架构和建议实践可在F5.com上查看。为便于快速了解,下面详细介绍与这些攻击相关的指导建议。
流量型攻击防御
法国托管服务公司OVH遭受了流量高达990 Gbps的容量型攻击。据报道,Dyn攻击的峰值达到1.2 Tbps。如此规模的攻击通常只能通过专门提供大规模防御的云清洗服务来缓解。包括F5 Silverline DDoS Protection在内的云清洗服务会拦截攻击流量并进行清洗,然后通过预先配置的隧道,仅将正常流量发送至目标。
建议:组织应确保在遭受攻击前,已与一家或多家云清洗服务提供商签订协议。在大流量攻击期间,很难完成预先约定隧道的配置。应将签约采用云清洗DDoS防护服务纳入DDoS策略。
指导建议:对于容量型攻击,分散攻击流量会很有帮助。请记住,DNS也能发挥作用;对于复制的内容,可在全球数据中心部署Anycast,以便在DDoS攻击发生时分散攻击流量。每个参与Anycast的数据中心都有助于分担攻击流量。
相关资料:
- F5 Silverline DDoS 部署方法
- F5 DDoS实战手册:实时应对DDoS的十个步骤
- F5 DDoS 防护建议实践
- F5 DDoS参考架构
网络防御
Mirai僵尸网络的攻击手段包括多种第4层攻击:标准SYN洪水攻击、TCP洪水攻击和UDP洪水攻击。这些由来已久的威胁向量必须通过云清洗服务进行缓解;如果攻击规模足够小,也可在数据中心的网络防御层进行缓解。网络防御层以网络防火墙为核心,旨在缓解SYN洪水攻击和ICMP分片洪水攻击等计算资源消耗型攻击。该层还可缓解容量型攻击,直至入口点达到拥塞状态(通常为链路额定容量的80%至90%)。
指导建议:许多防火墙只有经过正确配置才能抵御DDoS攻击。请向网络防火墙供应商咨询相关设置。部分客户会在防火墙前部署抗DDoS设备,以抵御第4层攻击。
指导:F5防火墙模块(BIG-IP Advanced Firewall Manager (AFM))专为抵御第4层攻击而设计。一些架构师正是为此使用BIG-IP AFM,将其部署在传统网络防火墙之前,或用其取代传统网络防火墙。配备AFM的硬件设备使用现场可编程门阵列抵御30多种数据包洪泛攻击,并减轻CPU的工作负载。
相关资料:
- 使用BIG-IP AFM缓解DDoS攻击
- F5 BIG-IP Advanced Firewall Manager 数据表
- BIG-IP 12.1中的十大强大F5安全功能
- F5 DDoS防护建议实践
应用防御
Mirai僵尸程序可以生成规模惊人的HTTP GET洪泛攻击,并处理重定向。由于GET洪泛攻击在网络防御设备看来与正常流量无异,因此必须在应用层进行处理。GET洪泛攻击是F5观察到的最常见应用层攻击类型,具体可采用多种缓解方式,取决于客户使用的产品组合。
指导建议:对于能够处理简单重定向的机器人程序,F5建议根据每秒请求数指标限制连接速率,或使用所谓的“登录墙”。登录墙要求连接先通过应用身份验证,才能使用非缓存资源或数据库查询等动态资源。
相关资料:
DNS防御
关于Dyn攻击,有两个DNS问题值得探讨。第一个也是最直接的问题是,如果DNS提供商因某种新型攻击而离线,该如何应对。Dyn是Twitter、GitHub和Spotify的域名服务提供商,因此当Dyn遭到阻断时,最终用户无法找到这些服务的IP地址。
建议:在DNS规划中增强韧性,包括但不限于使用多个DNS提供商为关键应用提供地址解析。这样,如果其中一家提供商因遭受攻击而暂时无法服务,另一家仍可提供地址解析。虽然这可能会使最终用户的访问延迟增加几毫秒,但应用和服务仍可正常使用。
第二个问题是,当自己的DNS服务器遭到攻击时该如何应对。DNS是最常遭到攻击的服务,HTTP次之。DNS一旦中断,所有外部数据中心服务都会受到影响,而不仅仅是某个应用。DNS是可能导致整体故障的单点,加之其基础设施往往配置不足,因此很容易成为攻击者的目标。
请注意,即使您自己的服务器未遭受攻击,下游发生中断也可能导致另一组DNS服务器在尝试填充自身缓存时,向您的DNS服务器发送大量请求。Dyn报告称,当其遇到这种情况时,请求量达到正常水平的10至20倍,而这些请求来自试图应对这一情况的合法DNS服务器。
指导建议:相当一部分DNS服务的资源配置不足,甚至无法抵御中小规模的DDoS攻击。DNS缓存日益普及,因为它可以提升DNS服务的感知性能,并在一定程度上增强抵御常规DNS查询攻击的韧性。攻击者已转而采用所谓的“无此域名”(即NXDOMAIN)攻击,这类攻击会迅速耗尽缓存带来的性能优势。
对于F5客户,F5建议在DNS服务前端部署名为F5 DNS Express™的DNS代理模块。DNS Express在现有DNS服务器前充当权威解析器。它从服务器加载区域信息,并解析每个请求或返回NXDOMAIN。它并非缓存,因此NXDOMAIN查询洪泛无法将其清空。
指导建议:请记住,在遭受DDoS攻击时,DNS可以助您一臂之力;对托管复制内容的全球数据中心采用Anycast,以便在DDoS攻击发生时分散攻击流量。
指导:考虑DNS服务的部署位置。DNS服务通常由一组独立设备提供,部署在第一道安全边界之外,以确保DNS独立于其所服务的应用。
一些拥有多个数据中心的大型企业在主要安全边界之外提供DNS服务,并结合使用带有DNS Express的BIG-IP DNS和BIG-IP AFM防火墙模块。这种方法的主要优势是,即使网络防御层因DDoS而离线,DNS服务仍可保持可用。
相关资料:
- F5 Friday:没有DNS?那就……什么都没有
- F5 DNS数据表
- DevCentral:DNS Express与区域传送
- DevCentral:DNS Express,第 1 部分
- 动态DNS基础设施
- F5 DDoS防护建议实践
- F5 DDoS参考架构
结论
针对Krebs、OVH和Dyn的攻击标志着DDoS进入了一个新阶段。同时,这些攻击也表明物联网已步入成熟期。
可以看出,F5在DDoS研究、应对和相关内容撰写方面拥有丰富经验,并希望与客户携手保障其应用的可用性。这需要各方时刻保持警惕,包括F5、合作伙伴和客户。
无论是否为F5客户,如果遭到攻击,请记住,只需拨打电话即可获得F5 Silverline DDoS Protection 的帮助:866-329-4253。
对于IoT威胁,黑帽黑客一直在相互共享信息(Mirai攻击Krebs和OVH后,他们共享了该恶意软件,随后它又被用于攻击Dyn)。信息安全社区需要借鉴这种协作方式,携手解决这一全球性IoT问题。我们别无选择,必须这样做。认识问题、解决问题并由此不断进步,是人类的天性。
未来几年,随着攻击规模不断扩大、清洗服务提升带宽以应对这些大规模攻击,以及物联网设备制造商探索如何解决设备安全缺陷,过程中难免会遇到一些问题。与以往的其他重大问题一样,组织和消费者必须逐步适应这一不断演变的威胁。
关于作者
相关博客文章
Thingbot正转变为攻击平台
Lori MacVittie重点介绍了F5 Labs对2018年1月至6月全球物联网设备攻击的研究,并指出了其中令人警醒的影响。物联网设备不仅持续遭到利用,还被转变为攻击平台,这意味着攻击者可以更充分地利用这个必然增长的市场。
借助F5全新Quick Start,在AWS上快速开展业务
在AWS re:Invent开幕前,我们很高兴与大家分享F5与AWS之间全新的Quick Start集成。F5的Tom Atkins将介绍该服务如何启动、配置和运行在AWS上部署工作负载所需的计算、网络、存储及其他AWS服务。