首页 › tech › 漏敲一个词,KT全网瘫40分钟

漏敲一个词,KT全网瘫40分钟

概述

2021年10月25日上午11点16分,韩国第二大移动运营商KT全国网络大面积瘫痪:1440万移动用户、930万宽带用户同时失联,刷卡、炒股、上网课、点外卖集体中断。KT最初通报称疑遭“大规模DDoS攻击”,四天后被政府联合调查彻底改写——根因竟是一名外包工程师在路由器更换作业中漏敲了一个单词:exit,导致BGP级海量路由灌入IS-IS内部协议域,错误路由数十秒内波及全国。本文以韩国科学技术信息通信部(MSIT)联合调查结论为锚点,复盘时间线、技术机理、取证过程与七道失守的防线,并给出六条可直接落地的运维经验。

目录

一、工作日上午,全国静音

2021年10月25日,周一。韩国是全世界数字化程度最高的国家之一:移动支付、券商App、网课平台、外卖调度全部架在运营商的管道上。上午11点刚过,KT的有线和无线网络开始大面积失灵。

用户看到的现象非常典型:手机信号格满格,但打不出电话、刷不出网页;刷卡终端超时;券商App下单失败;韩国本地媒体报道说,线上课堂当场掉线、外卖平台无法派单,大量公共机构和商业机构陷入停摆。据韩联社报道,这是一场持续约一小时的全国性网络中断;ZDNet的报道则将核心业务瘫痪窗口描述为“当地时间11点前后、约40分钟”。对一张承载近两千万用户的国家级网络来说,这个时长不长了——但对依赖实时交易的数字经济来说,每一分钟都在烧钱。

KT当时的体量:韩国第一大宽带运营商(约930万宽带用户)、第二大移动运营商(约1440万移动用户,2021年一季度数据,据公司披露)。也就是说,这次故障几乎把韩国“一半的互联网入口”按下了暂停键。

二、时间线:从「黑客攻击」到「路由错误」

这起事故最耐人寻味的,不是瘫痪本身,而是官方结论被改写了两次。

时间(KST,2021年) 事件
10月25日 约11:16 全国有线、无线业务大面积中断,波及釜山起点的错误路由扩散至全国(MSIT通报口径)
11:16–11:40前后 刷卡、股票交易、网课、外卖等依赖网络的活动大面积受阻;用户投诉暴增
25日午后 KT初步通报:因流量异常,疑遭大规模DDoS攻击;韩联社当日报道沿用“黑客攻击”表述
25日晚些时候 KT改口:经排查,原因是“路由错误”,排除网络攻击;警方初步调查称未发现外部攻击迹象
10月29日 MSIT公布联合调查结论:外包人员在釜山企业网路由器更换作业中漏敲exit命令,BGP级路由信息涌入IS-IS域;当天恰逢周五,调查细节公开
之后 KT CEO具铉谟(Ku Hyeon-mo)公开道歉并承诺补偿;MSIT要求SKT、KT、LG U+三大运营商提交网络管理改进方案

第一通报是“攻击故事”,最终结论是“控制故事”。这个转弯本身就是第一课:第一次公开解释,往往不是最终解释。把诊断假设当成结论通报出去,代价是公信力——这比故障本身更难修复。

三、技术解剖:一个 exit 如何杀死一张全国网

先说清楚协议角色。BGP是域间路由协议,负责KT与其他自治系统之间交换路由,一张全国级运营商网络的BGP表量级在十万条以上;IS-IS是内部网关协议(IGP),描述运营商自己网络内部的路由与拓扑,一个规划良好的IS-IS域通常只有万级条目。两者各管一段,边界靠配置里的重分发策略与上下文隔离来维持。

事故发生在釜山一处企业网的路由器更换作业中。据政府通报,承包商技术人员在配置IS-IS上下文时漏敲了exit命令,配置上下文没有闭合——按官方调查的解释,本应进入BGP处理的路由信息,被设备继续当成了IS-IS域内的配置内容。十万级条目的BGP路由灌进常规只有万级容量的内部协议域,路由信息在设备间传播,错误的规模和类型远超内部协议的预期。

接下来是灾难放大过程:釜山的错误路由信息传向首尔的设备,据韩国媒体报道,在数十秒内波及全国。路由表被污染、路由翻动加剧,承载在IP网上的有线、无线业务随之大面积塌陷。值得一提的是,调查通报与公开报道均未披露涉事设备的厂商与软件版本——这也是为什么本文只讨论协议与流程机理,不还原任何厂商的私有命令语法;标准协议允许多种实现,具体行为以各厂家官方文档为准。

