链路层安全: EAP 、 ARP协议安全
IEEE 802.1X 是一种基于端口的身份验证,用于保护有线和无线网络。在用户可以访问链路层的网络之前,必须验证他们试图连接的交换机或接入点 (AP),无论是物理连接还是通过无线信道连接。与大多数标准机构一样,该组织有自己的术语。图 17.6 显示了典型的 802.1X 设置。用户称为请求者,交换机或 AP 称为身份验证器。该架构需要一个身份验证服务器 (AuthS),可以使用现有协议之一实现:远程访问拨入用户服务 (RADIUS)、DIAMETER、Kerberos、轻量级目录访问协议 (LDAP) 或 Active Directory (AD) 等。AS 功能也可以与身份验证器共置。我们现在将 RADIUS 视为我们的示例 AS。通常,AS 和身份验证器预先配置了共享密钥。以 RADIUS 协议为例,一旦收到请求者的请求,认证者就会向 RADIUS 服务器发送 RADIUS 访问请求消息,请求授予访问资源的授权。
请求者软件通常可在各种操作系统平台上使用,也可以由芯片组供应商提供。希望访问网络的请求者(客户端)必须使用可扩展身份验证协议 (EAP) 通过身份验证器连接到 AS。
可扩展身份验证协议 (EAP)
EAP 是一种端到端客户端到身份验证服务器的协议。从请求者到身份验证者,它通过第 2 层协议(即 LAN 上的可扩展身份验证协议 (EAPoL))发送。无需更高层协议。由于身份验证者使用具有共享密钥的可信链路连接到 AS,因此可以在链路的这一侧使用更高层协议,例如 UDP 上的 RADIUS/DIAMETER。
当新客户端(请求者)连接到认证器时,认证器上的端口将设置为“未授权”状态,仅允许 802.1X 流量。其他更高层流量(如 TCP/UDP)将被阻止。认证器向请求者发送 EAP 请求身份。请求者使用 EAP 响应数据包进行响应,该数据包将转发到 AS。这通常包括请求者的凭据(用户名和密码哈希值)。验证后, AS 将返回以下响应之一:访问接受、访问拒绝、访问质询(用于额外凭据)。如果结果是访问接受,认证器将解除端口阻塞以让更高层流量通过。当请求者注销时,认证器的 EAP 注销将设置端口以阻止所有非 EAP 流量。
出于多种原因,以纯文本形式发送请求者的凭证是有问题的。为了防止任何窃听,EAP 使用隧道进行身份验证和授权。有一系列 EAP 隧道协议可供选择。EAP 传输层安全性 (EAP-TLS)、用于 GSM 用户身份的 EAP (EAP-SIM) 和 EAP 保护身份验证协议 (EAP-PEAP) 是建立安全隧道的一些示例。EAP-PEAP,也称为“EAP 内部的 EAP”,是最流行的协议之一。如果我们深入挖掘,在端口解锁之前,会使用一个复杂的过程来使用四次握手生成动态加密密钥。本质上,所有这些协议都会建立 TLS 隧道,但在哈希算法的选择、使用的凭证类型、是否使用客户端证书等方面有所不同。大多数协议都会使用服务器端证书。
一旦请求者和 AS 相互认证,它们就会一起生成主密钥 (MK)。正如我们已经讨论过的,到目前为止,认证者一直扮演着中继的角色。在此过程中,请求者派生出成对主密钥 (PMK)。AS 也派生出相同的 PMK 并将其发送给认证者。从此时起,请求者和认证者使用 PMK 派生用于消息加密和完整性的临时密钥 (TK)。密钥派生过程与我们之前在 TLS 中学到的类似。我们将在后面的“强健安全网络 (RSN)”部分中详细回顾密钥生成以及各种密钥之间的关系。
针对以太网交换机的攻击
尽管研究文献主要关注更高层次的安全性,但 Stuxnet 攻击表明,看似无害的 USB 驱动器很容易在局域网 (LAN) 环境中造成严重破坏,而无需任何互联网连接。广泛部署的以太网技术是围绕自学习和配置协议构建的。这便于管理,但同时也带来了一些安全漏洞。我们在此简要回顾了一些可能的攻击。
媒体访问控制攻击:交换机投毒攻击
以太网交换机将转发表条目保存在内容可寻址存储器 (CAM) 中。当交换机获悉新的目标主机时,它会更新该表,并且对于所有未来的通信,都会查找此表条目以转发帧。与广播以太网或 WLAN 不同,连接到其他端口的主机无法访问这些帧。但是,如果交换机没有到新媒体访问控制 (MAC) 地址的映射,即没有将新帧转发到哪个端口,它将在其所有传出端口上泛洪该帧。攻击者可以制作几个带有随机地址的帧来填充整个 CAM。这将导致交换机将所有传入数据帧泛洪到所有传出端口,因为没有可用空间来输入新映射。这使得连接到其中一个端口的攻击者可以使用该帧。因此,MAC 泛洪攻击也会影响填充其 CAM 的所有 VLAN。但是,这种攻击需要攻击者控制直接连接到以太网交换机的设备,或者可能控制一些仍连接到端口的已使用但无人看管的以太网壁式插座。减轻这种攻击需要在填充转发表条目之前从某些本地合法地址数据库中对 MAC 地址进行身份验证和验证。
MAC 欺骗:攻击发生在攻击者窃听链路并检测目标主机的 MAC 地址时。然后,攻击者通过更改其主机的 MAC 地址以匹配新检测到的 MAC 地址,伪装成合法主机。攻击者使用新配置的 MAC 地址淹没网络,同时通过更改交换机转发表条目将流量导向自身。交换机现在被欺骗将发往目标主机的帧转发给攻击主机。
MAC 地址并非设计用于安全目的。我们之前讨论过的 802.1X 是防止未经授权的用户访问网络上任何服务的良好起点。另一方面,用户可能会选择伪造自己的 MAC 地址以保护自己的隐私。大多数流行的操作系统都支持 MAC 地址随机化,以避免设备根据 MAC 地址被跟踪。
地址解析协议 (ARP) 欺骗:当攻击者通过 LAN 发送虚假 ARP 消息时,就会发生攻击,将目标的 IP 地址绑定到自己的 MAC 地址。一旦攻击者设法破坏 ARP 表,它将开始接收任何原本要发送给目标 IP 地址的数据。ARP 欺骗还可用于 DoS 攻击,例如,通过在 ARP 表中填充与目标服务器的单个 MAC 地址相对应的多个 IP 地址。然后,这会将不必要的流量重定向到目标,使其忙于处理这些消息。ARP 欺骗在会话劫持和 MITM 攻击中也很有用。
事实上,缓解方案会对交换机上每个端口可学习的地址数量设置限制。一些供应商使用验证过程,根据受信任绑定表中包含的 MAC-IP 绑定检查 ARP 数据包中的 MAC 地址和 IP 地址信息。这允许丢弃绑定表中没有条目的任何 ARP 数据包。绑定表必须经常更新,以避免阻止合法更新。
VLAN 跳跃:VLAN 跳跃攻击允许 VLAN 上的攻击主机访问其他 VLAN 上通常受限制的资源。VLAN 跳跃主要有两种方法:交换机欺骗和双重标记。
在交换机欺骗攻击中,攻击主机冒充中继交换机,响应通常用于 VLAN 环境中的标记和中继协议(例如 IEEE 802.1Q 或动态中继协议)。攻击者现在可以成功访问多个 VLAN 的流量。供应商通过适当的交换机配置来缓解这些攻击。例如,明确为端口分配中继角色,而将其他端口配置为仅访问端口。此外,可以禁用任何自动中继协商协议。在双标记攻击中,攻击者通过在其传输的帧中插入两个 VLAN 标记,成功将其帧发送到多个 VLAN。但是,这种攻击不允许他们收到响应。同样,供应商提供了推荐的配置方法来应对这些可能的攻击。可以在 [1395] 和特定于供应商的课程中找到有关以太网攻击和防御的全面调查。