首页 › tech › 巨头流量被拐的三小时

巨头流量被拐的三小时:BGP劫持攻防实录

概述:2020年11月30日深夜(北京时间23时58分),Google、亚马逊、Facebook、Cloudflare、Akamai的路由同时被一条来自俄罗斯国营电信Rostelecom的宣告“接管”,约200条假路由持续了约3小时才撤回。本文以这起被Cleafy实验室定性为“疑似蓄意拦截”的事件为轴,结合Cloudflare官方资料与维基百科整理的近三十年事故年表,回答三个问题:BGP劫持是怎么发生的?运营商为什么既是受害者又是帮凶?防线到底该怎么搭?

目录

一、没有身份证的路由协议

1989年1月,在美国奥斯汀举行的IETF会议上,Yakov Rekhter、Len Bosack和Kirk Lougheed围着一张桌子,在两张餐巾纸上画出了互联网路由协议的设计草图。这就是后来被称作“两餐巾协议”的BGP——边界网关协议。同年RFC 1105发布,1994年BGP4成型,如今的权威定义是2006年的RFC 4271。三十七年过去,它依然是全球互联网唯一的域间路由协议。

BGP的工作方式说穿了很简单:每个自治系统(AS)向邻居宣告“这些IP前缀归我管、能从我这里到达”,邻居之间口口相传,全球路由表就建起来了。截至2025年,全球IPv4路由表已经超过100万条前缀,自治系统超过8万个。路由器之间通过TCP 179端口建立会话,每30秒互发19字节的Keepalive报文确认对方还活着。

问题出在设计哲学上:BGP默认邻居说的都是真话。宣告里没有任何密码学凭证证明“这个前缀真的归你”。就像Cloudflare官方科普里的比喻:有人把一段高速公路的所有路牌换掉,车流就会乖乖开进错误的出口——而路上没有任何人负责核对路牌的真伪。

对通信工程师来说,BGP离我们并不遥远。它不只跑在互联网骨干上:运营商IP承载网的跨域互通、MPLS L3VPN的VPNv4路由分发,用的都是MP-BGP扩展。换句话说,从互联网骨干到你手机流量的承载网,BGP无处不在——它的信任缺陷,也就无处不在。

二、三小时:巨头流量被拐实录

2020年11月30日美国东部时间上午10时58分,意大利安全公司Cleafy的监测系统捕捉到从莫斯科方向涌来的一批异常BGP更新:俄罗斯最大固网运营商Rostelecom(AS12389)开始对外宣告一批不属于它的前缀——而且不是一两条,是约200条,覆盖Google、亚马逊、Facebook、Cloudflare、Akamai等多家巨头的地址段。

技术手法是教科书级的“子前缀注入”:把别人的地址段切成更精确的/24再宣告出来。由于BGP选路遵循最长前缀匹配原则,这条更精确的假路由会毫无悬念地赢过正规路由,把流量从全世界吸过来。Cleafy在事后复盘中指出,Rostelecom凭借自身配置,本就是承接过境俄罗斯流量的骨干枢纽,流量一旦被吸进去,去向就只有它自己知道。

异常在开始后不久即被开源监测系统ARTEMIS捕获并告警,但宣告的撤回用了大约3个小时。Cleafy研究团队的结论相当直白:这不是配置错误,而是一次“机会主义流量拦截”,更像是老练的威胁行为体(甚至可能有国家级背景)所为,而非BGP失配。他们还发现同样手法与2017年、2020年4月的两起事件高度相似——同一招式,反复出现,从未有人为此负责。

timeline
    title 2020年11月30日:巨头流量被拐三小时
    23时58分 : 莫斯科方向出现异常BGP更新
    随后 : Rostelecom宣告约200条他网前缀
    即刻 : ARTEMIS等监测系统捕获告警
    三小时后 : 错误宣告撤回,路由恢复
    事后 : Cleafy定性为疑似蓄意拦截

值得强调的是,“疑似蓄意”是Cleafy的分析结论,属于该公司的研判观点;Rostelecom方面当年并未给出令人信服的技术解释,也没有任何监管机构公布调查结果。真相至今存疑——这恰恰是BGP劫持最让人不安的地方:它难以归因,甚至难以证明。

三、劫持的四种面孔

把视角拉高,维基百科BGP劫持条目和IETF的RFC 7908把这类事故归纳成几种形态。它们的共同点是:利用路由表的信任机制,让流量偏离正轨。

类型 原理 典型案例 主要危害
前缀劫持 直接宣告不属于自己的地址段 2018年4月亚马逊Route 53被劫 DNS解析被接管,钓鱼与窃密
子前缀劫持 宣告更精确的/24,利用最长匹配必胜 2020年Rostelecom约200条假路由 流量拦截、定向黑洞,最难防
AS路径伪造 伪造更短的AS路径吸引流量 2014年起多起隐身劫持 静默改道,持续窃听
路由泄露 把学到的路由越权扩散出去 2019年欧洲手机流量绕道中国 大面积断网与绕路,多为误配
flowchart TD
    A["攻击者网络"] -->|宣告他人前缀| B["上游运营商未过滤"]
    B --> C["全球路由表被污染"]
    C --> D["边界路由器选中假路由"]
    D --> E["用户流量被拐向攻击者"]
    E --> F["窃听或黑洞或钓鱼站"]
    C --> G["路由监测系统"]
    G -->|比对异常告警| H["运维人工核实"]
    H --> I["撤回错误宣告"]
    I --> J["路由表逐步恢复"]

