网络安全课程笔记五:Routing Security

Network Security Lecture 5: ROUTING SECURITY

5.1 AS 和 BGP

在互联网中,一个自治系统(Autonomous system, AS)是指在一个(有时是多个)实体管辖下的所有 IP 网络和路由器的全体,它们对互联网执行共同的路由策略。用于 BGP 路由中的每个自治系统都被分配一个唯一的自治系统编号(ASN)。对 BGP 来说,ASN 是区别整个相互连接的网络中的各个网络的唯一标识。

边界网关协议(Border Gateway Protocol, BGP)是互联网上一个核心的去中心化自治路由协议。它通过维护 IP 路由表或‘前缀’表来实现自治系统(AS)之间的可达性,属于矢量路由协议。BGP 不使用传统的内部网关协议(IGP)的指标,而使用基于路径、网络策略或规则集来决定路由。因此,它更适合被称为矢量性协议,而不是路由协议。

BGP speakers 被称为 peers,在不同 AS 内的 peers 被称为 External peers(eBGP),在相同 AS 内的 peers 被称为 Internal peers(iBGP)。它们互相交换 NLRI(network layer reachability information,网络层可达性信息),NLRI 包含了 IP 地址前缀和掩码(比如 158.132.0.0/16)。

5.2 BGP 可能造成的损害

5.2.1 饥饿

数据被转发给了一个不能送达它的结点。

5.2.2 黑洞

大量的数据被转发到一个路由器,而这个路由器丢弃了大量的或所有的数据包。

5.2.3 循环

数据包被沿着一条循环路径转发,因此它永远不可能被送达。

5.2.4 网络拥塞

大量的流量被转发到了网络中的某个位置,造成了此处的拥塞。

5.2.5 延迟

流量被沿着一个相对于原路径来说更慢的路径的转发。

5.2.6 窃听

流量被转发到了某个会窃听这些数据包的网络/路由器。

5.2.7 路由的频繁改变

可能导致整个 BGP 网络的混乱、不稳定、超载(BGP 信息本身成为了网络流量的一大组成部分)、资源耗尽。

5.3 BGP 弱点

BGP 没有内部机制来保护 BGP 实体之间通信的信息的完整性、时效性和真实性。

当一个 AS 向周围的 AS 声明它的 NLRI路径属性(AS-PATH,Next-Hop等)时,BGP 没有机制来验证这个 AS 的真实性。

5.4 BGP Attacks

5.4.1 机密信息泄露

BGP 数据包中的路由信息是明文传输的,所以很容易被窃听。

5.4.2 重放

BGP 并没有对其信息提供重放攻击的保护。

5.4.3 信息的增、删、改

如果 BGP 信息被增、删、改,并没有机制来阻止、保护它们。

5.4.4 中间人攻击

BGP 并不执行对等实体的验证操作。

5.4.5 拒绝服务

恶意、虚假的路由表,或者大量的 BGP 路由更新信息会导致拒绝服务(DoS)。

5.5 通过 UPDATE 信息攻击 BGP

  1. 伪造、修改撤回路由的信息,可能导致合法的路由表被删除
  2. 攻击者可以从较早的数据包中重放路由撤回信息,合法实体也可能错误地发送路由撤回信息
  3. 攻击者可以缩短 AS-PATH 的长度,增加其路由被选中的可能性,从而窃听这些流量
  4. 攻击者可以向某个 AS 声明他可以直连到某个特定的网络地址,从而将流量定向到某个路由器,而这个路由器可能不会转发这些流量。攻击者也可以通过这种方式强迫某个 AS 去转发它本不应该转发的流量。