一念Jeff LiWriting · zhipeng.li中文

The Collapse of the Internet

互联网的崩溃

In 1982, everyone's email address could still fit in a thin booklet, and when Danny Hillis registered the third domain name ever, he felt it would be improper to grab even a few extra. That take-only-what-you-need trust was built into IP and BGP, and it became their weak spot. From the AS 7007 leak and Pakistan's botched YouTube block to a traffic-hijacking demo at DEF CON, a single bad announcement can knock huge swaths of the network offline. Hence the call for an independent backup: a Plan B.

网安志异 × TED · 6 · Danny Hillis

1982年的互联网,所有有电子邮件地址的人的姓名、电话和邮件地址可以印在一本薄薄的书里。而如今,把互联网上所有人的这些信息都印在书上,估计这本书得有好几公里厚。而且,主要问题还在于,现在没有人愿意在互联网上公开自己的名字和电话号码等信息。因为互联网上的用户之间的信任已经不复存在。

Danny Hillis注册了互联网上的第三个域名,当时申请注册的是think.com。他曾想过是不是可以多注册几个,以备不时之需,但犹豫之后放弃了。因为他觉得:“那样不太好吧?”。这种想法现在看来真实不可思议。但那时的互联网上,几乎人人都有这种只取己需的态度。这种态度事实上根植于互联网协议本身,从IP协议到路由算法,基本上也都是在相互信任的前提下各取所需各尽所能。

互联网这种基于相互信任的前提和基础,在大规模商业化之后暴露诸多问题。 虽然互联网的协议本身在技术上可以很好地工作,但现在的人们以一种完全不同于预期的方式使用互联网, 且其规模也与设计大相径庭。

比较典型的是互联网上非常重要的动态路由协议BGP。这些年,由于BGP的固有安全缺陷引发的互联网大规模故障的事情不断发生。(0)

  • 1997年AS 7007事件。作为当时的一个小型ISP,AS 7007在BGP策略配置上发生错误,他把从其服务提供商Sprint学习到的BGP路由当作自己的路由重新发布到Sprint。同时Sprint对其发布的路由也没有做其他的检查或者过滤,只是简单的把AS 7007错误发布的路由当作正确路由向Internet发送,其结果导致互联网上路由表容量增加了一倍,使得很多路由器难以处理而崩溃。

  • 2004年12月24 日AS 9121事件。该AS把自己的路由表中包含的路由表项作为自己的路由向所有的peer邻居宣告,而其直接邻居AS 6762同样因为缺乏检查或过滤措施,把AS 9121的错误宣告完整的发布到互联网上,其当时泄露的错误路由超过100K,占到整个互联网前缀的70%以上,引起大规模的报文丢弃与数据重定向。

  • 2005年GOOGLE中断事件。 2005年6月,运营商Cogent(AS 174)作为google的一个直接邻居,在事件发生前曾在BGP中宣告前缀64.233.16.0/24,称自己为该前缀的源,其导致AS 174的多个邻居,包括AS 184、AS 7081等的大型AS都受到影响,从而使google的服务对外中断。

  • 2008年youtube事件。2008年2月24日,当时巴基斯坦电信管理局对YouTube服务进行了屏蔽,其本意是通过巴基斯坦电信(AS 17557)在本国范围内宣告YouTube的网络前缀208.65.153.0/24,但巴基斯坦电信在该前缀的宣告中发生了配置错误,不仅在国内宣告也向外部的提供商电讯盈科PCCW(AS 3491)宣告了该前缀,从而导致该非法宣告在全球蔓延,使得全球范围内用户对YouTube的访问被中断。

BGP是互联网的粘合剂。互联网是由很多网络(AS)组成,每个网络都有一个唯一的数字来标志自己,称为AS号,比如Google的AS号是15169。各个网络通过BGP互相连接。BGP用来声明哪个IP地址属于哪个网络,建立从某个自治网络到另外一个自治网络AS的路由。

BGP基于一个相互信任的体制。各个网络基于信任的原则告诉其它网络哪个IP地址属于哪个网络。因此,如果当一个网络发出声明说某个IP地址或某个网络在它的内部,而事实不是这样,而如果它的上游网络或对等网络信任了它,那么,这个数据包最终将会迷路丢失。这一机制也可用于进行流量劫持。

2008年8月,两位研究人员在Defcon做演示,说明攻击者如何利用BGP窃听或篡改一家公司未加密的数据。攻击者可以用他们自己的网络对这家公司的全部流量进行重新路由,在该公司不知情的情况下将流量送到目标地址。这种BGP窃听攻击在当今国际互联网上可能正在发生。

自从2013中国电信和俄罗斯最大的移动通讯商Vimpelcom签署BGP邻居(BGPpeering)协议之后该问题就多次出现。我们知道一些本土通信要想在其他的网络上传输信息就需要支付给中间通信运营商们高额的通信费用,而签署BGP邻居协议之后就可以节省下这笔支出,但是万万没想到危险也在随之而来。在这个协议框架之下,俄罗斯本土的网络流量会不断的路由到中国电信的路由器上。

因此,Danny Hillis在演讲中呼吁,如果人们认识到我们逐渐有多么地依赖互联网,互联网是多么的脆弱,就应该构建一个独立于互联网之外的明确的备份系统作为Plan B。Danny Hillis认为,解决方案本身的技术非常容易,只要大家重视,Plan B就会得以建立,不是难题。

注

Originally published on the WeChat account 网安志异, 2015-07-03 · original

Comments

    No sign-in needed; comments appear right away.