这张图里最致命的一环是“上游运营商未过滤”。BGP的信任链是逐跳建立的,只要路径上有一台路由器不检查宣告的合法性,假路由就能一路扩散到全球。而RFC 7908对“路由泄露”的定义是“路由宣告被传播到预期范围之外”——它甚至不需要恶意,一次忘配的导出策略就足够。

四、钱是怎么偷走的

如果说明星事故是为了理解机制,那么下面几个案子展示的是BGP劫持作为“生意”的一面。

第一桶金:2018年4月,加密货币钓鱼。 事发时,一家小型服务商对外宣告了本属于亚马逊Route 53权威DNS的约1300个IP地址——维基百科整理的事故记录写的是俄亥俄州ISP eNet(或其客户),Cloudflare的官方回顾则称之为“一家俄罗斯运营商”,双方描述的是同一起事件的不同侧面。Hurricane Electric等大型对等网络未加过滤,直接转发了这些宣告。劫持持续约2小时,myetherwallet.com的DNS查询被导向攻击者控制的服务器,返回假IP,用户被带到一比一克隆的钓鱼站。浏览器证书告警弹出后,仍有大量用户点了“继续访问”。Cloudflare回顾此案时给出的损失数字约为15.2万美元的加密货币。

升级版:2022年2月,KlaySwap投毒。 韩国加密货币平台KlaySwap的前缀被劫持后,攻击者的操作远不止改道:他们利用劫持获得的对域名的临时控制,通过ZeroSSL给钓鱼域名签发了合法TLS证书,再向页面注入恶意JavaScript。用户资产被盗190万美元——直到今天,这仍是BGP劫持“变现效率”最高的公开案例。

最隐秘的形态:2014年的“30秒劫匪”。 2014年2月到5月间,一名攻击者借道一家加拿大ISP,前后22次劫持比特币矿池的流量,每次只持续约30秒——足够偷走矿工的收益,又短到几乎不会触发任何告警。《连线》杂志后来把这组攻击称为“互联网最大的安全漏洞”的现实注脚。

从骗DNS,到合法证书加脚本注入,再到秒级进出,这条演进路线说明:只要路由层的信任缺陷还在,上层一切加密与风控都可能在DNS解析那一步被釜底抽薪。

五、劫持进入静默模式

最近两年的事故呈现两个新特征:影响面更大、动静更小。

2024年6月27日,巴西ISP Eletronet(AS267613)误宣告了一条指向1.1.1.1的/32主机路由,另有网络同时泄露了/24。按最长匹配原则,多条Tier-1骨干接受了这些更精确的宣告——Cloudflare的公共DNS解析器随之在70多个国家、300多个网络范围内不可达或严重劣化。一家运营商的一条主机路由,让全球近三分之一的互联网用户“网页打不开”,而这甚至不是攻击。

2025年2月,安全研究人员发现一起更值得警惕的事件:新加坡SingNet所属的子前缀203.127.225.0/24被菲律宾网络Innove Communications悄悄宣告,SEACOM等多家大型传输商的流量被无声改道。事件最初的定性是“误配还是蓄意劫持仍在调查”——注意,这种静默子前缀劫持如果没有监测,可能永远无人发现。从2008年“全球都看得见YouTube消失”,到2025年“流量被拐了也没人喊疼”,攻击者学乖了。

六、运营商:既是受害者,也是帮凶

把维基百科整理的事故年表压缩一下,你会看到一条清晰的规律:肇事者几乎都是网络运营方,放大器也几乎都是网络运营方。

时间 事件 关键细节
1997年4月 AS7007事件 小网错误宣告被骨干网吞下,路由表碎化引发大范围瘫痪
2004年12月 土耳其TTNet 平安夜劫持大半个互联网
2008年2月 巴基斯坦屏蔽YouTube 屏蔽指令变成全球断网,本国网络先被压垮
2017年4月 Rostelecom宣告37条前缀 含万事达、Visa等金融机构,持续不到7分钟
2017年12月 DV-LINK宣告80条热门前缀 谷歌、苹果、Facebook、微软、NTT等悉数中招
2019年6月 瑞士SafeHost泄露4万条路由 欧洲大量手机流量绕道中国电信网络约2小时
2021年4月 沃达丰印度泄露3万条前缀 入向流量暴涨13倍,谷歌、微软、Akamai受累
2022年2月 KlaySwap劫持 合法证书加脚本注入,损失190万美元
2024年6月 1.1.1.1被/32劫持 70国DNS解析劣化
2025年2月 SingNet子前缀遭静默劫持 菲律宾网络宣告,来路至今存疑

