网络安全——数据链路层


我们看到,互联网的快速发展引起了人们对网络安全的严重关注。已经开发了多种方法来提供网络的应用层、传输层或网络层的安全性。

许多组织在更高的 OSI 层(从应用层一直到 IP 层)纳入安全措施。然而,一个通常无人关注的领域是数据链路层的强化。这可能会使网络遭受各种攻击和危害。

在本章中,我们将讨论数据链路层的安全问题以及应对方法。我们的讨论将集中在以太网。

数据链路层的安全问题

以太网中的数据链路层很容易受到多种攻击。最常见的攻击是 -

ARP欺骗

地址解析协议 (ARP) 是一种用于将 IP 地址映射到本地以太网中可识别的物理机地址的协议。当主机需要查找 IP 地址的物理媒体访问控制 (MAC) 地址时,它会广播 ARP 请求。拥有该 IP 地址的另一台主机会发送带有其物理地址的 ARP 回复消息。

网络上的每台主机都维护一个表,称为“ARP 缓存”。该表保存网络上其他主机的 IP 地址和关联的 MAC 地址。

由于 ARP 是无状态协议,每次主机从另一台主机收到 ARP 回复时,即使它没有发送 ARP 请求,它也会接受该 ARP 条目并更新其 ARP 缓存。使用伪造的条目修改目标主机的 ARP 缓存的过程,称为 ARP 中毒或 ARP 欺骗。

ARP 欺骗可能允许攻击者伪装成合法主机,然后拦截网络上的数据帧、修改或阻止它们。该攻击通常用于发起其他攻击,例如中间人、会话劫持或拒绝服务。

ARP欺骗

MAC洪泛

以太网中的每个交换机都有一个内容可寻址存储器 (CAM) 表,用于存储 MAC 地址、交换机端口号和其他信息。桌子有固定的大小。在 MAC 洪泛攻击中,攻击者使用伪造的 ARP 数据包向交换机注入 MAC 地址,直到 CAM 表已满。

一旦 CAM 被淹没,交换机就会进入集线器模式并开始广播没有 CAM 条目的流量。位于同一网络上的攻击者现在收到仅发往特定主机的所有帧。

端口窃取

以太网交换机能够学习 MAC 地址并将其绑定到端口。当交换机从具有 MAC 源地址的端口接收流量时,它会绑定端口号和该 MAC 地址。

端口窃取攻击利用了交换机的这种能力。攻击者用目标主机的 MAC 地址作为源地址的伪造 ARP 帧淹没交换机。交换机被愚弄,认为目标主机位于实际连接攻击者的端口上。

现在,所有发往目标主机的数据帧都被发送到攻击者的交换机端口,而不是目标主机。因此,攻击者现在收到了实际上仅发往目标主机的所有帧。

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 地址计数限制为 1。但是,可以通过配置允许多个授权主机从该端口进行连接。每个接口允许的 MAC 地址可以静态配置。一种方便的替代方法是启用“粘性”MAC 地址学习,其中交换机端口将动态学习 MAC 地址,直到达到端口的最大限制。

为了确保安全,可以通过多种不同的方式来控制对端口上指定 MAC 地址或端口上多余地址的变化的反应。端口可以​​配置为关闭或阻止超过指定限制的 MAC 地址。建议的最佳做法是关闭端口。端口安全可防止 MAC 泛洪和克隆攻击。

DHCP侦听

我们已经看到,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 地址的数值略低,这确保了其在根桥选举过程中的胜利。攻击者交换机可以通过以下两种方式发起 DoS 攻击:未正确确认其他交换机导致 BPDU 泛洪;或者通过一次性声明为 root 并快速连续撤回,使交换机遭受过度处理 BPDUS。

  • 使用配置 BPDU 洪泛的 DoS。攻击交换机不会尝试以 root 身份接管。相反,它每秒生成大量 BPDU,导致交换机上的 CPU 利用率非常高。

防止STP攻击

幸运的是,针对根接管攻击的对策非常简单明了。有两个功能有助于击败根接管攻击。

  • 根防护- 根防护限制可以协商根桥的交换机端口。如果“启用根保护”端口接收到的 BPDU 优于当前根桥发送的 BPDU,则该端口将转至根不一致状态,并且不会通过该端口转发任何数据流量。根防护最好部署到连接到交换机的端口,这些交换机预计不会接管根桥。

  • BPDU-Guard - BPDU 保护用于保护网络免受接入端口接收 BPDU 可能导致的问题。这些是不应接收它们的端口。BPDU 防护最好部署在面向用户的端口,以防止攻击者插入恶意交换机。

确保虚拟 LAN 的安全

