防范 MD5 碰撞攻击以强化 RADIUS (BlastRADIUS)
缓解 CVE-2024-3596 BlastRADIUS 攻击。强制执行 RADIUS Message-Authenticator,修补 FreeRADIUS 与 Cisco ISE,并迁移至 802.1X EAP-TLS。
Video overview
收听本指南
查看播客转录
核心系列的一部分:Enterprise WiFi 安全指南 →
- 执行摘要
- MD5 碰撞攻击的技术机制(CVE-2024-3596)
- RFC 2865 中的密码学缺陷
- 逐步缓解路线图
- 步骤 1:强制执行 Message-Authenticator (RFC 2869)
- 安全矩阵对比:RADIUS 加固选项
- 过渡到 RADSEC (RFC 6614) & EAP-TLS
- Purple Cloud RADIUS 的核心架构优势
- 企业合规性与审计影响
- PCI-DSS v4.0 要求
- ISO 27001 & GDPR 一致性
- 使用 Purple 评估您的 RADIUS 安全态势
- 常见问题解答
- EAP-TLS 是否容易受到 BlastRADIUS 的攻击?
- Message-Authenticator (RFC 2869) 如何防御 CVE-2024-3596?
- UDP RADIUS 与 RADSEC (RFC 6614) 之间有什么区别?
- 网络团队如何审计旧版接入点对 Message-Authenticator 的支持情况?
- 后续步骤与相关资源
Cloud RADIUS vs On-Premise TCO & Architecture Calculator
Select your network profile below to evaluate TCO, maintenance overhead, and optimal RADIUS deployment architecture for enterprise 802.1X security.
Cloud RADIUS (Zero On-Prem Footprint)
Key Architectural Takeaway: Managing individual RADIUS servers per branch causes massive maintenance overhead and certificate sync drift. Cloud RADIUS provides centralized 802.1X policy across all locations.