故障传播链条如下:

flowchart TD
  A["釜山企业网路由器更换作业"] --> B["承包商独自动手无监管"]
  B --> C["漏敲exit命令"]
  C --> D["IS-IS配置上下文未闭合"]
  D --> E["BGP级海量路由灌入IGP"]
  E --> F["错误路由数十秒扩散全国"]
  F --> G["有线无线业务大面积中断"]
  G --> H["KT初判DDoS引发误报"]
  H --> I["政府联合调查改写结论"]

理解这张图的关键在于:每一环都不致命,致命的是环环相扣。漏敲一个词,在任何一台实验室设备上都只是个小事故;但在一张全国互联、正在线运行、没有任何自动拦截机制的网络里,它获得了国家级杀伤力。

四、取证复盘:外攻还是内伤

KT当天为什么会先怀疑DDoS?据ZDNet报道,是因为“流量过载”的表象。这在工程上完全说得通:路由翻动期间,海量终端反复掉线重连、应用层重试风暴叠加,入口流量形态异常,看上去确实像一次攻击。重试风暴替故障“化了妆”。

那么,怎么用证据区分“外攻”和“内伤”?核心是分清两类故障的指纹:

取证六步,按顺序做:

  1. 对齐时间轴:统一NTP,把syslog、告警、变更工单、清洗平台动作拉到同一条T0±10分钟的时间线上。
  2. 查变更审计:故障窗口内有无割接、配置下发、策略切换?谁、哪台设备、什么指令?这是Meta 2021、罗杰斯2022的共有答案,也是KT的答案。
  3. 比对RIB与FIB:逐台核心设备做路由表与转发表一致性检查,重点看跨协议重分发的条目。
  4. 采流量指纹:NetFlow/IPFIX看五元组分布,确认所谓“攻击流量”的真实规模与方向——它是攻击证据,还是重试风暴的残影。
  5. 看外部视角:通过looking glass、RIPEstat确认自有前缀有无全球性翻动,排除域间劫持。
  6. 复盘防御动作:清洗牵引、ACL批量下发、路由策略重载,每个动作的执行时刻与网络状态对齐——灭火剂有时候就是助燃剂。
flowchart TD
  J["业务大范围中断"] --> K{"边界流量是否爆表"}
  K -->|流量异常| L["采Flow看攻击指纹"]
  K -->|流量平静| M["直奔控制面日志"]
  L --> N{"攻击规模与瘫点匹配"}
  M --> O{"RIB与FIB是否一致"}
  N -->|不匹配| P["怀疑变更或防御动作"]
  O -->|不一致| Q["路由系统错误实锤"]
  O -->|一致| P
  P --> R["核对变更工单与时间窗"]
  Q --> S["回滚配置并隔离节点"]
  R --> S

放在KT的时间线里走一遍:警方初步调查未发现外部攻击迹象、KT自己复查后改口“路由错误”、政府调查最终锁定漏敲的exit——三条证据链都收敛到了控制面。一次故障诊断要敢于推翻自己的第一假设;危机通报则要把假设标注为假设。

五、七道防线,全部失守

政府通报里有一句非常重的话:“任务完全由外包公司技术人员执行,KT没有任何人在场监督,也不存在防止此类事故的机制。”把调查发现摊开看,这起事故的杀伤力是七道防线逐一放行的结果:

# 防线 本应拦住它 实际情况
1 变更窗口 限定凌晨作业 批复窗口为凌晨1点至6点,实际却在白天动手
2 现场监管 KT管理员在场督导 外包人员全程独自动手
3 一级复核 人工审查命令集 未发现漏敲
4 二级复核 换一种检测再拦一次 同样是人工,同样漏过
5 自动化校验 语法与上下文解析 缺失,设备无拦截
6 路由量断路器 条目数越界即阻断 十万级路由灌入万级域,无自动告警拦截
7 爆炸半径隔离 区域故障区域化 错误数十秒扩散全国

这张表里最刺眼的是第3、4行。官方通报原话是“两轮验证流程都存在,但因为都是人工执行,所以都没发现”。同一双眼睛看两遍,不等于独立保障——两个审查者读同一份计划文档,会漏掉同一个渲染缺陷。独立性的本质不是换个人名,而是换个检测原理:语法解析器查未闭合的配置上下文、语义diff查BGP到IGP的越权重分发、路由量基线查数量级异常。每一层的“失败原因”应该不同,防线才真的叠加。

