互联网是一个相互连接的自治系统(AS域)的集合,由各种互联网服务提供商(ISP)、大学和其它独立机构管理,一般情况下,两个AS之间通过专用的连接线路或IXP相互连接,在前一种情况下,根据双方业务的协议,一方支付费用给另一方,来达到信息传输的功能,或者双方根据商业协议各自支付一半的费用。很明显,通过专用的BGP路由器进行连接只能促使一对连接相互成功互通。相反,IXP是一种共享的互联基础设施,其中多个自治系统可以通过IXP上的交换机和路由器彼此进行互连,每个AS只需要承担自己到IXP所需要架设的设备的费用即可。
专用连接线路
当然,除了给IXP提供相应的设备管理费用外,更重要的是,AS可以在根据自身业务协议的情况下,尽可能的连接到更多的其它AS
IXP共享连接线路
专用线路情况下,在不使用技术手段暴力击穿的情况下,基本不存在信息被劫持的风险。因为彼此之间的路线单一,没有分叉,没有第三方关系。相比IXP共享连接线路,由于多个自治系统的信息交换中心都处于同一个机房,彼此之间相对“裸露”而AS之间的又是由BGP路由进行广播来向互联网中传输信息,这样就很容易被有目的的信息劫持,例如:
AS1<--->AS4进行正常的业务协议通信,AS1以广播的形式通知全网,持有IP:X.X.X.1
但AS3因为某些特殊原因需要对AS1与AS4之间的通信进行窃取劫持,于是在AS1进行广播结束后,也进行一次广播,将自己加入在BGP AS_Path中,这样以来,导致AS1和AS4在进行通信时,经过了原本不需要经过的路径节点。
为了得到更全面的BGP路由视图,我下载了三个月内所有的BGP路由表,并将它们合并在一个路由表中,并且将AS_Path全部解析去重,回环型路径删除。
选定其中一台探测机的IP为探针,以探针为基础,将解析出的AS_Path全部记录下来,然后,通过搜索IXP数据库中的IP块,检查转发IP路径中是否包含IXP的IP块,进而对应AS_Path得出三个月中,路径中是否存在,在选取时间段内被其它AS劫持的情况发生。
由于主机硬件限制,BGP数据非常大,3个月的数据已经足够撑爆硬盘...
在有限的数据集中,并没有发现路径中存在明显的劫持特征,这种情况有两种可能:
总之,在互联网发展的今天,网络安全越来越被大家关注,相比较使用暴力手段击穿终端机进行信息窃取,在通信过程中进行劫持转发会更加具有隐蔽性,且开销最低,所以,通信网络的搭建,交换中心的规范化建设,以及网络拓扑地图的绘制就成为网络安全的新方向。