摘要
- 已确认:2016 年 10 月 21 日,Dyn 报告其托管 DNS 基础设施遭受 DDoS 攻击。其公开声明称第一波攻击始于美国东部时间上午 7:00 左右,影响了指向美国东海岸 Dyn 服务器的用户,并在约两小时后得到缓解。第二波更具全球性的攻击在中午前开始,并在一个多小时后得到缓解。Dyn 表示第三波攻击企图被缓解,未对客户造成影响。
- 观察到:ThousandEyes 从其全球观测点测量到高 DNS 查询失败率,并报告在攻击高峰期约 75% 的观测点发出的查询未得到 Dyn 服务器的响应。它还观察到其客户监控的域名中约有 1200 个受影响的网站和服务,并发现许多易受影响的客户仅使用 Dyn 的名称服务器,而非多个 DNS 提供商。
- 有限归因:Dyn 表示 Flashpoint 和 Akamai 的分析确认,攻击流量来源之一是感染了 Mirai 的设备。美国司法部后来宣布了 Mirai 创建者的认罪,以及另一名个人因其 Mirai 变种僵尸网络在 2016 年 10 月 21 日的攻击而认罪,该攻击影响了 Dyn,并导致包括 Sony、Twitter、Amazon、PayPal、Tumblr、Netflix 和 Southern New Hampshire University 在内的网站数小时内无法访问或访问断续。公开记录并未证明某一个行为者、某一个僵尸网络或某一种攻击向量能解释当天 Dyn 观测到的所有流量。
- 评估:该事件是一次共模依赖故障。Dyn 控制着其托管 DNS 平台、缓解合作伙伴、通信和基础设施架构。客户控制着权威 DNS 是否跨提供商多样化,以及 TTL、故障转移和监控实践是否与其自身的可用性声明相匹配。物联网供应商、所有者、ISP、监管机构和攻击者分别控制着僵尸网络问题的不同部分。
证据记录及其使用方式
本文使用 Dyn 的公开声明、独立 DNS 测量、美国司法部记录、DNS 标准、安全研究、DDoS 指导以及市场背景作为分层证据。下表并非声称每个引用的来源都证明了每个受影响客户的损失;它解释了哪些公开记录支持问责分析。
| # | 公开记录 | 本分析中的用途 |
|---|---|---|
| 1 | Dyn 于 2016 年 10 月 21 日 DDoS 攻击声明 | DDoS 攻击波次、托管 DNS 影响、区域差异、缓解合作伙伴及 Mirai 作为流量来源的主要提供商时间线。 |
| 2 | ThousandEyes 对 Dyn DNS DDoS 攻击的分析 | 用于查询失败、受监控站点影响、仅 Dyn 名称服务器暴露、TTL 行为和多提供商比较的独立遥测数据。 |
| 3 | RFC 2182 | 关于次要权威服务器的 DNS 冗余和拓扑多样性原则。 |
| 4 | 主要网站和服务中 DNS 解析缺乏冗余 | 关于 DNS 提供商集中度和 Dyn 事件后多样化行为的研究证据。 |
| 5 | 美联社通过《芝加哥太阳报》的报道 | 关于公众面临的服务中断和受影响热门服务的同期报道。 |
| 6 | 《卫报》同期报道 | 关于媒体、支付、流媒体和社交服务中断模式的公开报道。 |
| 7 | 美国司法部 Mirai 认罪公告 | 关于 Mirai 创建者、物联网设备招募和源代码发布背景的法律记录。 |
| 8 | 美国司法部 2020 年物联网攻击认罪 | 将 2016 年 10 月 21 日 Mirai 变种攻击与 Dyn 影响及指定服务不可用联系起来的法律记录。 |
| 9 | USENIX《理解 Mirai 僵尸网络》 | 关于 Mirai 物联网组成、增长和攻击能力的同行评审证据。 |
| 10 | CISA Mirai 警报 | Dyn 事件前政府关于 Mirai 及相关僵尸网络的警告。 |
| 11 | NIST 托管的僵尸网络弹性报告 | 关于生态系统范围内僵尸网络弹性和激励失调的政策背景。 |
| 12 | NISTIR 8259A | 事件后物联网基线概念,涉及安全配置、更新和设备身份。 |
| 13 | RIPE Labs 对 Dyn 攻击的快速观察 | 从 RIPE Atlas 测量角度观察不同的 DNS 影响。 |
| 14 | RIPE Labs 对 DNS DDoS 的推测 | 递归重试流量和 DNS DDoS 复杂性的技术背景。 |
| 15 | 《当堤坝决口时》 | 关于 DDoS 期间缓存和特定层 DNS 弹性的研究背景。 |
| 16 | NCSC 拒绝服务指导 | 关于服务理解、防御、计划和测试的现代准备词汇。 |
| 17 | CISA 理解拒绝服务攻击 | DDoS 的基本可用性损害定义。 |
| 18 | CISA/FBI/MS-ISAC DDoS 响应指导 | 关于准备、基线、提供商协调和沟通的指导。 |
| 19 | Oracle 收购 Dyn | Dyn 作为托管 DNS 和互联网性能提供商的市场背景。 |
DNS 在 Web 应用之前就已失效
用户通常只有在 DNS 失效时才会感觉到它的存在。网站名称看起来正常。浏览器正在运行。用户的连接可能正常。目标应用可能仍在运行。然而,如果权威 DNS 路径无法应答,服务就会消失,仿佛服务器本身已不存在。这正是 Dyn 事件令人困惑的原因。许多服务在其应用层不一定已损坏。只是它们的名称无法足够可靠地被解析,以使用户能够访问它们。
2016 年 10 月的事件处于两种外包形式的交汇点。首先,许多数字企业将权威 DNS 外包给托管提供商,因为该提供商能够提供全球任播覆盖、流量导向、运营专业知识以及 DDoS 防御,而许多客户仅凭一己之力难以经济地构建这些能力。其次,数以百万计的家庭和组织将不安全的联网设备置于公共互联网上,这些设备通常具有弱默认凭据或不良的更新路径。Mirai 将第二种外包选择转化为了针对第一种外包的攻击流量。
Dyn 自身的声明,保存在一份名为Dyn 于 2016 年 10 月 21 日 DDoS 攻击声明的公开 PDF 副本中,称该公司遭受了针对其托管 DNS 基础设施的 DDoS 攻击。声明描述了第一波攻击于美国东部时间上午 7:00 左右开始,约两小时后恢复;第二波更具全球性的攻击在中午前开始,下午 1:00 左右恢复;以及第三波攻击企图,Dyn 称其已被缓解,未对客户造成影响。Dyn 还表示,其系统在任何时候都未发生完全中断,并且一些用户,例如在第一波攻击期间从美国西海岸访问受影响网站的用户,可能会成功。
这一细节很重要。此次事件并非一个简单的二进制中断,即每个 Dyn 客户都在各处消失。它是一个由地理、任播、解析器行为、生存时间、客户域名配置以及 DDoS 流量强度变化共同塑造的可用性故障。这使得沟通变得困难。客户可能从某个网络测试时看到成功,而其他地方的用户却看到故障。平台所有者可能拥有健康的应用服务器,但仍会收到服务宕机的投诉。用户可能一直等到缓存的 DNS 应答过期,然后突然失去访问权限。
共享依赖在测量中清晰可见
ThousandEyes 的分析,即对 Dyn DNS 基础设施的 DDoS 攻击,提供了关于客户侧依赖的最清晰公开解释。其监控观察到三个阶段:初始影响集中在美国东海岸,随后是全球性影响,之后是缓解措施,同时伴有残余攻击或黑洞操作。在攻击高峰期,其全球约四分之三的观测点发出的 DNS 查询未得到 Dyn 服务器的响应。它还报告称,其客户监控的域名中约有 1200 个受影响的网站和服务。
技术要点简单但严重。Dyn 为客户域名运行权威服务器。如果解析器没有最新的缓存应答,且无法到达 Dyn 的权威服务器,它就无法获取连接所需的地址。较短的生存时间值在正常运行中可以使流量管理更灵活,但也会使用户更频繁地依赖成功的权威解析。较低的 TTL 本身并非坏事,而是一种权衡。在 DNS 提供商遭受 DDoS 攻击期间,它可能缩短“缓存仍知道去哪里”和“解析器必须再次询问不可用的权威服务器”之间的时间间隔。
ThousandEyes 还描述了 Dyn 在流量导向方面的受欢迎程度。托管 DNS 不仅仅是一个静态的电话簿。它帮助大型服务将用户路由到附近的数据中心、转移流量并优化性能。这意味着,在正常情况下提高弹性和速度的产品,也会成为一项依赖,其降级可能会同时影响许多客户。提供商的价值主张越强,它作为共享控制平面就越有吸引力。
ThousandEyes 分析中对问责最重要发现是客户架构。许多受影响的 Dyn 客户仅使用了 Dyn 的名称服务器,而没有跨多个 DNS 提供商进行多样化配置。该分析将只有单一托管 DNS 提供商的客户与 Amazon.com 进行对比,后者使用了多个提供商,仅遇到了加载时间变慢的情况,而未像许多其他客户那样经历完全不可用的模式。这并不意味着每个客户都可以一夜之间切换到多提供商 DNS。这意味着该风险是架构性的、可见的,并且部分由客户控制。
美联社通过《芝加哥太阳报》的报道捕捉到了公众的体验:用户尝试访问美国和欧洲热门网站时受到连锁影响,Twitter、Netflix 和 Sony 的 PlayStation Network 显然是受影响的服务之一。《卫报》的同期报道列出了 Netflix、Twitter、Spotify、Reddit、CNN、PayPal、Pinterest、Fox News 以及主要报纸等报告离线或受损的服务。这些报道对范围和公众感知很有用;但它们并非证明每个被点名的服务都经历了相同的技术故障模式或持续时间。
共模故障隐藏在“冗余” DNS 背后
DNS 在设计上内置了冗余。域名会列出多个名称服务器。解析器可以尝试其他替代方案。权威服务器可以在地理上分散部署。问题在于,冗余可能只是形式上的,而非故障独立的。
RFC 2182自 1997 年以来就指出,使用多个 DNS 服务器的一个主要原因是即使某个服务器不可达也能保持区域信息可用,并且次要服务器应在地理和拓扑上分散。它警告避免所有服务器共享相同本地故障模式的配置。用通俗的话说:多个名称服务器如果同时故障,是不够的。
Dyn 案例将这一原则从物理位置转化为提供商依赖。客户可能列出若干 Dyn 名称服务器,但仍然只有一家提供商、一种商业关系、一条运营支持路径、一套 DNS 管理凭据,以及对该提供商遭受重大攻击的单一暴露面。从域名的角度看,这些名称服务器看起来是多样化的。从问责的角度看,它们仍然是一个共同提供商依赖的一部分。
论文《主要网站和服务中 DNS 解析缺乏冗余》研究了 Dyn 事件后 DNS 的集中和多样化情况。研究发现,DNS 提供商日益集中在少数几家身上,并且域名普遍倾向于不使用多个 DNS 管理提供商。在其样本中,攻击前仅使用一家提供商的域名比例约为 91% 至 93%,而在 2016 年 10 月至 11 月期间,该比例从 92.2% 下降到 89.4%。在 Dyn 的客户中,未实现多样化的域名比例在事件后急剧下降,并持续下降至 2017 年 5 月。
这些数字应被视为特定数据集内的研究发现,而非整个互联网的精确普查。尽管如此,它们仍然支持一个实践教训:DNS 使得提供商多样化成为可能,然而许多客户却选择了运营简便而非故障独立性。这并非不理性。多提供商权威 DNS 带来了复杂性:一致的区域数据、DNSSEC 签名和密钥管理、健康检查行为、流量导向差异、传播延迟、脑裂风险、监控以及合同问责。多样化的成本是真实的。Dyn 攻击表明,不进行多样化的成本也可能成为现实,并且可能通过供应商而非客户自身的基础设施到来。
任播强大,但并非魔法
与许多全球 DNS 平台一样,Dyn 的基础设施使用了任播。任播允许多个地点通告同一 IP 地址,这样互联网路由可以将解析器发送到附近或首选的实例。它改善了延迟,并吸收了许多本地故障,因为流量可以绕行网络。这也是托管 DNS 提供商能够提供广泛覆盖和快速响应的原因之一。
任播并不能使容量变得无限。它可以分散流量,但也可能分散攻击压力。如果攻击足够大、足够广泛,或者以拥塞上游链路、对等互联或共享前缀的方式进行定向,任播地点可能同时故障或复杂地波动。ThousandEyes 观察到,许多查询无法穿越 Dyn 的互联网服务提供商或 Dyn 的网络边缘,并且同一星座和组内的名称服务器表现出相关的性能。这一观察并非证明 Dyn 的内部设计存在疏忽。它表明,“我们拥有多个存在点”并不等同于“我们在所有可能的 DDoS 条件下都具有独立的可用性”。
Dyn 的声明称,该公司进行了场景演练,拥有操作手册,使用了缓解合作伙伴,并启动了事件管理和客户沟通。它还表示,这些攻击高度分布,涉及数千万个与 Mirai 相关的独立 IP 地址,并使用了多种向量和互联网地点。我们不应以“购买足够带宽就能简单缓解 DDoS”的方式来评判一个提供商。超大规模分布式攻击会造成测量误差、重试风暴、附带流量、路由不稳定,以及在过滤攻击流量和保留合法查询之间做出艰难权衡。
然而,客户购买托管 DNS 正是因为提供商声称在这一运营领域具有专长。因此,Dyn 拥有提供商侧的韧性:容量规划、上游协调、任播架构、名称服务器星座设计、状态沟通、客户支持、缓解合作伙伴准备以及事件后证据。一个公平的问责叙述可以同时包含两种观念:攻击是恶意且大规模的;而 Dyn 的业务正是在敌对条件下保持权威 DNS 可访问。
Mirai 将消费设备风险转化为基础设施风险
Mirai 使这次攻击在文化上令人难忘,因为僵尸网络主要由普通的联网设备构成:摄像头、路由器、数字视频录像机以及类似的嵌入式系统。USENIX 论文《理解 Mirai 僵尸网络》描述 Mirai 主要由嵌入式和物联网设备构成,并指出其峰值感染量达到约 60 万台。该论文认为,感染方法的简易性和快速增长表明,相对不复杂的技术即可攻破足够的低端设备,从而威胁到防御良好的目标。
美国司法部 2017 年关于 Mirai 的公告,司法部宣布涉及重大 DDoS 攻击的三起计算机犯罪案件的指控和认罪,指出 Paras Jha、Josiah White 和 Dalton Norman 对运营 Mirai 僵尸网络认罪,该僵尸网络以无线摄像头、路由器和数字视频录像机等物联网设备为目标。司法部称,Mirai 在高峰期由数十万台受感染的设备构成,并且原始创建者对原始 Mirai 变种的参与在 Jha 于 2016 年秋季在犯罪论坛上发布源代码时结束。自那以后,司法部表示其他行为者已使用 Mirai 变种实施了其他攻击。
司法部 2020 年的公告,个人对参与 2016 年物联网网络攻击认罪,更直接地将一个 Mirai 变种僵尸网络与 Dyn 事件当天联系起来。该公告称,一名曾是未成年人的个人对涉及 2016 年 10 月的一次网络攻击认罪。据司法部称,该个人及其他人在 2016 年 10 月 21 日使用一个僵尸网络发动了数次 DDoS 攻击,试图使 Sony PlayStation Network 离线;这些攻击影响了 Dyn,导致包括 Sony、Twitter、Amazon、PayPal、Tumblr、Netflix 和 Southern New Hampshire University 在内的网站数小时内无法访问或访问断续。
这一归因记录应当谨慎使用。它并未说明该未成年行为者是 Dyn 所受影响的唯一原因,也并不意味着 Dyn 的全部流量组合来自一个僵尸网络。Dyn 本身表示,攻击流量的一个来源是感染 Mirai 的设备。该提供商还描述了多种攻击向量和互联网地点。最安全的结论是,Mirai 及其变种在实质上涉及其中,并且犯罪行为的层面与韧性架构的层面是分开的。
CISA 关于 Mirai 威胁的警报警告称,Mirai 恶意软件会扫描易受攻击的物联网设备,并且 Mirai 源代码的公开释放增加了更多僵尸网络的风险。后来由 NIST 托管的商务部与国土安全部报告,增强互联网和通信生态系统抵御僵尸网络及其他自动化、分布式威胁的能力,将问题定义为生态系统层面的:自动化分布式攻击是全球性的,有效工具并未广泛使用,产品应在整个生命周期内得到安全保护,激励机制错位,并且没有任何单一利益相关方团体能单独解决问题。
这种生态系统框架比狭隘的归咎叙事更符合 Dyn 事件。攻击者滥用了不属于他们的设备。设备制造商通常交付了缺乏强大更新、身份和生命周期控制措施的低成本产品。设备所有者很少会意识到,壁橱里的一个摄像头或录像机可能会参与针对 DNS 基础设施的攻击。ISP 对受感染设备的流量具有部分可见性,但激励措施和实际限制参差不齐。DNS 提供商在流量到达其边缘时才发现攻击。客户在其名称无法解析时才发现攻击。用户仅在网站无法加载时才发现攻击。
后来的NISTIR 8259A 物联网设备网络安全能力核心基线在 2016 年并不存在,不应被视为 Dyn 事件追溯性的法律义务。但作为生态系统后来重视之事的证据,它仍然有用:设备识别、安全配置、数据保护、逻辑访问、软件更新能力、网络安全状态感知和文档。Mirai 之所以成功,是因为太多设备无法作为负责任的互联网参与者进行管理。
客户控制是真实但不均衡的
托管 DNS 客户并非被动的旁观者。域名所有者控制着授权选择、提供商选择、监控、TTL 策略、故障转移设计,以及关键服务是否能在失去一个 DNS 提供商时幸存。但这种控制在各客户间并不平等。一个拥有深厚基础设施团队的大型平台可以运行多个权威提供商、自托管部分堆栈、维护一致性自动化,并从众多网络测试解析。而一个小型出版商、零售商、软件供应商、非营利组织或市政服务可能恰恰是为了避免需要这种技能而购买托管 DNS。
这正是云服务依赖成为问责问题之所在。供应商可以出售专长,但客户仍需决定他们能容忍何种程度的供应商故障。问题不在于“每个网站是否都应运行一个定制的全球 DNS 网络?”这在经济上是荒谬的。问题在于,客户的可用性承诺是否与其依赖地图相匹配。一家将在线可达性视为关键任务的企业,应当知道单一托管 DNS 提供商是否构成单点故障。应当了解在注册商处更改授权需要多长时间、缓存的 NS 记录将存活多久、备用提供商是否拥有最新的区域文件、DNSSEC 是否会继续验证,以及能否在不引发公开事件的情况下测试故障转移。
对于较小的组织,实际答案可能不是完美的多提供商架构。可能是一个更窄的恢复计划:为最重要的记录配置第二个提供商,对稳定资产适当设置更长的 TTL,确保注册商凭证可被不止一个可信人员获取,准备带外状态页面,缓存紧急联系信息,以及进行能够区分 DNS 解析失败和应用故障的监控。这不如全自动多样化那样优雅,但仍比在全球供应商事件期间才发现依赖要强。
风险也延伸到了下游用户。一个变得无法访问的市场、出版商、SaaS 提供商或支付服务,会将成本转移给广告商、卖家、支持团队、承包商和客户。用户无法看出根本原因是 DNS、DDoS、云托管、ISP 路由还是应用程序错误。他们只是无法完成交易。由于托管 DNS 位于路径如此靠前的位置,其故障可能使所有后续冗余变得无关紧要,直到名称解析恢复。
沟通必须服务两类受众
Dyn 面临两个沟通问题。它必须告诉直接客户正在发生什么以及他们可以预期什么。它还必须向更广泛的互联网社区沟通,因为此类中断在 Dyn 的签约客户群之外也高度可见。公众用户、记者、监管机构、基础设施同行和竞争对手都希望了解该事件是定向平台中断、更广泛的互联网不稳定、僵尸网络紧急情况还是 DNS 集中问题。
Dyn 的声明提供了一份谨慎的供应商叙述:并非系统级中断,存在区域差异,两波对客户造成影响的攻击,一波被缓解的第三波攻击尝试,已启动事件管理,有缓解合作伙伴参与,确认 Mirai 为流量来源之一,并因保护未来防御而保留了更多细节。这种平衡是可以辩护的。一个 DDoS 提供商不应在活跃或可重复的攻击期间发布完整的缓解蓝图。
然而,客户需要的不仅仅是 reassurance。他们需要决策支持。他们是否应该立即更换 DNS 提供商?是否应该更改 TTL?是否应该发布面向客户的中断通知?区域文件传播是否延迟?是否所有区域都受影响?客户的 DNS 记录是否完好无损?哪些名称服务器组出现了降级?该问题是否会再次发生?一个提供商越是将自己作为互联网基础设施来推销,其状态沟通就越成为服务的一部分。
该事件也说明了客户需要独立监控的原因。提供商的状态页面可能滞后或简化。客户自身的应用检查如果运行在有热缓存的网络中,可能会错过 DNS 故障。监控应测试权威查询、来自多个区域的递归解析、应用可达性以及依赖特定的故障。ThousandEyes 的公开分析之所以强大,是因为它将 DNS 查询失败与“互联网瘫痪了”的广泛用户感受区分开来。
缓存、重试和准备改变了损害的形态
DNS 故障的体验并不均匀,因为递归层位于用户和权威提供商之间。如果递归解析器已有有效的缓存应答,那么即使在权威服务器受损时,用户仍可继续访问服务。如果缓存应答过期,或者解析器没有应答,那么同一服务就可能突然从该网络无法访问。因此,同一城市的两名用户可能因解析器、缓存和查询时间的不同而报告不同的结果。
这种行为使得归责和响应都更加复杂。服务所有者可能查看其源服务器并看到正常运行。托管 DNS 提供商可能看到攻击流量、合法解析器重试、过期缓存效应和路由变化的混合情况。递归运营商可能通过在应答超时时进行重试来增加查询压力。用户看到间歇性可达性,并可能认为应用程序已损坏。公众舆论变成“主要网站瘫痪了”,而技术现实更接近于“在某些时间窗口内,一些解析器无法为某些域名获取或刷新权威应答”。
RIPE Labs 的对 Dyn 攻击的快速观察使用 RIPE Atlas 测量手段从分布式探针观察了该事件。另一篇 RIPE Labs 短文对 DNS DDoS 的推测强调,递归重试流量可能会加剧影响,并且在 DNS 协议 DDoS 期间区分合法 DNS 流量和攻击流量可能非常困难。这些并非对 Dyn 的法律评判。它们解释了为何 DNS DDoS 缓解比阻止单一恶意源或添加单一备用服务器要复杂得多。
事件后的研究从另一角度阐述了同一观点。论文《当堤坝决口时:剖析 DDoS 期间的 DNS 防御》认为,缓存是 DNS 韧性中的一个重要因素,并且不同的 DNS 层级在 DDoS 下会有截然不同的表现。该论文以 Dyn 事件为例,说明了一次导致使用 Dyn 作为 DNS 提供商的域名可见中断的事件,同时指出其他 DNS 目标(如根服务器)在吸收攻击时并未出现服务中断。教训并非某一 DNS 层级安全而另一层级脆弱,而是架构、缓存、多样性、流量容量和运营商实践共同决定了公众影响。
对于托管 DNS 客户而言,这意味着准备工作应包括的不仅仅是在风险登记册上填写一个供应商名称。客户需要知道哪些记录足够稳定以允许更长的缓存寿命,哪些记录需要动态导向,哪些递归解析器对其用户重要,以及过期缓存应答如何影响故障转移。还需要决定,在事件发生前紧急更改 TTL 是否有用,还是在缓存已持有旧值后更多是象征性的。DNS 变更具有时间依赖性;一个假设立即全球传播的恢复计划并非真正的恢复计划。
一般的 DDoS 指导也强化了相同的运营纪律。英国国家网络安全中心(NCSC)的拒绝服务指导合集将准备工作归结为四种实践:理解服务、理解防御、制定响应计划以及测试响应。CISA 的理解拒绝服务攻击解释了基本的可用性问题:合法用户无法访问信息系统、设备或网络资源。CISA、FBI 和 MS-ISAC 后来发布的理解并响应分布式拒绝服务攻击的范围比 DNS 更广,但其原则同样适用:组织需要提前准备、与服务提供商协调、建立流量基线、制定响应程序和沟通计划。
这些实践揭示了关于云依赖的一个令人不快的事实。客户可以将 DNS 运营外包,但无法将了解 DNS 故障如何影响自身业务的知识外包。Dyn 可以缓解其基础设施遭受的攻击;但它无法了解每个客户可接受的退化状态。银行、市场、出版商、大学、游戏网络和医院预约门户对于缓慢解析、过期应答和区域可达性损失的容忍度各不相同。客户的连续性计划必须将提供商的状态转化为业务决策:是否通知用户、切换渠道、暂停交易、故障开放、故障关闭,还是在 DNS 稳定之前接受部分可达性。
对 Dyn 而言,同样的准备原则以相反方向运行。一个托管 DNS 提供商必须理解,针对其自身基础设施的 DDoS 事件不仅是一次内部网络的技术事件。它同时是一次客户危机。客户需要足够的信息,以避免通过即兴更改授权、缩短 TTL、不一致地移动区域文件或淹没支持系统而使事件恶化。因此,提供商的行动手册必须包括缓解、客户细分、状态精确性以及为不同 DNS 成熟度水平的客户提供指导。
2016 年 10 月的事件之所以具有破坏性,部分原因是它暴露了共享准备层的薄弱。DNS 工程师理解缓存、任播和权威解析。许多业务领导者和用户不理解。一些客户理解提供商多样性。许多客户并未实施。物联网安全专家理解默认凭据和未受管理设备群体的风险。数百万台设备已然暴露。当专业知识存在于相互独立的社区,但尚未转化为共享的运营承诺时,共模故障往往就会发生。
法律边界比实践教训更窄
公开记录确立了恶意 DDoS 活动、Dyn 服务中断、客户可达性问题、Mirai 的参与以及后来的刑事认罪。它并未确立 Dyn 违反了某项特定合同、每个受影响客户都缺乏合理的架构、每家物联网制造商都违反了法律义务,或者所有损失都可归因于某个被告。个别 Dyn 合同、客户服务等级协议、保险政策以及第三方依赖的条款,并未以支持广泛法律结论的方式公开。
这一边界不应削弱实践教训。反而使其更加清晰。法律过错取决于具体的司法管辖区。运营控制则见于设计选择中。Dyn 控制了提供商级别的韧性和沟通。客户控制了 DNS 提供商多样化和连续性规划。物联网供应商控制了默认凭据、更新路径和生命周期支持。设备所有者仅在产品使其成为可能时才掌控部署和基本加固。ISP 和安全公司控制了检测、通知和缓解选择。政府控制了激励措施、标准、执法响应和公私协调。
该事件被纳入问责分析,是因为没有哪一个层级能单独修复整个故障。一个完美实现多提供商 DNS 的客户,仍可能因其堆栈中其他地方的大规模僵尸网络而受损。一条精工制造的物联网产品线并不会使客户的权威 DNS 变得多样。一个杰出的 DNS 提供商仍可能面临来自其从未出售过的设备的空前恶意流量。一份政府报告可以建议生命周期安全,但无法立竿见影地替换数百万台暴露的设备。共模故障正是从这些层级之间的适配关系中产生的。
事件后的市场信号
攻击发生一个月后,Oracle 宣布已同意收购 Dyn。Oracle 的新闻稿称 Dyn 是一家领先的基于云计算的互联网性能和 DNS 提供商,指出其网络每天为超过 3500 家企业客户做出 400 亿次流量优化决策,并点名了包括 Netflix、Twitter、Pfizer 和 CNBC 在内的客户。在没有证据的情况下,不应将此次收购解读为攻击所致;新闻稿并未如此表述。但它仍然为 Dyn 的市场角色提供了有用背景。这不是一个小众的爱好服务。它是一个面向高知名度数字企业的主要托管 DNS 平台。
这种市场地位正是该事件至今仍重要的原因。云集中化通常会产生切实收益:更强的专长、更广泛的全球覆盖、更快的缓解速度、专业员工和规模经济。但它也改变了故障模式。当众多客户汇聚于同一提供商时,它们独立的业务连续性声明就可能变得相关。一个平台可以外包一项功能,但仍承担外包架构所带来的后果。
2018 年商务部与国土安全部的报告认为,市场激励机制在僵尸网络韧性方面是错位的。在托管 DNS 的客户侧也存在类似的激励问题。单一提供商 DNS 更易于购买、配置、监控和支持。多提供商 DNS 降低了共模风险,但增加了工程复杂性和配置错误的机会。避免这种复杂性的客户在平常时期可能永远不会受到惩罚。惩罚仅在供应商在压力下发生故障时才出现,而届时许多客户可能同时经历同一事件。
实用的问责测试
Dyn 案例为领导层提供了若干至今仍有益的测试。
权威 DNS 依赖性:哪个提供商为每个关键域和子域提供应答?所有列出的名称服务器是否由同一提供商运营,或通过相同的路由和管理控制平面?如果该提供商从主要区域不可达,哪些服务会失败?
提供商独立性:是否存在第二个拥有当前区域数据的权威 DNS 提供商?如果是,它在网络、控制平面、凭据、支持路径和 DDoS 缓解方面是否真正独立?如果不是,组织是否已自觉地接受了单一提供商风险?
TTL 与缓存策略:DNS TTL 是否反映了组织对灵活性与中断容忍度的实际需求?是否给予最稳定的记录足够的缓存寿命,以减少在提供商暂时出问题期间对频繁权威查询的不必要依赖?
DNSSEC 与变更控制:如果启用了 DNSSEC,签名、密钥和 DS 记录能否在多提供商运营或紧急更换提供商时幸存?如果不能,回退机制可能会因安全而失败,这仍然意味着用户无法访问服务。
监控:组织能否区分权威 DNS 故障、递归解析器问题、CDN 问题、源站故障和应用故障?是否从足够多的网络和区域运行测试,以检测任播或区域性 DNS 问题?
注册商恢复:注册商凭证、注册局锁定、紧急联系人和授权更改程序是否已记录、受保护,并在事件期间可用?如果没有人能安全地更改授权,备用 DNS 提供商就毫无用处。
供应商沟通:托管 DNS 提供商是否提供客户做出选择所需的状态详情,同时不暴露防御方法?客户支持路径是否设计为能够应对同时影响事件,即众多客户同时请求帮助?
僵尸网络暴露:对于制造、部署或管理联网设备的组织,是否设计了默认凭据、安全更新、设备身份、漏洞报告和报废支持,以防止设备群成为他人的 DDoS 能力?
这些测试并非抽象的工程纯粹性。它们是域名所有者了解“我们拥有冗余名称服务器”究竟意味着真正的故障独立性,还是仅仅是一个供应商依赖内的多个主机名的方法。
排版
排版是安排字体的艺术和技术,使书面语言清晰、易读且具有视觉吸引力。它涉及选择字体、字号、行长、行距和字间距。
- 排版起源于 15 世纪约翰内斯·古腾堡发明的活字印刷。
- 关键要素包括字体选择、字距调整、字偶距调整和行距。
- 良好的排版能增强可读性,并在设计中传达情绪或基调。
持久的教训
Dyn 事件并未证明托管 DNS 不好。相反更接近事实的是:托管 DNS 之所以存在,是因为 DNS 可用性困难、专业性强且具有全球暴露性。许多客户如果被迫在没有专业知识的情况下运营自己的权威基础设施,其韧性会更低。该事件证明,外包并不会抹去架构考量。它将部分架构移入供应商,然后要求客户决定该供应商是一个组件,还是一个共模依赖。
Mirai 也并未证明仅凭消费者物联网就能为每次基础设施中断负责。它证明,不安全的边缘设备可以被聚合成一股足够大的力量,以威胁核心服务。拥有这些设备的家庭和企业并无意攻击 Dyn。设备供应商可能未曾设想其产品会成为互联网基础设施的组成部分。但公共互联网无论如何都使它们成为了参与者。
因此,对 Dyn 事件的负责任记忆应当是分层级的。犯罪行为人发动了攻击。Dyn 在极端恶意流量下捍卫了一个高价值 DNS 平台,但仍然经历了影响客户的中断。众多客户依赖单一提供商进行权威 DNS,并发现多个名称服务器并不总是意味着提供商多样性。物联网供应商和所有者允许脆弱的设备成为攻击资源。政府和标准机构后来将僵尸网络韧性界定为市场和生态系统问题,而不仅仅是惩罚一个攻击者的问题。
实践教训是严酷的:可达性取决于那个乏味的控制平面。一家公司可以构建冗余应用服务器、多云环境、主动-主动区域和复杂的事件响应机制,但若其权威 DNS 依赖是单一提供商且不可达,则仍会从用户浏览器中消失。DNS 授权就是权力。将其视为低风险采购行为,正是托管服务转变为共模故障的方式。