运营商的“帮凶”身份主要有三种。第一是不设防的转发:Hurricane Electric在2018年事件中盲目转发假宣告,不是它一家的问题,而是行业对peer会话普遍不过滤的缩影——ISP之间很难高效校验“对方到底能宣告什么”。第二是自动化工具失控:2021年墨西哥Cablevision泄露282条前缀、波及80国763个AS,事后调查指向BGP优化器;同年印度沃达丰3万条前缀泄露同样如此。这类设备为了流量工程把聚合前缀拆成几千个/24,一旦策略配错,就是一次全球性“路由洪水”。第三是变更管理失控:2014年8月12日的“512K日”最具代表性——Verizon在数分钟内拆分宣告了约1.5万条新路由,全球路由表顶破51.2万条,大批老款路由器的TCAM溢出,eBay、LastPass、微软Azure相继掉线。重新聚合只花了5分钟,余震却持续了数小时,不少设备要重分配转发内存并重启才能恢复。

还有一个被忽视的角落:运营商内部。iBGP全互连、路由反射器、RR集群——这套内网架构的误配同样致命,2019年SafeHost的4万条泄露正是从自家会话漏向运营商上游的。承载网工程师对“内网BGP不会出大事”的盲目信任,和2008年巴基斯坦电信工程师对一条屏蔽配置的轻率,本质是同一种东西。

七、防线与实战清单

防线没有银弹,只有纵深。按投入产出排序:

第一层:过滤与上限,最老也最有效。 对客户会话强制做前缀过滤(只允许其持有的地址段)、对每条BGP会话配置max-prefix上限防止路由洪水、对来自peer的宣告做长度和合法性感检查。RFC 7908把“基于角色的泄露防范”写成了标准思路:清楚每条会话是客户、对等还是上游,导出策略就按角色写死。这层防不住蓄意攻击,但能挡住绝大多数事故——现实里多数劫持和泄露都是误配。

第二层:RPKI,给路由发身份证。 资源公钥基础设施通过ROA对象把“前缀-授权AS”绑定起来,接收方可以验证宣告来源的合法性。维基百科条目指出RPKI早年部署缓慢,但近几年大型网络加速接入,"Is BGP safe yet?"这类公开追踪页可以查到各家运营商的落地进度。ROV策略要配“无效即拒收”才有牙齿——只校验不处置等于没做。

第三层:分钟级监测,把发现时间压下来。 2020年Rostelecom事件里,ARTEMIS这类开源自检系统能在异常出现后数分钟内告警。运营商可以订阅RIPE RIS、Route Views等公开路由数据源做比对,同时在自己的网内做控制面与数据面双向探测——2014年那些“30秒劫匪”证明,发现速度就是损失金额。Cloudflare在其335多个城市的任播节点上广播同一个AS号,本质也是用架构冗余对冲路由层的单点信任。

第四层:流程。 BGP优化器的导出策略必须白名单化;跨域变更走双人复核与灰度窗口;对异常流量激增(比如2021年沃达丰那种13倍入向尖峰)预设自动诊断剧本。近年美国、欧洲的监管机构已陆续把路由安全纳入运营商安全审查范围,MANRS等行业联盟也将过滤与RPKI列为基础要求——合规压力正在变成硬约束。

八、结语

回到2020年那个深夜:约200条假路由、3个小时、全球最重要的几家互联网公司,事后没有任何一方给出解释,没有任何监管机构公布结论。三十七年前写在餐巾纸上的协议,至今仍在用“默认信任”支撑着整个互联网——这不是工程师的疏忽,而是去中心化网络的原罪:8万多个自治系统之间,不存在一个能核对每张路牌的交通警察。

对运营商来说,教训可以浓缩成一句话:你对邻居的每一次“不设防”,都是在替全球互联网保管风险;而别人对你的每一次“不设防”,都可能让你成为下一场事故的帮凶。 过滤、RPKI、监测、流程,四层防线没有一层昂贵到做不起,昂贵的是它们都没做时的那三小时。

参考来源

  1. A New BGP Hijack Episode: Rostelecom — Cleafy LABS — Cleafy研究团队对2020年11月Rostelecom劫持事件的完整技术复盘,含时间线、/24子前缀注入手法与定性结论
  2. BGP hijacking — Wikipedia — 1997年至2025年BGP劫持与泄露事故年表,及RFC 7908路由泄露定义
  3. What Is BGP Hijacking? — Cloudflare Learning — Cloudflare官方科普:BGP劫持机制、2018年加密货币钓鱼案与防御手段
  4. Border Gateway Protocol — Wikipedia — BGP协议史(“两餐巾协议”)、选路规则与2014年“512K日”事件
  5. RFC 7908: Problem Definition and Classification of BGP Route Leaks — IETF — IETF对路由泄露的问题定义与分类标准

本文由「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学通信知识星球海报-扫码加入