执行摘要
远程用户拨号认证服务(RADIUS)协议定义于 IETF RFC 2865,三十多年来一直作为企业网络的核心认证框架。然而,CVE-2024-3596(被称为 BlastRADIUS)的披露,暴露了 RADIUS 处理基于 MD5 的响应验证器(Response Authenticator)字段时的关键协议漏洞。
通过利用 MD5 选择前缀碰撞技术,位于 RADIUS 客户端(例如无线接入点或交换机)与 RADIUS 服务器之间网络路径上的中间人(MitM)攻击者可以伪造认证批准。攻击者无需拥有用户凭据或知晓 RADIUS 共享密钥,即可实时将合法的 Access-Reject 数据包转换为 Access-Accept 数据包。
本技术指南概述了 BlastRADIUS 攻击的密码学机制,详细介绍了通过强制执行 Message-Authenticator 进行的即时厂商缓解策略,并为将 WiFi 基础设施迁移到零信任 EAP-TLS 和 Purple Cloud RADIUS 提供了企业路线图。
MD5 碰撞攻击的技术机制(CVE-2024-3596)
理解 BlastRADIUS 需要检查 RFC 2865 下建立的 RADIUS 数据包头结构:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Request Authenticator |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Attributes...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
RFC 2865 中的密码学缺陷
当 RADIUS 服务器响应 Access-Request 时,它会针对响应代码、标识符、长度、请求验证器、属性和共享密钥计算 MD5 哈希:
Response Authenticator = MD5(Code + ID + Length + Request Authenticator + Attributes + Shared Secret)
由于 MD5 容易受到选择前缀碰撞的影响,攻击者可执行以下步骤:
- 拦截 Access-Request: 拦截由接入点发送的合法 Access-Request。
- 注入碰撞前缀: 在将请求数据包转发到 RADIUS 服务器之前,向其中插入精心设计的 Proxy-State 属性。
- **拦截 Access-Reject:**当 RADIUS 服务器拒绝认证尝试并返回 Access-Reject 时,攻击者会拦截该数据包。
- **伪造 Access-Accept:**攻击者将响应代码修改为 Access-Accept 并篡改属性载荷。由于预先计算的碰撞前缀会产生相同的 MD5 输出摘要,接入点会将伪造的 Access-Accept 验证为真实可信。
逐步缓解路线图
步骤 1:强制执行 Message-Authenticator (RFC 2869)
Message-Authenticator 属性(属性 80)使用 HMAC-MD5 来计算整个 RADIUS 数据包(包括报头字段和载荷属性)的数字签名:
Message-Authenticator = HMAC-MD5(RADIUS Packet, Shared Secret)
由于 HMAC-MD5 能够抵御选择前缀碰撞攻击,因此在所有客户端请求和服务器响应上强制执行属性 80 可以使 BlastRADIUS 漏洞利用变得完全不可能。
厂商实现命令
| RADIUS 厂商 | 配置命令 / 操作 | 支持的最低版本 |
|---|---|---|
| FreeRADIUS | 在 clients.conf 中将 require_message_authenticator 设置为 yes |
v3.0.27 / v3.2.5 |
| Cisco ISE | 启用 Require Message-Authenticator for all RADIUS Requests |
v3.1 Patch 8 / v3.2 Patch 4 |
| Aruba ClearPass | 在 RADIUS 服务中切换 Enforce Message-Authenticator |
v6.11.7 / v6.12.2 |
| Microsoft NPS | 应用注册表 DWORD RequireMessageAuthenticator 值为 1 |
Windows Server 2019/2022 KB5040442 |
| Ruckus SmartZone | 在 AAA 服务器下启用 Message-Authenticator Enforcement |
v6.1.2 Patch 1 |
# FreeRADIUS clients.conf 加固片段
# 确保客户端块中将 require_message_authenticator 设置为 yes
client branch_ap_cluster {
ipaddr_range: 192.168.10.0/24
secret_key: EnterpriseSecret2026!
require_message_authenticator_option: yes
limit_connections: 16
idle_timeout_sec: 30
}
# 通过 PowerShell 加固 Microsoft NPS 注册表
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\RemoteAccess\Policy" `
-Name "RequireMessageAuthenticator" -Value 1 -PropertyType DWORD -Force
Restart-Service IAS
对您的具体配置有疑问吗?
我们的团队与 80,000 多个场所的运营方、IT 经理和网络工程师保持合作。预约 20 分钟的通话,我们将为您展示同行是如何解决类似问题的。
安全矩阵对比:RADIUS 加固选项
| 加固措施 | 漏洞防护 | 部署工作量 | 客户端兼容性 | 业务影响 |
|---|---|---|---|---|
| Message-Authenticator (RFC 2869) | 阻断 CVE-2024-3596 | 低(仅需修改配置) | 兼容现代 AP | 极短停机时间 |
| RADSEC (RFC 6614) | 完整广域网 TLS 1.3 加密 | 中(需要代理部署) | 需要支持 TCP 2083 | 彻底消除 MitM 中间人风险 |
| 802.1X EAP-TLS 迁移 | 零信任双向证书认证 | 中至高(需要 PKI / SCEP) | 支持所有企业级操作系统 | 彻底摆脱密码 |
| Purple Cloud RADIUS | 端到端云端 RADIUS + RADSEC | 低(开箱即用的云端集成) | 通用 802.1X 支持 | 自动化证书生命周期管理 |
过渡到 RADSEC (RFC 6614) & EAP-TLS
传统的 RADIUS 在未加密的 UDP 端口 1812 和 1813 上运行。在不可信的 WAN 链路上传输身份验证流量会使数据包头暴露于主动拦截风险之中。
部署 RADSEC (RADIUS over TLS) 将 RADIUS 数据包封装在加密的 TCP TLS 1.3 隧道中:
- 端口: TCP 2083
- 加密: 采用 AES-256-GCM 密码套件的 TLS 1.3
- 身份验证: 客户端代理与服务器端点之间的双向 X.509 证书验证
flowchart LR
A["无线端点 (笔记本电脑/IoT)"] -->|WPA3-Enterprise 802.1X| B["接入点 / 交换机"]
B -->|RADSEC TLS 1.3 端口 2083| C["Purple Cloud RADIUS"]
C -->|REST / SCIM API| D["云 IdP (Entra ID / Okta / Google)"]
Purple Cloud RADIUS 的核心架构优势
- 免配置 802.1X 证书导入: 自动为托管设备分发 SCEP 和 EST 证书,消除手动的密码配置。
- 内置 RADSEC 代理架构: 通过加密的 TCP 连接保护远程分支机构的流量,无需复杂的站点到站点 IPsec 隧道。
- 全面的访客与企业安全: 将企业级 802.1X 身份验证与符合 GDPR 合规要求的 Captive Portal 访客导入相结合。
企业合规性与审计影响
PCI-DSS v4.0 要求
在 PCI-DSS v4.0 标准下,未修复的 RADIUS 基础架构会使支付卡环境面临严重的审计不合规风险:
- 要求 8.3: 强制对所有管理访问实施多因素身份验证和强凭据管理。
- 要求 8.6: 禁止依赖弱加密算法(例如无密钥的 MD5 摘要)。
- 要求 1.3: 要求在访客、IoT 和持卡人数据环境 (CDE) 之间实施严格的网络隔离。
ISO 27001 & GDPR 一致性
维持未加密或易受攻击的 RADIUS 身份验证违反了 ISO 27001:2022 控制项 A.8.20(网络安全)和 GDPR 第 32 条(处理的安全性)。升级到 EAP-TLS 和 RADSEC 可确立已记录的文件化加密合规性。
使用 Purple 评估您的 RADIUS 安全态势
您的企业 WiFi 基础架构是否容易受到 BlastRADIUS (CVE-2024-3596) 的攻击?Purple 提供零信任云 RADIUS 解决方案,内置 RADSEC 加密、自动化的 SCEP 证书配置以及与身份提供商的无缝集成。
- 自动化的 802.1X EAP-TLS 导入: 在企业端点中消除传统密码。
- 即开即用的 RADSEC 云代理: 通过 TLS 1.3 加密分支机构身份验证流量,无需 VPN 开销。
- 统一的安全与分析: 在管理企业 802.1X 安全的同时,管理符合 GDPR 合规要求的访客 WiFi。
常见问题解答
EAP-TLS 是否容易受到 BlastRADIUS 的攻击?
不。EAP-TLS、PEAP 和 EAP-TTLS 在客户端设备与 RADIUS 服务器之间建立独立的 TLS 隧道。此加密隧道独立于旧版 RADIUS Response Authenticator MD5 摘要运行,使 EAP 身份验证免受 CVE-2024-3596 的影响。
Message-Authenticator (RFC 2869) 如何防御 CVE-2024-3596?
Message-Authenticator(属性 80)使用 HMAC-MD5 并利用共享密钥对整个 RADIUS 数据包进行签名。与标准的 MD5 Response Authenticator 不同,HMAC-MD5 在密码学上能够抵御选择前缀冲突攻击,从而使数据包伪造变得不可能。
UDP RADIUS 与 RADSEC (RFC 6614) 之间有什么区别?
标准的 RADIUS 在未加密的 UDP 端口 1812 和 1813 上以明文形式传输身份验证数据包。RADSEC 则将 RADIUS 数据包封装在端口 2083 上的加密 TLS 1.3 TCP 流中,在不可信的网络上提供双向 X.509 证书身份验证和完全的保密性。
网络团队如何审计旧版接入点对 Message-Authenticator 的支持情况?
网络团队应使用 tcpdump -i eth0 -n port 1812 捕获传入的 RADIUS 流量,并过滤 radius.Message_Authenticator。确认所有接入点型号中都存在属性 80,可确保服务器端强制执行不会中断客户端连接。
后续步骤与相关资源
要了解相关的企业级 WiFi 安全架构和诊断指南,请查看以下资源:
关键定义
BlastRADIUS (CVE-2024-3596)
RADIUS (RFC 2865) 中一个关键的协议级漏洞,使攻击者能够利用 MD5 选择前缀碰撞技术伪造身份验证响应。
于 2024 年 7 月披露,影响在 UDP 上运行未加密 RADIUS 身份验证的企业网络基础设施。
Message-Authenticator (属性 80)
RFC 2869 中定义的一种 RADIUS 报头属性,它使用 HMAC-MD5 对整个 RADIUS 数据包计算数字签名。
强制执行属性 80 可阻断 BlastRADIUS 攻击,因为 HMAC-MD5 在密码学上对选择前缀碰撞操作免疫。
Response Authenticator
RFC 2865 RADIUS 数据包报头中的一个 16 字节字段,通过对请求验证码、属性和共享密钥进行 MD5 摘要计算得出。
接收端接入点依靠此摘要来验证数据包的真实性,而 BlastRADIUS 正是利用了这一点。
RADSEC (RADIUS over TLS)
一项 RFC 6614 标准,将 RADIUS 身份验证数据包封装在端口 2083 上的加密 TLS 1.3 TCP 流中。
防止在接入点与 RADIUS 服务器之间不受信任的 WAN 链路上发生中间人数据包拦截。
EAP-TLS
可扩展身份验证协议 - 传输层安全。一种使用 X.509 数字证书的 IEEE 802.1X 双向身份验证标准。
NIST 和 ISO 27001 框架推荐其作为传统 PAP/CHAP RADIUS 身份验证的主要替代方案。
应用实例
网络管理员在 RADIUS 服务器上启用强制执行之前,如何验证现有的无线接入点和交换机是否强制执行 Message-Authenticator?
要在不中断生产环境 WiFi 接入的情况下审计 Message-Authenticator 兼容性:
- 数据包捕获审计:在 RADIUS 服务器接口(UDP 端口 1812)上运行 Wireshark 或
tcpdump以捕获传入的Access-Request数据包:tcpdump -i eth0 -n port 1812 -w radius_audit.pcap。 - 属性过滤器检查:通过
radius.Message_Authenticator过滤捕获的数据包。确认所有客户端硬件类型(接入点、交换机、无线控制器)在初始请求中都包含属性 80。 - 厂商策略测试:在对生产环境 FreeRADIUS、Cisco ISE 或 Microsoft NPS 服务器应用全局强制执行之前,先在单个测试 RADIUS 客户端配置文件上启用 Message-Authenticator 要求。
多场所场地运营商如何在规划零信任 EAP-TLS 迁移的同时,升级传统的 FreeRADIUS 安装以阻断 BlastRADIUS?
两阶段缓解计划可维护网络业务连续性:
- 第一阶段(立即强化):将 FreeRADIUS 更新至 3.0.27 或 3.2.5 版本。编辑
clients.conf将require_message_authenticator = yes,并更新radiusd.conf以拒绝未经验证的数据包。 - 第二阶段(架构升级):在分支机构接入点上部署 RADSEC 代理,将 RADIUS 流量封装在 TLS 1.3 隧道(TCP 端口 2083)中,并将 Purple Cloud RADIUS 与企业设备的自动化 SCEP 注册相结合。
练习题
Q1. 为什么 MD5 选择前缀碰撞允许攻击者在不知道共享密钥的情况下绕过 RADIUS 身份验证?
提示:重点关注无线接入点如何验证 MD5 Response Authenticator 摘要。
查看标准答案
在 RFC 2865 RADIUS 中,Access-Reject 和 Access-Accept 数据包摘要依赖于数据包内容与共享密钥组合的 MD5 哈希。具有中间人访问权限的攻击者在转发 Access-Request 之前,向代理状态属性中插入碰撞前缀。当服务器返回 Access-Reject 时,攻击者将数据包代码篡改为 Access-Accept。由于 MD5 选择前缀碰撞会对不同的输入产生相同的哈希输出摘要,接入点在完全不知道共享密钥的情况下,就会将伪造的 Access-Accept 验证为真实可信的。
Q2. 哪些 RADIUS 认证方法容易受到 BlastRADIUS 的攻击,哪些方法在密码学上是免疫的?
提示:区分通过 UDP 传输的传统 PAP/CHAP 与封装在 TLS 中的 EAP 协议。
查看标准答案
依赖 UDP 传输 PAP、CHAP 和 MS-CHAP 的 RADIUS 认证模式是脆弱的,因为它们直接依赖 MD5 响应验证器(Response Authenticator)进行验证。EAP-TLS、PEAP 和 EAP-TTLS 对 BlastRADIUS 免疫,因为 EAP 在客户端与服务器之间建立了独立的加密 TLS 会话,绕过了对传统 RADIUS 响应验证器摘要进行身份验证的依赖。
继续阅读本系列
网络管理员配置访客 WiFi RADIUS 认证指南
面向网络管理员的全面技术参考,介绍如何为访客 WiFi 部署 RADIUS 认证。内容涵盖架构、不限厂商的配置步骤、安全最佳实践以及常见部署故障排查。
为访客和员工 WiFi 网络配置 RADIUS 认证
本技术参考指南概述了企业访客和员工 WiFi 网络的 RADIUS 认证架构、配置和部署。它为网络架构师和 IT 经理提供了构建安全、可扩展的无线访问控制系统所需的准确协议、安全标准和故障排除方法。
Passpoint and OpenRoaming: 完整指南
本技术参考指南对企业 WiFi 网络中的 Passpoint (Hotspot 2.0) 和 WBA OpenRoaming 框架进行了全面分析。它详细介绍了建立安全、无摩擦访客连接所需的底层身份验证协议、架构组件和部署策略。网络架构师和 IT 负责人将学习如何设计、实施这些标准并对其进行故障排除,从而在保持企业级安全性的同时消除手动登录障碍。
对您的具体配置有疑问吗?
我们的团队与 80,000 多个场所的运营方、IT 经理和网络工程师保持合作。预约 20 分钟的通话,我们将为您展示同行是如何解决类似问题的。