网络安全 – 数据链路层
我们已经看到,互联网的快速发展引起了人们对网络安全的极大关注。已经开发了几种方法来为网络的应用程序、传输或网络层提供安全性。
许多组织在更高的 OSI 层(从应用程序层一直到 IP 层)采用了安全措施。然而,通常被忽视的一个领域是强化数据链路层。这会使网络受到各种攻击和危害。
在本章中,我们将讨论数据链路层的安全问题及其解决方法。我们的讨论将集中在以太网上。
数据链路层的安全问题
以太网中的数据链路层极易受到多种攻击。最常见的攻击是 −
ARP 欺骗
地址解析协议 (ARP) 是一种用于将 IP 地址映射到本地以太网中可识别的物理机器地址的协议。当主机需要为 IP 地址查找物理媒体访问控制 (MAC) 地址时,它会广播 ARP 请求。拥有该 IP 地址的其他主机会发送带有其物理地址的 ARP 回复消息。
网络上的每台主机都维护一个表,称为"ARP 缓存"。该表保存网络上其他主机的 IP 地址和相关 MAC 地址。
由于 ARP 是一种无状态协议,每次主机从另一台主机收到 ARP 回复时,即使它没有发送 ARP 请求,它也会接受该 ARP 条目并更新其 ARP 缓存。使用伪造条目修改目标主机的 ARP 缓存的过程称为 ARP 中毒或 ARP 欺骗。
ARP 欺骗可能允许攻击者伪装成合法主机,然后拦截网络上的数据帧、修改或阻止它们。这种攻击通常用于发起其他攻击,例如中间人攻击、会话劫持或拒绝服务。
MAC 泛洪
以太网中的每个交换机都有一个内容可寻址内存 (CAM) 表,用于存储 MAC 地址、交换机端口号和其他信息。该表的大小是固定的。在 MAC 泛洪攻击中,攻击者使用伪造的 ARP 数据包向交换机发送 MAC 地址,直到 CAM 表已满。
一旦 CAM 被泛洪,交换机将进入类似集线器的模式并开始广播没有 CAM 条目的流量。位于同一网络上的攻击者现在接收所有仅发往特定主机的帧。
端口窃取
以太网交换机能够学习并将 MAC 地址绑定到端口。当交换机从具有 MAC 源地址的端口接收流量时,它会绑定端口号和该 MAC 地址。
端口窃取攻击利用了交换机的这种能力。攻击者使用伪造的 ARP 帧向交换机发送泛洪,其中目标主机的 MAC 地址是源地址。交换机被欺骗,认为目标主机位于攻击者实际连接的端口上。
现在,所有发往目标主机的数据帧都被发送到攻击者的交换机端口,而不是目标主机。因此,攻击者现在收到的所有帧实际上只发往目标主机。
DHCP 攻击
动态主机配置协议 (DHCP) 不是数据链路协议,但 DHCP 攻击的解决方案也可用于阻止第 2 层攻击。
DHCP 用于在特定时间段内为计算机动态分配 IP 地址。可以通过在网络中造成拒绝服务或冒充 DHCP 服务器来攻击 DHCP 服务器。在 DHCP 匮乏攻击中,攻击者请求所有可用的 DHCP 地址。这会导致拒绝向网络上的合法主机提供服务。
在 DHCP 欺骗攻击中,攻击者可以部署一个恶意 DHCP 服务器来向客户端提供地址。在这里,攻击者可以向主机提供带有 DHCP 响应的恶意默认网关。来自主机的数据帧现在被引导到恶意网关,攻击者可以在那里拦截所有数据包并回复实际网关或丢弃它们。
其他攻击
除了上述常见的攻击外,还有其他攻击,如基于第 2 层的广播、拒绝服务 (DoS)、MAC 克隆。
在广播攻击中,攻击者向网络上的主机发送欺骗的 ARP 回复。这些 ARP 回复将默认网关的 MAC 地址设置为广播地址。这会导致所有出站流量被广播,从而使坐在同一以太网上的攻击者能够嗅探。这种类型的攻击也会影响网络容量。
在基于第 2 层的 DoS 攻击中,攻击者使用不存在的 MAC 地址更新网络中主机的 ARP 缓存。网络中每个网络接口卡的 MAC 地址应该是全局唯一的。但是,可以通过启用 MAC 克隆轻松更改它。攻击者通过 DoS 攻击禁用目标主机,然后使用目标主机的 IP 和 MAC 地址。
攻击者执行攻击以发起更高级别的攻击,以危及网络上传输的信息的安全性。他可以拦截所有帧,并能够读取帧数据。攻击者可以充当中间人并修改数据或简单地丢弃导致 DoS 的帧。他可以劫持目标主机与其他机器之间正在进行的会话,并完全传达错误的信息。
保护以太网 LAN
我们在上一节中讨论了一些广为人知的数据链路层攻击。已经开发了几种方法来缓解这些类型的攻击。一些重要的方法是 −
端口安全
它是智能以太网交换机上可用的第 2 层安全功能。它涉及将交换机的物理端口绑定到特定的 MAC 地址。任何人都可以通过将主机连接到其中一个可用交换机端口来访问不安全的网络。但是,端口安全可以保护第 2 层访问。
默认情况下,端口安全将入口 MAC 地址数限制为一个。但是,可以通过配置允许多个授权主机从该端口连接。每个接口允许的 MAC 地址可以静态配置。一种方便的替代方法是启用"粘性"MAC 地址学习,其中 MAC 地址将由交换机端口动态学习,直到达到端口的最大限制。
为了确保安全,可以通过多种不同方式控制对端口上指定 MAC 地址或端口上多余地址的变化的反应。可以配置端口以关闭或阻止超过指定限制的 MAC 地址。建议的最佳做法是关闭端口。端口安全可防止 MAC 泛洪和克隆攻击。
DHCP 侦听
我们已经看到,DHCP 欺骗是一种攻击,攻击者在网络上的主机侦听 DHCP 请求,并在授权的 DHCP 响应到达主机之前用虚假的 DHCP 响应回答它们。
DHCP 侦听可以防止此类攻击。DHCP 侦听是一项交换机功能。可以配置交换机以确定哪些交换机端口可以响应 DHCP 请求。交换机端口被标识为受信任或不受信任的端口。
只有连接到授权 DHCP 服务器的端口才会配置为"受信任",并允许发送所有类型的 DHCP 消息。交换机上的所有其他端口都是不受信任的,只能发送 DHCP 请求。如果在不受信任的端口上看到 DHCP 响应,则该端口将被关闭。
防止 ARP 欺骗
端口安全方法可以防止 MAC 泛洪和克隆攻击。但是,它不能防止 ARP 欺骗。端口安全验证帧头中的 MAC 源地址,但 ARP 帧在数据有效负载中包含一个额外的 MAC 源字段,主机使用此字段来填充其 ARP 缓存。下面列出了一些防止 ARP 欺骗的方法。
静态 ARP − 建议的操作之一是在主机 ARP 表中使用静态 ARP 条目。静态 ARP 条目是 ARP 缓存中的永久条目。但是,这种方法不切实际。此外,它不允许使用某些动态主机配置协议 (DHCP),因为第 2 层网络中的所有主机都需要使用静态 IP。
入侵检测系统 − 防御方法是利用配置为检测大量 ARP 流量的入侵检测系统 (IDS)。但是,IDS 容易报告误报。
动态 ARP 检查 − 这种防止 ARP 欺骗的方法类似于 DHCP 侦听。它使用受信任和不受信任的端口。仅允许受信任端口上的 ARP 回复进入交换机接口。如果 ARP 回复到达不受信任端口上的交换机,则将 ARP 回复数据包的内容与 DHCP 绑定表进行比较以验证其准确性。如果 ARP 回复无效,则丢弃 ARP 回复并禁用端口。
保护生成树协议
生成树协议 (STP) 是第 2 层链路管理协议。STP 的主要目的是确保当网络具有冗余路径时不会出现数据流循环。通常,构建冗余路径是为了为网络提供可靠性。但它们可能形成致命循环,从而导致网络中的 DoS 攻击。
生成树协议
为了提供所需的路径冗余以及避免循环情况,STP 定义了一个跨越网络中的所有交换机的树。 STP 强制某些冗余数据链路进入阻塞状态,而其他链路则保持转发状态。
如果转发状态的链路发生故障,STP 会重新配置网络,并通过激活适当的备用路径重新定义数据路径。STP 在网络中部署的网桥和交换机上运行。所有交换机都会交换信息,以选择根交换机并随后配置网络。网桥协议数据单元 (BPDU) 携带此信息。通过交换 BPDU,网络中的所有交换机都会选出一个根网桥/交换机,该根网桥/交换机将成为网络的焦点并控制阻塞和转发的链路。
对 STP 的攻击
接管根桥。这是第 2 层最具破坏性的攻击类型之一。默认情况下,LAN 交换机会轻信相邻交换机发送的任何 BPDU。顺便说一句,STP 是可信任的、无状态的,并且不提供任何可靠的身份验证机制。
一旦进入根攻击模式,攻击交换机每 2 秒发送一个 BPDU,其优先级与当前根桥相同,但 MAC 地址在数值上略低,这确保了其在根桥选举过程中的胜利。攻击者交换机可以通过不正确地确认其他交换机导致 BPDU 泛洪或通过一次声称是根并快速连续撤回使交换机过度处理 BPDUS 来发起 DoS 攻击。
使用配置 BPDU 泛洪进行 DoS。攻击交换机不会尝试接管根。相反,它每秒生成大量 BPDU,导致交换机的 CPU 利用率非常高。
防止对 STP 的攻击
幸运的是,针对根接管攻击的对策简单明了。有两个功能有助于击败根接管攻击。
根保护 − 根保护限制了可以协商根桥的交换机端口。如果"启用根保护"的端口收到的 BPDU 优于当前根桥发送的 BPDU,则该端口将移至根不一致状态,并且不会通过该端口转发任何数据流量。根保护最好部署在连接到不期望接管根桥的交换机的端口上。
BPDU-Guard − BPDU 防护用于保护网络免受接入端口上接收 BPDU 可能引起的问题的影响。这些端口不应接收它们。BPDU 防护最好部署在面向用户的端口上,以防止攻击者插入恶意交换机。
保护虚拟 LAN
在本地网络中,虚拟局域网 (VLAN) 有时配置为安全措施,以限制易受第 2 层攻击的主机数量。 VLAN 会创建网络边界,广播(ARP、DHCP)流量无法跨越该边界。
虚拟局域网
使用支持 VLAN 功能的交换机的网络可以配置为在单个物理 LAN 基础设施上定义多个 VLAN。
VLAN 的常见形式是基于端口的 VLAN。在此 VLAN 结构中,交换机端口使用交换机管理软件分组到 VLAN 中。因此,单个物理交换机可以充当多个虚拟交换机。
使用 VLAN 可提供流量隔离。它将大型广播第 2 层网络划分为较小的逻辑第 2 层网络,从而缩小了 ARP/DHCP 欺骗等攻击的范围。一个 VLAN 的数据帧只能在属于同一 VLAN 的端口内移动。两个 VLAN 之间的帧转发是通过路由完成的。
如上图所示,VLAN 通常跨越多个交换机。中继端口之间的链路承载在多个物理交换机上定义的所有 VLAN 的帧。因此,交换机之间转发的 VLAN 帧不能是简单的 IEEE 802.1 以太网格式帧。由于这些帧在相同的物理链路上移动,因此它们现在需要携带 VLAN ID 信息。IEEE 802.1Q 协议为中继端口之间转发的普通以太网帧添加/删除了额外的报头字段。
当两个 IP 地址字段后面的字段为 0x8100 (> 1500) 时,该帧被标识为 802.1Q 帧。2 字节标记协议标识符 (TPI) 的值为 81-00。 TCI 字段由 3 位优先级信息、1 位丢弃合格指示符 (DEI) 和 12 位 VLAN ID 组成。此 3 位优先级字段和 DEI 字段与 VLAN 无关。优先级位用于提供服务质量。
当帧不属于任何 VLAN 时,会有一个默认 VLAN ID,该帧被视为与之关联。
对 VLAN 的攻击和预防措施
在 VLAN 跳跃攻击中,一个 VLAN 上的攻击者可以访问其他 VLAN 上通常无法访问的流量。它在从一个 VLAN 到另一个 VLAN 通信时会绕过第 3 层设备(路由器),从而破坏了创建 VLAN 的目的。
VLAN 跳跃可以通过两种方法执行:交换机欺骗和双重标记。
交换机欺骗
当攻击者所连接的交换机端口处于"中继"模式或"自动协商"模式时,可能会发生这种情况。攻击者充当交换机,并将带有目标远程 VLAN 的 VLAN 标签的 802.1Q 封装头添加到其传出帧中。接收交换机将这些帧解释为来自另一个 802.1Q 交换机,并将帧转发到目标 VLAN。
防止交换机欺骗攻击的两项预防措施是将边缘端口设置为静态访问模式并禁用所有端口上的自动协商。
双重标记
在这种攻击中,连接到交换机的本机 VLAN 端口的攻击者在帧头中添加了两个 VLAN 标记。第一个标记是本机 VLAN,第二个是目标 VLAN。当第一个交换机收到攻击者的帧时,它会删除第一个标记,因为本机 VLAN 的帧在中继端口上转发时没有标记。
由于第一个交换机从未删除第二个标记,接收交换机将剩余的标记识别为 VLAN 目的地,并将帧转发到该 VLAN 中的目标主机。双重标记攻击利用了本机 VLAN 的概念。由于 VLAN 1 是接入端口的默认 VLAN,也是中继上的默认本机 VLAN,因此它很容易成为攻击目标。
第一个预防措施是从默认 VLAN 1 中删除所有接入端口,因为攻击者的端口必须与交换机的本机 VLAN 相匹配。第二个预防措施是将所有交换机中继上的本机 VLAN 分配给某个未使用的 VLAN,例如 VLAN id 999。最后,所有交换机都应配置为在中继端口上对本机 VLAN 帧进行显式标记。
保护无线局域网
无线局域网是有限地理区域内的无线节点网络,例如办公楼或校园。节点能够进行无线电通信。
无线局域网
无线局域网通常作为现有有线局域网的扩展来实现,以提供具有设备移动性的网络访问。最广泛实施的无线局域网技术基于 IEEE 802.11 标准及其修订版。
无线局域网中的两个主要组件是 −
接入点 (AP) − 这些是无线网络的基站。它们发送和接收无线电频率以与无线客户端通信。
无线客户端 − 这些是配备无线网络接口卡 (WNIC) 的计算设备。笔记本电脑、IP 电话、PDA 是无线客户端的典型示例。
许多组织已经实施了无线局域网。这些网络正在以惊人的速度增长。因此,了解无线局域网中的威胁并学习常见的预防措施以确保网络安全至关重要。
无线局域网中的攻击
对无线局域网进行的典型攻击是 −
窃听 − 攻击者被动监视无线网络中的数据,包括身份验证凭据。
伪装 − 攻击者冒充授权用户并获得无线网络的访问权限和特权。
流量分析 − 攻击者监视通过无线网络的传输以识别通信模式和参与者。
拒绝服务 −攻击者阻止或限制无线局域网或网络设备的正常使用或管理。
消息修改/重放 − 攻击者通过删除、添加、更改或重新排序来更改或回复通过无线网络发送的合法消息。
无线局域网中的安全措施
安全措施提供了击败攻击和管理网络风险的手段。这些是网络管理、操作和技术措施。我们在下面描述了为确保通过无线局域网传输的数据的机密性、可用性和完整性而采取的技术措施。
在无线局域网中,应配置所有 AP 以通过加密和客户端身份验证提供安全性。无线局域网中用于提供安全性的方案类型如下 −
有线等效保密 (WEP)
它是内置于 802.11 标准中用于保护无线网络的加密算法。WEP 加密使用 RC4 (Rivest Cipher 4) 流密码,具有 40 位/104 位密钥和 24 位初始化向量。它还可以提供端点身份验证。
然而,它是最弱的加密安全机制,因为在 WEP 加密中发现了许多缺陷。WEP 也没有身份验证协议。因此,不建议使用 WEP。
802.11i 协议
在此协议中,可以实现多种更强大的加密形式。它已被开发来取代弱 WEP 方案。它提供密钥分发机制。它支持每个站点一个密钥,并且不会对所有站点使用相同的密钥。它使用与接入点分开的身份验证服务器。
IEEE802.11i 要求使用名为计数器模式和 CBC-MAC 协议 (CCMP) 的协议。CCMP 提供传输数据的机密性和完整性以及发送方的真实性。它基于高级加密标准 (AES) 分组密码。
IEEE802.11i 协议有四个操作阶段。
STA 和 AP 通信并发现相互的安全功能,例如支持的算法。
STA 和 AS 相互验证并共同生成主密钥 (MK)。AP 充当"直通"。
STA 派生成对主密钥 (PMK)。AS 派生相同的 PMK 并发送给 AP。
STA、AP 使用 PMK 派生临时密钥 (TK),用于消息加密和数据完整性。
其他标准
Wi-Fi 保护访问 (WPA) −该协议实现了 IEEE 802.11i 标准的大部分内容。它在 IEEE 802.11i 之前就已存在,并使用 RC4 算法进行加密。它有两种操作模式。在"企业"模式下,WPA 使用身份验证协议 802.1x 与身份验证服务器通信,因此预主密钥 (PMK) 特定于客户端站。在"个人"模式下,它不使用 802.1x,PMK 被预共享密钥取代,就像用于小型办公室家庭办公室 (SOHO) 无线局域网环境一样。
WPA 还包括一个可靠的消息完整性检查,取代了 WEP 标准使用的循环冗余校验 (CRC)。
WPA2 − WPA2 取代了 WPA。WPA2 实现了 IEEE 802.11i 方案的所有强制性元素。特别是,它包括对 CCMP 的强制支持,CCMP 是一种基于 AES 的强安全性加密模式。因此,就攻击而言,WPA2 / IEEE802.11i 提供了足够的解决方案来防御 WEP 弱点、中间人攻击、伪造数据包和重放攻击。但是,DoS 攻击没有得到妥善处理,也没有可靠的协议来阻止此类攻击,主要是因为此类攻击以物理层为目标,例如干扰频带。
摘要
在本章中,我们考虑了假设交换以太网网络运行 IP 的攻击和缓解技术。如果您的网络不使用以太网作为第 2 层协议,其中一些攻击可能不适用,但这种网络很可能容易受到不同类型的攻击。</p>
安全性只与最薄弱的环节一样强大。当谈到网络时,第 2 层可能是一个非常薄弱的环节。本章提到的第 2 层安全措施对于保护网络免受多种类型的攻击大有帮助。