本周早些时候,来自全球200多家 CDN 和云托管提供商的流量被怀疑通过俄罗斯国有电信运营商Rostelecom转发出去。这起事件影响了来自200多个网络的8800多条互联网流量路由。这些受影响的公司都是云和CDN市场的知名公司,包括谷歌、亚马逊、Facebook、Akamai、Cloudflare、GoDaddy、Digital Ocean、Joyent、LeaseWeb、Hetzner和Linode。
想查看受害网络的完整列表,请参阅该Twitter消息流地址:https://twitter.com/search?q=AS12389%20(from%3Abgpstream)%20until%3A2020-04-07%20since%3A2020-04-01&src=typed_query
这起事件是一起典型的“ BGP劫持”。BGP的全称是边界网关协议,是用于全球互联网网络之间路由传输互联网流量的事实上的系统。整个系统在设计上非常脆弱,原因是任何参与的网络只要“撒谎”、发布BGP路由通告,声称其网络上有“Facebook服务器”,那么所有互联网实体都会将其视为合法目标,将所有的Facebook流量发送到劫持者的服务器。
在过去,HTTPS被广泛用于加密流量之前,BGP劫持让攻击者得以实施中间人(MitM)攻击,从而拦截和篡改互联网流量。
如今BGP劫持仍然很危险,因为它让劫持者可以记录流量,以便以后试图分析和解密流量,保护流量的加密技术因加密领域的进步而被削弱了。
自上世纪90年代中期以来,BGP劫持一直是互联网骨干网上的一大问题;多年来,通信领域的从业人员一直在竭力提高BGP协议的安全性,因此出现了ROV、RPKI以及最近的MANRS。然而,采用这些新协议方面的进度一直很缓慢,BGP劫持仍时有发生。
比如说,2018年11月,一家小型的尼日利亚ISP劫持了原本发送到谷歌网络的流量,而2019年6月,一大批欧洲移动流量通过中国最大的电信运营商中国电信重新路由传输。
专家们过去一再指出,并非所有BGP劫持都是恶意事件。大多数事件可能是由于操作人员误输入了ASN(自治系统编号,用于识别互联网实体身份的代码),因而意外劫持了某家公司的互联网流量。
然而,一些实体仍是BGP劫持的幕后主使,许多专家认为这些事件不绝仅仅是意外事件。
虽然Rostelecom(AS12389)不像之前一些国家的运营商那样直接参与或有意参与BGP劫持,但它与许多类似的可疑事件有瓜葛。
Rostelecom上一次备受媒体关注的重大破坏出现在2017年,当时这家电信公司劫持了全球一些最大金融机构的BGP路由,包括维萨、万士达卡和汇丰银行(HSBC)。
当时,思科的BGPMon部门称该事件是“出于好奇心”,因为它似乎只影响金融服务,而不是影响随机性ASN。
这回,电信业还没有得出一个结论。BGPMon的创始人Andree Toonk给出了俄罗斯电信公司值得怀疑的理由。Toont在推特上称,他认为之所以发生这起“劫持”,是由于Rostelecom内部的流量整形系统可能不小心在公共互联网上、而不是在Rostelecom的内部网络上暴露了错误的BGP路由。
遗憾的是,Rostelecom的上游提供商在互联网上重新分发这条刚发布的BGP路由,使这个小错误变得更严重了,在短短几秒钟内放大了BGP劫持。
然而,过去许多互联网专家指出,有可能使一起有意的BGP劫持貌似意外事件,因为没人区别得了。政府严加控制的电信公司发生的BGP劫持一直被视为很可疑,这主要出于政治原因,而不是出于技术原因。