IP 伪装、 IPv6、 路由协议 边界网关协议 (BGP) 安全

IP 伪装、 IPv6、 路由协议 边界网关协议 (BGP) 安全

IP伪装

由于 IPv4 地址空间不足,网络地址转换 (NAT) 的设计使得私有 IP 地址可以通过 NAT 设备映射到外部可路由的 IP 地址。对于传出的 IP 数据包,NAT 设备将私有源 IP 地址更改为传出链路的公共 IP 地址。因此,它会向外界混淆内部 IP 地址。对于潜在的攻击者来说,数据包似乎来自 NAT 设备,而不是 NAT 设备后面的真实主机/服务器。

IPv6 安全

到目前为止,我们关于安全性的讨论都假设使用 IPv4。由于 NAT 机制存在一些缺陷,IPv4 地址的短缺导致了新 IPv6 协议的开发。随着 IPv6 的采用逐渐增加,我们应该强调部署 IPv6 的安全优势和挑战。例如,使用 128 位地址空间意味着攻击者需要更多时间来扫描端口,而 IPv4 则可以在几个小时内扫描整个地址空间。由于 IPv6 第 3 层地址直接从第 2 层地址派生而来,无需进行地址解析,因此与 ARP 相关的几个安全问题(本章后面将讨论)消失了。但是,这允许攻击者推断有关主机/服务器的信息,这在发起攻击时非常有用。建议使用哈希函数生成地址作为一种缓解技术。此外,IPv6允许使用加密生成地址 (CGA),其中地址与公共签名密钥绑定。这有助于在路由器之间进行身份验证以进行安全消息交换。最初,IPsec 被要求在 IPv6 网络中使用,但由于实施困难,它仍然是一项建议。一些信息性 IETF RFC 和特定于供应商的白皮书全面介绍了 IPv6 安全挑战。

路由协议安全

到目前为止,我们主要关注使用 TCP/IP 协议套件发送的数据的安全性。但是,如果路由器本身受到威胁或接受来自恶意行为者的虚假路由交换消息,网络很容易受到破坏。首先,我们将讨论内部网关协议 (IGP),它用于在自治系统 (AS)(例如 ISP)内交换路由信息。两种主要协议:路由信息协议 (RIPv2) 和开放最短路径优先 (OSPFv2) 在 IPv4 网络的 AS 中广泛使用。较新的 RIPng 和 OSPFv3 版本支持 IPv6。这些协议默认不支持安全性,但可以配置为支持纯文本身份验证或基于 MD5 的身份验证。纯文本身份验证以明文形式发送密钥以及路由更新,因此很容易被数据包分析器嗅探。更安全的选项是使用 MD5。路由器交换消息摘要和密钥 ID 以及路由更新。 Key-id 指示从密码列表中使用哪个密钥。这可以避免嗅探器攻击。身份验证可以避免多种攻击,例如插入虚假路由或修改和添加恶意邻居。此外,路由器可能会使用路由过滤来避免传播唯一合法的路由。

边界网关协议 (BGP) 安全

互联网使用分层系统,其中每个由 ISP 管理的 AS 使用边界网关协议 (BGP) 与其他 AS 交换路由信息。有关 BGP 协议的详细信息,请参阅 RFC1163 和 RFC1267。从其邻居收到 IP 前缀(可达性信息)后,路由器会根据其存储的知识检查新收到的信息,以查看是否有更好的路径到达目标网络。此信息在本地更新并传播到其直接邻居。分布式系统允许网络在全球范围内相互访问。

近年来,针对 BGP 的攻击明显意在破坏全球 YouTube 服务。由于配置错误或恶意宣传虚假 BGP 更新,另一个国家的整个互联网出现中断。无论哪种情况,这都凸显了 BGP 协议的安全漏洞。此漏洞的出现是因为 BGP 消息缺乏完整性和身份验证。我们将介绍一些针对 BGP 协议的著名攻击。

在所谓的 BGP 路由劫持攻击中,恶意路由器可以通告 IP 前缀,声称到达某项服务的最佳路由是通过其网络。一旦流量开始流经其网络,它就会出于各种原因(包括审查)选择丢弃发往该服务的所有数据包。它还可以读取所有未加密的数据包。此外,攻击者可以通过毫无戒心的 AS 转移流量,从而突然增加其负载。在 BGP 拒绝服务 (DoS) 攻击中,恶意路由器会向受害 AS 发送大量 BGP 流量,同时使其边界路由器保持繁忙状态,使其无法处理任何有效更新。攻击者还可以传播虚假的 BGP 更新并破坏路由表,以阻止流量到达其预期目的地。

IETF 目前正在制定一项名为 BGPSec 的标准来解决这些安全问题。这项工作基于先前的一项名为 S-BGP 的提案。该方案的核心在于使用 PKI 来验证发送更新的邻居的签名。两个相邻路由器可以使用 IPsec 机制来交换更新,以实现点对点安全。现在我们将看一个简单的示例,其中 BGP 路由器接收路径 ZZZ YYY XXX。BGP 路由器使用我们之前了解的 PKI 机制验证 AS XXX 的签名。然后,它验证由 YYY 生成的签名,随后验证由 ZZZ 生成的签名。这使我们能够验证整个更新链的来源和真实性。但是,这种方法需要很大的开销。签名验证是有代价的,实施 BGPSec 将要求边界路由器在启动时验证大量签名。额外的加密硬件和内存肯定有助于保持性能正常。

 

尽管有这些 BGPSec 和其他标准化工作,但由于额外成本和缺乏短期利益,除非在全球范围内达成一致要求强制实施,否则部署这些机制的路由器并不多。机制成本是广泛部署的另一个但较小的障碍。现有的 BGP 安全提案存在一个典型的经济问题。新的 BGPSec 部署主要使部署机制以外的运营商(非部署)受益;因此,部署者的回报在于未来,而非部署网络的损失则在前期累积。