专栏/地址解析协议 (ARP) 安全漏洞

地址解析协议 (ARP) 安全漏洞

2023年05月04日 01:31--浏览 · --点赞 · --评论
粉丝:322文章:78

地址解析协议 (ARP) 是在网络安全性还不是很发达的时候设计的。因此该协议是没有嵌入安全性的明文。它不验证 ARP 数据包,甚至接受 ARP 响应,即使 ARP 请求从未发出过。默认情况下,没有机制验证恶意主机是否发送恶意 ARP 消息或拦截和更改 ARP 请求/回复。几种著名的攻击使用称为ARP 欺骗的相同过程。攻击者的最终目标是进入数据路径,如图 1 所示,窃取私有数据。

编辑切换为居中

图 1. 中间人攻击示例

ARP欺骗

当局域网中的恶意主机发送虚假的 ARP 消息时,它可以将其 MAC 地址与默认网关的 IP 地址或局域网中的任何其他 IP 地址关联起来。然后它可以开始接收打算发送给网络中另一台主机的数据。有利用这种欺骗技术的主要攻击:

  • Main-in-the-Middle: 入侵者拦截ARP报文来自合法用户并修改他们以重定向数据。

  • 会话劫持:黑客试图使用 ARP 欺骗窃取 cookie、令牌或会话 ID这样他就可以未经授权访问私人数据。在繁忙的公交车站和机场的公共 WiFi 网络中很常见。

  • 拒绝服务 (DoS):攻击者尝试使主机或网络资源不可用给它的目标用户。通常在 ARP 欺骗的情况下,它是通过窃取打算发送给特定主机的合法数据或用大量虚假或格式错误的 ARP 消息淹没主机来完成的。

编辑切换为居中

图 2. ARP 欺骗示例

让我们看一下图 2 中的示例。PC1 向路由器 1 的 IP 发送 ARP 请求。如您所知,LAN 中的所有节点都会收到此数据包的副本。因此,具有 IP 192.168.1.6 的攻击者可以欺骗或更改路由器 1 的回复,因此与 IP 192.168.1.1 关联的物理地址为 5445-CCCD-DDDD。这将强制 PC1 和路由器 1 之间的所有流量通过攻击者,如图 1 所示。这种类型的 ARP 攻击通常被称为ARP 中毒。

ARP 安全功能

思科引入了一些 ARP 安全功能来解决上述漏洞。

动态 ARP 检查 (DAI)

动态 ARP 检查 (DAI)是一种拦截 ARP 请求/回复消息和根据受信任的数据库验证 MAC 到 IP 的绑定由另一个称为DHCP snooping的功能构建。主要思想是,如果您使用 DHCP 为主机动态分配 IP 地址,则交换机可以窥探 DHCP 消息并跟踪 LAN 中的哪个主机分配了哪个 IP。基于该信息,它可以稍后验证主机是否响应 ARP 请求以获取未分配给它的 IP 地址。丢弃无效或错误的 ARP 回复。

该功能通过将信任状态与交换机上的每个接口相关联来工作。到达受信任接口的 ARP 帧会绕过检查,而在不受信任端口上接收的 ARP 帧会经过验证检查。在典型的 DAI 配置中,连接到终端客户端的所有交换机端口都是不可信的,而连接到其他交换机/路由器或 DHCP 服务器的端口是可信的。

编辑切换为居中

图 3. 动态 ARP 检查示例

让我们看一下图 3 中的示例。绿色端口配置为可信,红色端口不可信。

ARP限速

ARP 数据包在 CPU 中处理,因此当交换机接收到大量 ARP 帧时,很容易使 CPU 过载并导致设备崩溃。这可以被用作拒绝服务攻击。DAI 有一个内置机制,通过限制每秒可以发送到 CPU 的 ARP 数据包的数量来防止这种情况发生。在交换机上启用动态 ARP 检查时,自动所有不受信任的端口都被限制为每秒 15 个 ARP 数据包, 而trusted 没有速率限制。当传入 ARP 帧的速率超过限制时,接口被禁用。

DAI 日志记录

每个被拒绝的 ARP 数据包都会生成一条日志消息,并且可以将其发送到安全运营中心 (SOC) 进行分析,或者可以将其输入可以对其采取行动的自动威胁检测算法。此类日志消息的示例如下所示。

编辑


配置动态 ARP 检查 (DAI)

假设我们使用图 3 中所示的拓扑作为示例。要在两台交换机上启用动态 ARP 检测 (DAI) 并将其间的中继链路配置为受信任,需要执行以下步骤:

第 1 步:在两台交换机上启用并验证 DAI。

编辑切换为居中


在交换机 2 上应用了相同的配置。现在让我们验证该功能的状态。


编辑

第 2 步:将交换机之间的链路配置为可信端口。


编辑

第 3 步:验证 DHCP Snooping 是否正在运行并且存在 MAC 到 IP 绑定。

编辑


现在让我们看看如果一个 rouge 主机发送一个错误的 ARP 回复试图毒化 192.168.1.7 的 ARP 缓存会发生什么。


编辑切换为居中

概括

  • ARP 不是安全协议,也没有内置的安全机制。

  • 一些基于ARP 欺骗(ARP 中毒)的漏洞利用是众所周知的。

  • 思科引入了一种称为 动态 ARP 检测 (DAI)的功能,可以缓解大多数众所周知的漏洞。

  • DAI 依赖于另一个称为DHCP Snooping的功能,该功能跟踪 DHCP 已将哪个 IP 地址提供给哪个主机,并将该信息存储在MAC-to-IP 绑定表中。

  • DAI 通过将信任状态与交换机上的每个接口相关联来工作。当 ARP 数据包到达不受信任的端口时,将根据 MAC-to-IP 绑定表对其进行验证。

  • 不受信任的端口被限制为每秒15 个 ARP 数据包,以防止拒绝服务攻击。


投诉或建议