六、影响面与问责:40分钟的账单

算一笔账。全年可用性99.99%(四个9),对应的全年停机预算是约52.6分钟——KT这一次40分钟到89分钟的事故,一次就烧穿了大半到全部的年度预算。用户侧,按约1600万用户、核心瘫痪40分钟估算,约一千万“用户·小时”的通信服务凭空蒸发;叠加刷卡、证券交易、在线课堂、外卖调度的连锁损失,这才是一个“短促”故障的真实账单。

问责与整改的走向也值得记录:CEO具铉谟公开道歉并承诺补偿用户(后续补偿方案据韩媒报道包含流量赠送等形式);MSIT要求三大运营商提交网络管理改进方案,并对全行业的网络稳定性管理强化审查。放在当时的东亚背景里看,这是运营商故障潮的一环:就在KT出事前十一天,日本NTT docomo因维护作业触发的信号板件缺陷陷入近29小时的全网语音故障(据日媒报道);次年7月,KDDI又发生了61小时的断网。监管机构的结论殊途同归——故障的根子不在某一个器件,而在变更管理体系。

七、给运维的六条硬经验

  1. 授权绑定字节,不绑定工单。工单批准的是意图,路由器执行的是渲染后的命令字节。高危变更应把最终命令集、哈希、目标设备、软件版本与审批记录绑定在一起,任何改动即失效。批复了凌晨窗口,白天就不该有一条命令能上线。
  2. 复核必须换检测原理。两轮人工审查挡不住一个漏敲的词。上线前跑配置解析器(查未闭合上下文)、语义diff(查跨协议重分发)、路由量基线比对(查数量级异常),让每一层防线因不同的原因失败。
  3. 给IGP装上“路由量守恒器”。IS-IS域前缀数、重分发条目数、单邻居前缀上限都应有硬阈值,越界自动阻断传播而不是事后告警。十万级条目涌进万级域,本应在第一台设备上就被掐断。
  4. 承包商准入靠技术约束,不靠合同条款。账号与会话绑定工单、命令集预审批、窗口外设备不可达、KT侧值班工程师强制在场——监管没在场,合同就只是纸。
  5. 爆炸半径要有真边界。区域化的重分布点、策略过滤、金丝雀拓扑,并且要用负向演练证明边界真的拦得住:故意注入错误上下文、故意放大路由量,看系统会不会拒绝。没有演练过的隔离,只是图纸上的一道线。
  6. 通报区分假设与结论。KT当天从“DDoS攻击”改口“路由错误”,换来的是公信力折损。第一份通报写“疑似攻击、正在排查取证”,比四天后改口便宜得多——诊断可以大胆假设,通报必须小心求证。

结语

这可能是通信史上最贵的一个单词。一个exit的缺席,穿过失效的变更窗口、缺席的现场监管、两轮形同虚设的人工复核、不存在的自动化校验与路由量断路器,最终在数十秒里获得了一个国家的杀伤半径。它再次验证了故障复盘里反复出现的那条铁律:重大事故从来不是单一原因的产物,而是防线的串联失效。

对工程师来说,最深的一句提醒来自这起事故的定位逻辑:工单描述意图,批复描述流程,复核描述信心——只有路由表描述事实。当运行态与所有叙事冲突时,相信运行态,然后沿着证据链一层层往回挖。网络不会说谎,说谎的是我们对它的想象。

参考来源

  1. Omission of 'exit' command caused nationwide KT crash — Korea JoongAng Daily — 韩国科学技术信息通信部调查结论的详细报道:漏敲exit、审批窗口错位、外包无监管、两轮人工复核失效
  2. Routing error caused network outage, South Korean telco KT says — Reuters — 路透社对KT从DDoS怀疑改口路由错误的当日报道
  3. KT clarifies routing error caused outage instead of DDoS attack — ZDNet — KT官方改口过程、约40分钟中断窗口、刷卡炒股受影响等影响面细节
  4. Internet outage causes chaos for businesses, individuals — Yonhap News — 韩联社对中断波及公共机构、企业与个人的一线记录
  5. KT's 2021 Routing Error Made Protocol-Boundary Validation a National Network Accountability Test — btw.media — 深度技术分析帖:基于官方调查的协议边界、复核失效与问责链条拆解(文中政府时间线11:16起障、12:45恢复措施完成、IS-IS域万级与BGP十万级条目对比引自其对官方通报的引用)
  6. KT suffers major network outage nationwide — The Korea Herald — 全国性故障对网课、外卖等日常数字生活冲击的现场报道

本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入