在本地网络中,虚拟局域网 (VLAN) 有时被配置为一种安全措施,以限制易受第 2 层攻击的主机数量。VLAN 创建网络边界,广播(ARP、DHCP)流量无法跨越该边界。

虚拟局域网

采用支持 VLAN 功能的交换机的网络可以配置为在单个物理 LAN 基础设施上定义多个 VLAN。

虚拟局域网

VLAN的常见形式是基于端口的VLAN。在此 VLAN 结构中,使用交换机管理软件将交换机端口分组为 VLAN。因此,单个物理交换机可以充当多个虚拟交换机。

VLAN 的使用提供了流量隔离。它将大型广播二层网络划分为较小的逻辑二层网络,从而减少ARP/DHCP Spoofing等攻击的范围。一个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 帧进行显式标记。

确保无线局域网的安全

无线局域网是有限地理区域内的无线节点网络,例如办公楼或校园。节点能够进行无线电通信。

无线网络

无线局域网通常作为现有有线局域网的扩展来实现,以提供具有设备移动性的网络访问。最广泛实施的无线 LAN 技术基于 IEEE 802.11 标准及其修订版。

无线局域网的两个主要组件是 -

  • 接入点 (AP) - 这些是无线网络的基站。它们发送和接收无线电频率以与无线客户端进行通信。

  • 无线客户端- 这些是配备无线网络接口卡(WNIC)的计算设备。笔记本电脑、IP 电话、PDA 是无线客户端的典型示例。

无线网络

许多组织已经实施了无线局域网。这些网络正在以惊人的速度增长。因此,了解无线局域网中的威胁并了解常见的预防措施以确保网络安全至关重要。

无线局域网中的攻击

在无线局域网上进行的典型攻击是 -

  • 窃听- 攻击者被动监视无线网络的数据,包括身份验证凭据。

  • 伪装- 攻击者冒充授权用户并获得无线网络的访问权限和特权。

  • 流量分析- 攻击者通过无线网络监视传输以识别通信模式和参与者。

  • 拒绝服务- 攻击者阻止或限制无线 LAN 或网络设备的正常使用或管理。

  • 消息修改/重播- 攻击者通过删除、添加、更改或重新排序来更改或回复通过无线网络发送的合法消息。

无线局域网的安全措施

安全措施提供了抵御攻击和管理网络风险的方法。这些是网络管理、运营和技术措施。下面我们描述了为确保通过无线局域网传输的数据的机密性、可用性和完整性而采取的技术措施。

在无线 LAN 中,所有 AP 都应配置为通过加密和客户端身份验证提供安全性。无线局域网中用于提供安全性的方案类型如下:

有线等效保密 (WEP)

它是内置于 802.11 标准中的加密算法,用于保护无线网络。WEP 加密使用 RC4 (Rivest Cipher 4) 流密码,具有 40 位/104 位密钥和 24 位初始化向量。它还可以提供端点身份验证。

然而,它是最弱的加密安全机制,因为 WEP 加密中已发现许多缺陷。WEP 也没有身份验证协议。因此,不强烈建议使用 WEP。

802.11i协议

在该协议中,多种更强大的加密形式是可能的。它的开发是为了取代较弱的 WEP 方案。它提供密钥分发机制。它支持每个站使用一个密钥,并且不会为所有站使用相同的密钥。它使用与接入点分开的身份验证服务器。

IEEE802.11i 强制使用名为 Counter 模式的协议和 CBC-MAC 协议 (CCMP)。CCMP 提供传输数据的机密性和完整性以及发送者的真实性。它基于高级加密标准 (AES) 块密码。

IEEE802.11i 协议有四个操作阶段。

802.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) 无线 LAN 环境中所使用的那样。

    WPA 还包括健全的消息完整性检查,取代了 WEP 标准使用的循环冗余检查 (CRC)。

  • WPA2 - WPA2 取代了 WPA。WPA2 实现了 IEEE 802.11i 方案的所有强制元素。特别是强制支持基于AES的加密模式CCMP,安全性强。因此,就攻击而言,WPA2/IEEE802.11i提供了足够的解决方案来防御WEP弱点、中间人攻击、伪造数据包伪造和重放攻击。然而,DoS 攻击没有得到妥善解决,也没有可靠的协议来阻止此类攻击,基本上是因为此类攻击针对物理层,例如干扰频段。

概括

在本章中,我们假设运行 IP 的交换以太网网络考虑了攻击和缓解技术。如果您的网络不使用以太网作为第 2 层协议,则其中一些攻击可能不适用,但此类网络很可能容易受到不同类型的攻击。

安全性的强度取决于最薄弱的环节。在网络方面,第 2 层可能是一个非常薄弱的​​环节。本章提到的第 2 层安全措施对于保护网络免受多种类型的攻击大有帮助。