12. 安全考虑 (Security Considerations)
- 安全考虑
引入支持无类前缀的路由协议, 并转向一种转发模型, 即当更具体 (最长匹配) 路由与较不具体前缀的路由重叠时必须优先选择更具体路由, 这至少带来了两个安全问题:
-
可以通过为某个目的地发布比通常为该目的地发布的聚合更具体的前缀来劫持流量. 例如, 假设一个地址为 192.168.17.100 的常用端系统连接到一个发布 192.168.16.0/20 的服务提供商. 一个有意截获发往该站点流量的恶意网络运营者, 可能会把 192.168.17.0/24 发布, 或至少尝试发布, 到全球路由系统中. 因为这个前缀比 "正常" 前缀更具体, 流量将从合法端系统转移到恶意运营者拥有的网络. 在 CIDR 出现之前, 也可以诱导网络某些部分的流量遵循一个与特定网络号精确匹配的虚假通告; CIDR 使这个问题稍微更严重, 因为最长匹配路由通常会让所有流量优先选择更具体路由而不是较不具体路由. 不过, 针对基于 CIDR 的攻击, 补救措施与 CIDR 之前的攻击相同: 在提供商之间建立信任关系, 并在提供商边界部署强路由策略过滤器. 不幸的是, 在高度去中心化的 Internet 中实施此类过滤器并不容易. 作为变通办法, 许多提供商确实会实施通用过滤器, 根据 RIR 关于其所分配地址块大小的指南, 对从其他提供商接受的前缀长度设置上限. 注意, 已经观察到垃圾邮件发送者 ("spammers") 使用这类攻击临时劫持地址空间, 以隐藏他们所生成流量 ("spam" 电子邮件消息) 的来源.
-
可以通过向系统中发布大量路由, 对 Internet 基础设施的许多部分发起拒绝服务攻击 (denial-of-service attacks). 这类攻击旨在通过使路由表和转发表溢出来造成路由器故障. 造成这类故障的一个非恶意事件的典型例子是臭名昭著的 "AS 7007" 事件 [7007], 其中运营者对路由器的错误配置导致大量无效路由通过全球路由系统传播.
同样, 这种攻击并不是 CIDR 带来的真正新问题; 使用传统 Class A/B/C 路由时, 最多可以向全球路由系统发布 16843008 个唯一网络号, 这个数量足以给 2005 年制造的最现代路由设备也造成问题. 不同之处在于, 在存在 CIDR 的情况下正确配置路由器具有中等程度的复杂性, 这往往使此类意外 "攻击" 更可能发生. 防止这类攻击的措施与上文针对劫持所描述的措施大体相同, 另外, 最佳通用实践 (best common practice) 还要求配置边界路由器将从其邻居接受的前缀数量限制在合理的最大值.
注意, 本节并不旨在穷尽分析 CIDR 会使哪些类型的攻击变得更容易; 对全球路由系统安全漏洞进行更全面的分析超出了本文档范围.