2021年12月,亚马逊云服务(AWS)遭遇了一场持续数小时的大规模 outage,全球数百万用户无法访问Netflix、Disney+等依赖AWS的服务。事后调查显示,这场故障的根源并非硬件损坏或软件漏洞,而是BGP路由劫持——一个恶意攻击者通过伪造BGP宣告,将本应指向AWS的数据流量“拐骗”到了自己的服务器上,导致正常流量中断。
这起事件让“BGP”这个原本只在网络工程师圈子里流传的术语,突然闯入了公众视野。作为互联网的“交通指挥系统”,BGP(Border Gateway Protocol,边界网关协议)是连接全球数千个自治系统(AS)的核心协议,没有它,不同运营商、数据中心之间的网络就无法互通。但鲜为人知的是,这个支撑互联网运行的“骨架”,本身却布满了“隐形裂缝”。
一、BGP的“基因缺陷”:设计之初就埋下的隐患
BGP诞生于1989年,彼时互联网还处于“学术实验”阶段,用户以科研机构和政府部门为主,核心设计理念是“信任”——默认所有参与BGP的自治系统都是“诚实的”。这种“无信任校验”的设计,成了它最致命的先天弱点。
1. 路由宣告的“无差别信任”
BGP的核心功能是“宣告路由”:每个自治系统(AS)会向相邻的AS发送消息,告诉对方“我能到达哪些IP地址段”。相邻AS会将这些信息转发给其他AS,最终形成全球路由表。但问题在于,BGP不验证宣告者是否真的拥有该IP段的控制权。
举个例子:假设AS100合法拥有IP段192.0.2.0/24,AS200是它的邻居。如果AS300(一个恶意自治系统)向AS200宣告“我也能到达192.0.2.0/24”,且AS300的宣告“优先级更高”(比如AS路径更短),AS200就会优先选择AS300的路由。此时,原本发往192.0.2.0/24的流量会被引导到AS300,导致路由劫持。
这种攻击的成本极低:攻击者只需要拥有一个自治系统号(ASN)和至少一个BGP邻居,就能发起攻击。而ASN的申请门槛并不高——在亚太互联网络信息中心(APNIC),个人或企业只需提供基本的网络证明就能申请到ASN。
2. 路由策略的“手动依赖”
BGP的路由策略需要人工配置:网络管理员需要手动设置“哪些AS可以信任”“哪些IP段可以接收”。但全球有超过10万个自治系统,手动维护信任列表几乎不可能。大多数中小运营商为了“方便互通”,会采用“默认接受所有路由”的策略——这相当于给攻击者打开了大门。
2018年,加密货币交易所Coinbase就因这种策略遭受损失:攻击者劫持了Coinbase的IP段路由,将用户的登录流量引导到伪造的服务器上,窃取了大量账户信息。事后调查发现,Coinbase的上游运营商没有对路由宣告进行过滤,才让攻击者有机可乘。
二、后天“养护不足”:配置错误与运维漏洞
如果说先天缺陷是“基因问题”,那么后天的配置与运维漏洞则是“慢性病”。很多BGP服务器的弱点,并非来自协议本身,而是人为操作的疏忽。
1. 路由过滤的“形同虚设”
为了防止恶意路由,BGP有一个基础防御机制——路由过滤(Route Filtering):管理员可以设置规则,只接受来自可信AS的、属于合法IP段的路由。但现实中,很多网络管理员要么“不会配”,要么“懒得配”。
2020年,中国电信曾因路由过滤配置错误,导致部分国内用户无法访问国外网站。当时,中国电信的一个边缘路由器错误地向全球宣告了“所有IP段都可以通过我访问”,导致大量国际流量涌入中国电信的网络,引发拥堵。这就是典型的“过度宣告”——管理员没有限制路由器的宣告范围,让错误路由扩散到了全球。
2. BGP会话的“弱认证”
BGP会话是不同AS之间交换路由信息的通道,理论上需要认证才能防止伪造。但BGP的认证机制(MD5哈希)早已被破解——MD5的碰撞攻击成本极低,攻击者可以轻松伪造认证信息,建立虚假的BGP会话。
更糟糕的是,很多运营商为了“节省时间”,干脆不启用BGP认证。2019年,欧洲某运营商就因未启用认证,被攻击者建立了虚假BGP会话,劫持了该运营商的路由,导致其用户无法访问谷歌、Facebook等服务。
3. 软件与固件的“未修补漏洞”
BGP服务器通常运行在专用的路由器或交换机上,这些设备的操作系统(如Cisco IOS、Juniper Junos)和固件可能存在漏洞。2022年,Cisco发布了一个高危漏洞(CVE-2022-20827),攻击者可以通过发送特制的BGP消息,远程控制路由器,修改路由表。但据统计,全球有超过30%的Cisco路由器没有及时修补该漏洞——这些设备成了网络中的“定时炸弹”。
三、攻击的“重灾区”:谁在利用BGP弱点?
BGP的弱点并非“理论威胁”,而是真实存在的攻击手段。近年来,利用BGP漏洞的攻击呈现出“频率上升、危害扩大”的趋势,主要有以下几类:
1. 路由劫持:从“恶作剧”到“精准攻击”
早期的路由劫持多是“恶作剧”——比如2008年,巴基斯坦电信为了屏蔽YouTube,错误地将YouTube的IP段宣告到自己的AS中,导致全球YouTube服务中断了数小时。但现在,路由劫持已经成为有组织犯罪的工具:
- 加密货币盗窃:2022年,攻击者劫持了加密货币交易平台FTX的路由,窃取了价值超过1亿美元的加密货币;
- 数据监听:2017年,俄罗斯某黑客组织劫持了美国国务院的路由,监听了数小时的外交通信;
- DDoS放大:攻击者劫持大量IP段的路由,将这些IP段作为“反射器”,向目标发起DDoS攻击(BGP反射攻击)。
2. 路由泄露:“无意”中的“大破坏”
与路由劫持的“恶意”不同,路由泄露是“无意”的配置错误,但危害同样严重。比如,一个小运营商可能错误地将自己的路由转发给了上游大运营商,而大运营商又将这些路由扩散到全球,导致流量被错误引导。
2019年,英国电信(BT)就因路由泄露,导致欧洲部分地区的互联网中断了3小时。当时,BT的一个路由器错误地将内部路由宣告给了全球,导致大量流量涌入BT的网络,引发瘫痪。
3. BGP前缀劫持:“偷取”IP地址的控制权
BGP前缀是指IP地址段(如192.0.2.0/24)。攻击者可以通过伪造BGP宣告,“偷取”某个前缀的控制权,让全球网络认为该前缀属于自己。2023年,攻击者就通过这种方式“偷取”了微软的一个IP前缀,用于分发恶意软件——用户访问微软的合法域名时,流量会被引导到攻击者的服务器上,下载病毒。
四、如何修补BGP的“裂缝”?
BGP的弱点并非“无解”,但需要全球网络运营商的共同努力。目前,行业内已经有一些成熟的防御方案:
1. RPKI:给路由“上身份证”
RPKI(Resource Public Key Infrastructure,资源公钥基础设施)是解决路由劫持的核心技术。它的原理是:IP地址的所有者(如运营商、企业)可以将自己的IP前缀和ASN绑定,并生成数字证书。当一个AS宣告路由时,其他AS可以通过RPKI验证该宣告是否“合法”——如果宣告者没有对应的证书,就拒绝接受该路由。
目前,全球已有超过50%的IP前缀启用了RPKI,但仍有大量中小运营商未部署。比如,2021年AWS outage事件中,攻击者劫持的IP前缀就没有启用RPKI,才让攻击得逞。
2. BGPsec:给路由“加签名”
如果说RPKI是“验证宣告者身份”,那么BGPsec就是“验证路由路径的完整性”。BGPsec要求每个AS在转发路由时,都对路由信息进行数字签名,后续的AS可以验证签名是否连续——如果中间某个AS被篡改,签名就会失效。
不过,BGPsec的部署成本较高,目前只有少数大型运营商(如谷歌、Facebook)在试点。但随着攻击的加剧,BGPsec的普及是必然趋势。
3. 自动化路由过滤:替代“手动配置”
手动配置路由过滤容易出错,因此行业内正在推广自动化路由过滤——通过工具(如IRR,互联网路由注册中心)自动获取可信的路由信息,生成过滤规则。比如,运营商可以从IRR中获取自己客户的IP前缀,只接受这些前缀的路由,避免接受恶意宣告。
4. 实时监控:及时发现异常
BGP攻击的危害程度,很大程度上取决于发现的速度。目前,已有很多实时监控工具(如BGPmon、RouteViews)可以跟踪全球路由的变化。当出现异常路由宣告时,工具会及时报警,让管理员快速响应。
比如,2022年FTX的路由劫持事件中,监控工具在10分钟内就发现了异常,FTX迅速联系上游运营商屏蔽了恶意路由,避免了更大的损失。
结语:BGP安全,需要“全球共治”
BGP是互联网的“血管”,它的安全直接关系到全球网络的稳定。但BGP的弱点,既是技术问题,也是管理问题——它需要全球运营商放弃“各自为战”的思维,共同部署RPKI、BGPsec等防御技术,建立统一的信任体系。
对于企业来说,也不能“坐以待毙”:要选择启用RPKI的运营商,定期检查自己的IP前缀是否被劫持,配置严格的路由过滤规则。毕竟,在互联网这个“信任缺失”的环境中,只有主动防御,才能避免成为BGP弱点的牺牲品。

正如网络安全专家Bruce Schneier所说:“互联网的安全不是靠技术 alone,而是靠所有参与者的共同责任。”BGP的“隐形裂缝”,需要我们每个人都伸出手,一起修补。








留言0