5G NR攻击和5G OTA模糊测试

admin 2024年7月2日15:25:54评论4 views字数 21323阅读71分4秒阅读模式

5G NR攻击和5G OTA模糊测试

更新

* 2024 年 5 月 17 日:我们披露了另外两个联发科漏洞:CVE-2024-20003(高危)和 CVE-2024-20004(中危)。更多详细信息请参阅第 7.11和7.12节。

* 2023 年 12 月 29 日:经过联发科的额外严重性评估审查,三个漏洞的严重性等级已从“中等”提升至“高”。(CVE-2023-32842、CVE-2023-32841 和 CVE-2023-32843)。

* 2023 年 12 月 15 日:我们估计受影响智能手机的研究考虑了采用易受攻击的 5G 调制解调器的手机型号。但是,某些手机可能无法启用 5G 功能。我们进行了进一步分析,以估计同时提供 5G 功能的智能手机数量,并修改了研究结果(见第 4节)。

* 2023 年 12 月 7 日:截至今日,我们共披露了 14 个漏洞(10 个 CVE),其中 10 个影响采用 Qualcomm和MediaTek 5G 调制解调器的商用现货 (COTS) 边缘设备。由于保密性,至少还有两个漏洞尚未披露。随着我们的实验进展和禁令解除,此页面将继续更新。有关每个披露漏洞的更多详细信息,请参阅第 7节。欢迎通过 [email protected]与我们联系。

* 2023 年 12 月 4 日:在负责任的披露期之后,联发科 12 月安全公告包含所有受 5Ghoul  漏洞 影响的联发科芯片组的详细信息 [ 10 ] 。同样,所有受5Ghoul漏洞影响的高通芯片组  均在高通 12 月安全公告中详细说明  [ 13 ]。

概括

在本漏洞披露报告中,我们讨论了 5Ghoul  系列实施级 5G 漏洞的详细信息。此类漏洞系列存在于主要芯片组供应商(如高通和联发科)的 5G 移动网络调制解调器的固件实施中。因此,许多支持 5G 的商业产品(如智能手机、客户端设备 (CPE) 路由器和 USB 调制解调器)都可能因在这些产品中使用存在漏洞的 5G 调制解调器而受到影响。总共,我们发现了 12 个 新漏洞(共 14 个),其中 10 个影响 高通和联发科的 5G 调制解调器。更重要的是, 这十个漏洞中有六个被确认具有高严重性。我们还编写了一个抓取工具,将精心设计的查询发送到 https://www.kimovil.com/en/,并估计受这些漏洞影响的智能手机型号数量。我们发现目前市场上有超过 710 种智能手机型号 采用了存在漏洞的调制解调器。进一步考虑这些采用 易受攻击的芯片组的手机的 5G 功能 ,我们发现有超过626 款手机型号 受到 影响。我们强调,受影响型号的实际数量可能更多,因为固件代码通常在不同的调制解调器版本之间共享。在本披露报告中,我们还 展示了如何利用 5Ghoul 漏洞断开和冻结智能手机和 CPE路由器上的 5G 连接。我们还展示了跨多部智能手机的降级攻击,导致 5G 连接降级为4G。 

1 介绍

5G NR攻击和5G OTA模糊测试

图 1:合法(即良性)gNB 和 UE(例如 5G 智能手机)之间的 5G 独立 (SA) 连接过程说明。

移动通信在我们的日常生活中不可或缺,而 5G 网络的出现为物联网 (IoT)、虚拟现实以及医疗和自动化行业等关键领域的低延迟通信带来了许多新机遇。然而,5G 网络中的潜在漏洞可能会破坏对其安全性的信任,因此需要在部署之前对 5G 协议栈进行全面验证。在此背景下,5Ghoul  展示了旗舰 5G 调制解调器中存在的实施级漏洞,从而凸显了对专门用于测试 5G 设备稳健性的工具和技术的需求。此外,5Ghoul  精确定位了最早的协议解码和处理的安全漏洞,进一步强调了验证早期 5G 通信安全性至数据链路协议(OSI 第 2 层)的必要性。
下面,我们简要概述了 5G 系统的架构和 5G 通信所涉及的程序。这是为本披露报告提供必要的背景知识。首先,5G 蜂窝网络架构由三个关键组件组成:gNodeB (gNB)、用户设备 (UE) 和核心网络。gNB 也称为传统蜂窝网络中的基站。它充当 UE 和 5G 核心网络之间无线通信的接入点。UE 指的是通过 gNB 连接到 5G 网络的最终用户设备,例如智能手机和平板电脑(通常是任何支持 5G 的设备)。最后,核心网络通过提供控制和管理功能(包括身份验证、安全性、移动性管理、会话建立和网络实体之间的数据路由)充当 5G 架构的骨干。
图 1说明了 5G UE 设备(例如智能手机)与合法 gNB 之间的清晰连接过程。涉及来自网络层(OSI 第 3 层)和数据链路层(OSI 第 2 层)的多种协议,包括无线资源控制 (RRC)、非接入层 (NAS)、介质访问控制 (MAC)、分组数据汇聚协议 (PDCP) 和无线链路控制 (RLC),以确保成功且安全地建立连接。
目前披露的5Ghoul  漏洞的一个显著特点是,它们都可以被攻击者相当容易地利用,因为不需要 有关受害者 SIM 卡的信息。这是因为5Ghoul漏洞甚至可以在任何 NAS 身份验证过程完成之前被利用来发起攻击。利用5Ghoul漏洞  的攻击将在第 4  节中说明 。我们将在第5节中讨论5Ghoul PoC的可用性  以及必要的工具 。

为什么是5Ghoul  ?

代号5Ghoul  是两个词的组合:(i) 5G 和(ii) Ghoul。虽然我们的工作与 5G 的联系很明显,但Ghoul这个词源自阿拉伯神话 ( https://www.britannica.com/topic/ghoul )。在民间传说中, Ghoul是一种像恶魔一样的生物,它试图分散旅行者的注意力,一旦成功分散了旅行者的注意力,恶魔就会捕食他们。同样,5Ghoul  漏洞在被利用时会试图分散 UE(即智能手机和其他支持 5G 的设备)的注意力,使其连接到5Ghoul  创建的恶意基站 (gNB)。一旦连接,5Ghoul  漏洞可能会被利用来持续发起攻击,以断开连接、冻结需要手动重启的连接或将 5G 连接降级为 4G。

2 攻击场景概述

5G NR攻击和5G OTA模糊测试

图 2:5Ghoul攻击过程概述  。一旦目标连接到恶意基站 (gNB),攻击者只需启动漏洞利用脚本,如命令提示符中所示,其中包含移动国家代码 ( MCC ) 和移动网络代码 ( MNC )。

如图2 所示 ,5Ghoul  使用的攻击者模型模拟了有限的Dolev-Yao 对手  [ 8、6、5 ]。这是通过暴露一个对手控制的 下行链路信道来实现 的,该信道可以任意注入和/或修改基于 OpenAirInterface  [ 11 ] (gNB) 和 Open5GS   [ 1 ] (  5G 核心网络)的实际 5G 堆栈实现生成的 5G NR 下行链路数据 包。
更重要的是,攻击者不需要知道 目标 UE 的任何秘密信息(例如 SIM 卡详细信息),就 可以开始 NAS 网络注册。攻击者只需要使用已知的 蜂窝塔连接参数(例如 SSB ARFCN、跟踪区域代码、物理小区 ID、点 A 频率)模仿合法 gNB 。这可以使用免费应用程序(如 Cellular-Pro )轻松实现。一旦攻击者足够接近目标 UE,并且敌对 gNB 的接收信号强度指示器(RSSI) 高于合法 gNB,目标 UE 将连接到敌对 gNB。然后,UE 开始交换消息,直到图 1的步骤 4。由于未知来自 UE 的 SIM 卡的关键信息,因此后面出现的过程可能会失败。然而,在整个消息交换过程中,敌方 gNB(见图 2 )可以自由操纵发往目标 UE 的下行消息,从而为在图1所示的 5G NR 程序的任何步骤中发动攻击打开机会之窗 。
实际上,  通过在目标 5G UE 设备的无线电范围内启动恶意 gNB,可以轻松利用 5Ghoul漏洞(见图2)。这是一种实用的设置,它依赖于使用软件定义无线电 (SDR) 来充当克隆的 gNB。虽然我们的设置中使用的 USRP B210 可以从远处识别,从而使攻击在视觉上显而易见,但这种类型的设备已经缩小到 Raspberry Pi 的大小  [ 15 ]。这反过来又使得使用 SDR 进行明显的隐身攻击成为可能。

3 易受攻击的 5G 调制解调器和产品

在本节中,我们提供了发现的漏洞和易受攻击的设备的一些显著特征。

漏洞摘要:表1列出了我们评估中使用的易受攻击的目标及其相应的固件版本 。此外,表 2列出了 5G 设备上的所有 5Ghoul漏洞。在第一列中,每个漏洞名称都以前缀V  标识。虽然前两个漏洞(V1和V2 )影响来自OpenAirInterface项目  [ 11 ]的开源 UE 实现,但其余漏洞在许多流行的 5G USB 调制解调器(V3-V7)或采用 高通或联发科调制解调器的代表性智能手机(V5-V14)上进行了测试。

表 1:用于评估5Ghoul  漏洞的设备和监控。固件/软件由供应商提供或通过操作系统更新提供。OpenAirInterface UE是一种软件解决方案,不使用 5G 调制解调器 (NA)。

5G NR攻击和5G OTA模糊测试

表 2:5G 实施漏洞及受影响软件或产品的摘要。

5G NR攻击和5G OTA模糊测试

值得注意的是,我们发现的漏洞(V3-V14)位于 5G 基带调制解调器固件中。因此,任何使用各自的 Qualcomm 和联发科调制解调器固件的产品都会受到影响(尽管影响可能因产品类型而异)。此外,在我们的实验中,在SIMCOM和FIBOCOM调制解调器中使用的某些较旧(2023 年之前)固件版本中发现了漏洞 V3 和 V4(见表 2)。我们验证了此类问题不会影响固件版本为 2023 年的产品(例如 5G USB 调制解调器和智能手机)。最后, V5-V14 会影响实验时的最新调制解调器固件,因此需要修补表 2中所示的 CVE以防止被利用。  
我们的研究结果表明,高通5G USB 调制解调器和支持 5G 的智能手机(如华硕 ROG Phone 5S)在处理MAC/RLC、RRC和NAS消息时受到一系列以前未知的漏洞的影响(见表2 中的 V5-V7)。高通确认所有这些漏洞都具有高严重性。支持联发科调制解调器的智能手机(例如 OnePlus Nord CE 2)受到以前未知的漏洞V8-V14的影响(见表 2 )。特别是,漏洞 V10 和 V11 捕获了空指针取消引用方面的内存访问冲突。虽然大多数漏洞被确认为具有中等严重性,但在 2023 年 12 月 29 日联发科进一步的安全评估审查后,V11-V13被升级为高严重性。
易受攻击的程序:总之,RRC 连接和 身份验证程序(见图 1)表现出所有 5Ghoul  漏洞。特别是,包含RRC 连接设置消息的 RRC连接程序是大多数漏洞的焦点。此类发现在OnePlus Nord CE 2中很常见。对于使用联发科 Dimensity 900 5G调制解调器的此类UE ,在交换RRC 设置连接期间触发了许多断言和与内存相关的崩溃(见表 2 ) 。
最后,所有5Ghoul  漏洞都是在 UE 和 gNB 通信的预认证阶段发现的。这意味着利用V1-V14的攻击不需要来自 UE 的 SIM 卡的任何秘密信息即可成功。可以通过启动具有与第 2节所示相同设置的恶意 gNB 来发起此类攻击(参见第 2节)。总体而言,5Ghoul  不仅捕获了 5G 数据链路实施漏洞(V4、V5、V10),还展示了 COTS 5G UE 在 OSI 第 3 层及以上(例如 RRC、NAS)的漏洞。
触发漏洞:总体而言,表2中总结的漏洞 可通过发送格式错误的RRC 连接设置(尽管写入不同的 RRC 字段,如图 3所示)或发送格式错误的NAS 身份验证请求来触发。在V2的特定情况下,NAS 身份验证请求格式错误,因此实际的 NAS 消息负载为空。相比之下,只有V4需要发送无效的MAC 时间提前命令和格式错误的 RRC 连接设置。
补丁状态:修补 5G 调制解调器漏洞涉及一个复杂的过程,直到补丁可供最终用户使用。我们将在第 4.5节中更详细地反映这个过程。针对漏洞V5-V14 的补丁需要合理的时间才能提供给最终用户。特别是对于基于 Android 的智能手机,补丁预计将于2023 年 12 月推出 。但是,对于基于 Apple 的 iPhone,补丁时间表与 12 月的时间表不一致。尽管如此, 高通已确认从 2023 年 8 月开始向其 客户(即设备制造商)提供补丁。同样, 联发科也表示,补丁在 12 月 公告发布前两个月就已提供给其 OEM 合作伙伴  [ 10 ]。因此,建议最终用户在设备制造商提供相应的安全更新时立即应用它们。  

4 5Ghoul-漏洞利用

我们利用5Ghoul漏洞创建了不同的具体攻击   。接下来,我们将讨论导致受影响目标设备上出现拒绝服务 (DoS) 或连接降级的攻击。

4.1 移动设备上的漏洞利用

为了测试 5G 漏洞对移动设备和用户体验的影响,我们利用漏洞V5到V10攻击 使用高通调制解调器的华硕 ROG Phone 5S(ARP5s)和使用联发科调制解调器的OnePlus Nord CE  2(OnePlus)(见表 1 )。首先,当ARP5s上触发漏洞V5 (见图 3)或V6时,其 5G 调制解调器会立即重启并在几秒钟内自动恢复与 gNB 的连接(临时 DoS)。因此,如果攻击者想要彻底破坏用户的移动网络连接,利用V5和V6 的攻击者必须持续发动攻击。此外,由于调制解调器处理所有与3GPP相关的通信, 因此调制解调器重启后 3G 和 4G 通信也会中断

5G NR攻击和5G OTA模糊测试

图 3:图示V5 - “无效的 MAC/RLC PDU”

更令人惊讶的是,漏洞V7(见图 4)可以阻止 ARP5连接到任何 5G 网络,同时保持 4G/3G 连接完好无损(即降级攻击)。尽管如此, V7的这种行为突显出移动设备调制解调器进入了一种不稳定状态,用户需要手动重启手机,从而对调制解调器进行电源循环以完全恢复 5G 连接。如视频 1所示,这种攻击的影响(即冻结 5G 连接)即使在攻击停止后仍然存在。此外,在某些情况下,手动重启手机也无法恢复连接,而是需要手动取出 SIM 卡然后重新插入以确保对调制解调器进行硬重置。

5G NR攻击和5G OTA模糊测试

图 4:图示V7 - “RRC 无效 pdcch-Config”

如视频1 所示 ,最初,ARP5s连接到合法 gNB(攻击前显示为SUTD 00101 )。然后我们启动恶意 gNB,并通过启动5Ghoul  框架(利用 mac_sch_rrc_setup_crash_var ) 触发V7。虽然视频展示了使用软件定义无线电 (SDR) 对合法 gNB 进行的攻击,但即使智能手机连接到商用 5G基站,我们也成功发起了攻击。为此,我们使用了 Quanta Cloud Technology (QCT) 在 未来通信计划下的FCCLab(https://fcp.sutd.edu.sg/fcclab-details/)中提供的商用基站。即使连接到 QCT 5G 网络,攻击也会导致手动重启受影响的智能手机以恢复任何 5G 连接。

视频 1:插图V7 - “RRC 无效 pdcch-Config”

最后,漏洞V8-V14会导致OnePlus崩溃,该手机采用联发科 Dimensity 900 5G 调制解调器。更具体地说,V8、V9和V12-V14会触发 5G 调制解调器内部微控制器和 DSP 中的可达断言。同样,V10会由于空指针取消引用而产生无效内存访问异常。在所有情况下,调制解调器都会立即重新启动,并需要几秒钟才能恢复 5G 连接。与漏洞V5和V6类似,攻击者可以持续发起攻击,以持续破坏OnePlus上的所有 3G/4G/5G 通信。

4.2 5G专用产品的开发

我们注意到漏洞V5 - V14(表 2)会影响采用高通和联发科调制解调器的 5G 设备。因此,V5 - V14 不仅会影响智能手机和 USB 调制解调器,还会影响依赖低延迟通信的设备。

为了评估5Ghoul漏洞对智能手机以外的 实际影响,我们对表1  中列出的特定 5G UE 调制解调器进行了漏洞利用测试 ,并分析了对依赖这些调制解调器的应用程序的影响。两台基于 Qualcomm 的调制解调器被配置为客户端设备 (CPE),以评估V5至V7的影响。漏洞利用设置如图5所示 。具体来说,在设置 A(见图 5 )中,测试了 FT980WW平台  [ 14 ]内的Telit FT980m调制解调器(见表 2) 。这样的平台通过其 LAN 端口提供 5G 互联网连接并托管配置网页。我们在无线电范围内发起持续攻击,利用恶意 gNB 的漏洞V5和V6 。这导致连接到 FT980WW LAN 端口的设备完全失去互联网连接,并且由于利用 V5 和 V6 的攻击导致调制解调器重启,配置网页变得无法访问。视频2展示了这次攻击的演示 。

5G NR攻击和5G OTA模糊测试

图 5:利用V5、V6 对 作为 CPE 路由器运行的Telit FT980m的影响 (设置 A)

视频 2:Telit CPE 路由器上的“NAS 未知 PDU”漏洞演示 (CVE-2023-33043)。Youtube 视频网址:https://youtu.be/_g4P7iSuFNk

在设置 B (如图6所示 )中,使用了搭载OpenWRT 22.03.4   [ 12 ]的 Raspberry Pi 3B+ 和RM500Q-GL 5G USB 调制解调器(见表 1 )。此设置可以更好地隔离利用V5和V6的攻击,因为配置网页由Raspberry Pi 3B+处理器 托管,而不是调制解调器本身。这允许用户通过选择要连接的其他移动网络来远程尝试操纵 CPE 设备。

5G NR攻击和5G OTA模糊测试

图 6:利用V5、V6 对 作为 CPE 路由器运行的RM500Q-GL调制解调器的影响 (设置 B)

在我们的测试中,在利用V5 和V6 的攻击之后, FT980-WW CPE 表现出更主动的尝试恢复 5G 连接,而带有 OpenWRT 的 Raspberry Pi 3B+则不那么主动,通常需要通过OpenWrt 的网页手动重新连接 5G 调制解调器。这种重新连接不稳定性需要在V5-V6停止时通过 OpenWrt 的网页手动重启并恢复正常的 5G 连接。相反,由于FT980-WW在其 5G 调制解调器内运行 Web 应用程序,因此用户无法访问网页。因此,在攻击仍在进行时,用户无法将 CPE 从恶意 gNB 中引导出来。这意味着在尝试从攻击中恢复时不需要用户干预。
对于攻击V7来说,其效果是立竿见影的,导致目标调制解调器与任何 5G 移动网络断开连接并回退到 4G 网络,从而暴露出 4G 领域中的潜在漏洞  [ 9 ]。这导致 CPE 路由器同样降级其服务并只能以 4G 速度访问配置网页。

4.3 降级攻击

5Ghoul  揭示了一组以前未知的导致拒绝服务(即崩溃或挂起)的实施漏洞,而我们展示了 5Ghoul利用  工具执行降级攻击的能力。这类漏洞对调制解调器的影响是独一无二的。这是因为降级攻击通常会导致用户的连接强制更改,特别是从较新的网络技术(例如 5G NR)更改为较旧的网络技术(例如 LTE 或以下)。因此,降级攻击可能会使用户面临网络技术(例如 2G、3G 和 4G)固有的一组不同的设计或实施问题。在这种情况下,漏洞 V7( 7.3)被理解为降级攻击,因为利用它会导致受影响的设备无法连接到任何 5G 网络,但仍然可以连接到 4G 等较旧的网络技术。

5G NR攻击和5G OTA模糊测试

图7:通过NAS泛洪降级。

尽管如此,V7是一个实现漏洞,仅影响采用 Qualcomm X55/X60 调制解调器的设备。但是,由于 3GPP 标准本身存在易受攻击的组件,因此存在可能影响所有 5G 设备的“一般”降级攻击  [ 2 ]。在我们对降级攻击的探索过程中,我们能够触发已知的一般降级攻击  [ 3 ]。此外,我们利用了一种新的降级攻击 媒介 ( DA1 ),它会影响采用 包括 Qualcomm 和联发科在内的多家供应商的 5G 基带调制解调器的智能手机 。具体来说,我们成功对小米 Redmi K40(联发科 Dimensity 1200)、OnePlus Nord CE 2(联发科 Dimensity 900 和联发科 Dimensity 1200)、三星 Galaxy S22(高通 X65)和华硕 ROG Phone 5s(高通 X60)发起了新的降级攻击。
我们的降级攻击向量DA1如图7 和视频 3所示 。在这种攻击中,目标设备通过接收许多(即泛洪) NAS 身份验证请求,然后多次接收NAS 取消注册接受,保持在NAS 身份验证程序循环中。在这种情况下,目标设备经过任意次数的重试后,会回退到连接到最近的 4G 基站。值得注意的是,UE 无法仅通过切换飞行模式来重新建立 5G 连接;它需要与基站启动新的连接过程。这种降级攻击凸显了5Ghoul利用的能力, 它可以作为超越 DoS 漏洞的 5G NR 安全测试的有力工具。第5  节详细介绍了发起攻击和测试用例的此类工具功能 。

视频 3:通过 NAS 洪泛进行降级攻击的演示视频(见图 7)。Youtube 视频网址:https://youtu.be/84DDy_4ofxw

视频3  展示了触发新降级攻击的 5Ghoul漏洞利用工具 的演示。总之,攻击者可以使用第 2节中讨论的相同设置。执行此攻击需要合法的 5G 和 4G 基站(分别为gNB和eNB)。为此,我们总共设置了三个 SDR。两个用于模拟合法基站,另一个用于模拟目标 UE(OnePlus Nord CE 2 5G)无线电范围内的攻击者。

4.4 估算5Ghoul的覆盖范围  

为了估计受5Ghoul影响的 5G 智能手机的潜在数量   ,我们搜索了所有采用高通和联发科易受攻击的 5G 调制解调器的智能手机的型号。值得注意的是,我们依靠网络抓取来自动查找与特定处理器芯片组匹配的手机型号。这是因为移动处理器供应商通常会向智能手机供应商提供已经集成了 CPU、5G 调制解调器、GPU 以及其他外围设备的芯片组平台。例如,采用高通处理器的智能手机包含骁龙 8XX 移动平台,而基于联发科的 5G 手机包含Dimensity XXXX 芯片组。

为了找到可能受影响的智能手机型号,我们在Kimovil 网站 进行搜索,该网站可以轻松地通过给定的处理器芯片组名称过滤所有已发布的智能手机型号。受影响的芯片组的型号又可以在供应商 2023 年 12 月的安全公告  [ 10 ,  13 ]中找到。尽管如此,高通的安全公告  [ 13 ]列出了智能手机中使用的其他受影响的(物联网)芯片组平台。因此,我们仅从此公告中提取芯片组平台(例如,Snapdragon 8XX)。不幸的是,我们无法将联发科安全公告  [ 10 ]中发布的芯片组名称 与Dimensity XXXX芯片组平台进行映射。因此,我们只搜索采用我们评估中使用的确切芯片组名称( Dimensity 900/1200 )的基于联发科的手机,以避免误报。因此,我们计算出的受联发科调制解调器漏洞影响的智能手机型号集合被低估了。
列出所有芯片组名称后,我们会使用抓取脚本自动搜索所有采用受影响芯片组的智能手机型号。由于 Kimovil 网页上显示的许多结果都是重复的,因此我们会过滤掉包含重复名称但规格(例如 RAM 和存储大小)仅略有差异的智能手机条目。图 8的饼图显示了整个市场上受影响的智能手机型号的汇总数量。值得注意的是,虽然我们估计大多数智能手机型号(例如Samsung、OnePlus、Oppo、Vivo、 Xiaomi 等)都使用高通的芯片组(714 款中的 670 款,即94%),但我们只能匹配到少数使用联发科Dimensity 900和Dimensity 1200的手机。如前一段所述,由于搜索范围有限,受影响的基于联发科的智能手机集合相当低估。智能手机型号的详细列表可在以下 URL 中找到:5Ghoul  受影响的智能手机。我们还检查了这些手机是否使用至少一个 5G 频段,以便发起攻击。我们发现图8列出的智能手机 中有超过 626 部手机支持 5G 频段。

5G NR攻击和5G OTA模糊测试

图 8:可能受5Ghoul影响的智能手机型号分布。数据基于高通和联发科安全披露  [ 13 ,  10 ] 和 Kimovil 智能手机列表。

最后,值得一提的是, 5Ghoul  漏洞的影响范围不仅限于智能手机。这是因为受影响的 5G 调制解调器也用于其他支持 5G 的应用中。事实上,正如 Qualcomm 安全公告  [ 13 ]中所述,5Ghoul 漏洞可能会影响工业物联网解决方案,例如“315 5G IoT”,以及其他平台,例如用于各种应用(包括家用电器、IP 摄像头等)的“ AR8035 ”。 

4.5 向最终用户提供 5G 补丁的挑战

5G NR攻击和5G OTA模糊测试

图9:5G UE软件供应生态系统

确保调制解调器软件开发工具包 (SDK) 在向下游发布之前经过充分测试且没有严重漏洞至关重要。否则,攻击者可能会在较长时间内利用调制解调器故障,而最终用户还未真正获取相关安全更新。

图 9描述了 5G 调制解调器软件供应链的复杂性。总之,发现 5G 调制解调器供应商实施中的问题会严重影响下游的产品供应商。这是因为产品供应商对调制解调器/芯片组 供应商的软件依赖性增加了复杂性,从而延迟了生成和向最终用户分发补丁的过程。例如,上游 5G 调制解调器软件经历的每次迭代,芯片组供应商都必须执行运营商重新认证,以便智能手机操作系统供应商能够按照固定的发布时间表将更新的调制解调器固件集成到操作系统安全补丁中(例如,Android 的 Google 和 IOS 的 Apple)。接下来,产品供应商应该将此类安全补丁手动内置到智能手机操作系统映像中。因此,5G 安全补丁通常需要六个月或更长时间才能通过 OTA 更新最终到达最终用户(图9中的最终下游节点 )。
软件依赖链同样适用于 CPE 路由器或 USB 调制解调器。但是,这类产品向最终用户分发补丁的时间较短,因为不需要遵守操作系统供应商的发布时间表。相反,模块供应商(即图 9中的 OEM )直接将调制解调器补丁构建到模块固件中,并通过私有渠道将其分发给下游。因此,CPE 产品供应商可以直接将上游的补丁应用于其平台软件,该平台软件通常包括定制的 Linux 操作系统。

5 模糊测试工具和漏洞脚本

5Ghoul概念验证 (PoC) 和模糊测试工具可在  我们的 github 存储库中开源获取:

https://github.com/asset-group/5ghoul-5g-nr-attacks

5Ghoul   PoC 建立在无线模糊测试框架之上,该框架提供 5G NR 协议控制,用于创建针对支持 5G 的 Android 智能手机或基于 Qualcomm USB 的调制解调器的测试用例。尽管如此,使用5Ghoul  仍需要软件定义的无线电(例如 USRP B210)来启动物理恶意基站。一旦启动5Ghoul   PoC,它就会自动执行智能手机或调制解调器的配置过程,以连接到恶意基站以评估攻击。这种 PoC 也可以用作独立的无线 5G SA 模糊测试器。
我们现有的设置与廉价的迷你电脑(图10中的5Ghoul   Mini PC  )搭配使用时非常便携。目前,5Ghoul PoC 包含利用V3-V14  发起攻击的漏洞脚本(见表 2 )。利用V1-2和NAS 洪水降级的其他攻击脚本(见图 7)将在未来几周内推出。

5G NR攻击和5G OTA模糊测试

图 10:5Ghoul   PoC 测试和模糊器评估的硬件设置。

6 反射

在本节中,我们概述了过去几年中面临的一些关键挑战,特别是在 COTS 5G 设备的自动化安全测试方面。我们还讨论了我们在披露过程中的个人经历,这些经历揭示了下游补丁传播的复杂性和时间表。

崩溃识别:由于我们的重点是测试 COTS 设备,因此我们在准确识别设备崩溃方面面临巨大挑战。特别是,由于我们的对抗性测试的性质(例如,传输格式错误的数据包),目标 5G UE 可能会面临任意连接超时。这种连接超时是正常的,不应与崩溃(即拒绝服务)混淆。我们最初的研究涉及查看许多消息日志并尝试识别可能可靠地指示崩溃的消息。事实上,在我们研究的早期阶段,我们有几个消息日志被怀疑有崩溃,但后来被排除为正常的连接超时。

具体来说,5G USB 调制解调器包含专有和通用 AT 命令组合来进行配置,这些命令的响应因供应商而异  [ 7 ]。为了以通用方式解决 5G USB 调制解调器的崩溃检测问题,我们将 UE 调制解调器的控制权移交给 Freedesktop ModemManager 进程(MM)   [ 4 ]。MM 进程主要通过标准 Qualcomm MSM 接口(QMI)与 UE 通信,并在必要时回退到 AT。具体来说,每当调制解调器配置完毕并准备使用时,MM 都会通知我们的测试进程。此外,MM 会通过通知 QMI 接口挂起或由调制解调器软件重置导致的 USB 断开来警报调制解调器崩溃。对于 5G 智能手机,设备崩溃会在消息日志中指示。尽管如此,这种消息因调制解调器供应商(例如 Qualcomm、联发科等)而异。因此,检测智能手机中的 5G 调制解调器崩溃仍然需要少量特定于供应商的工程工作。

分类调试支持:由于 5G UE 堆栈的封闭性,我们几乎无法对崩溃进行分类。即使在我们确认并向供应商报告漏洞之后,情况也是如此。虽然消息日志和 Wireshark 捕获可以显示修改后的数据包和崩溃指示,但仍需要付出巨大努力才能在固件代码中找到崩溃。在我们的披露期间,其中一家供应商 ( Telit ) 帮助提供了更好的调试日志记录工具。具体来说,这样的工具会生成一份全面的 HTML 报告,其中包含核心转储和回溯摘要,包括高通采取行动所需的其他一些信息。特别是,可以为高通的漏洞 V5和V6(参见第 7节)生成此类报告,这两个漏洞都导致固件崩溃(可到达断言)。但是,对于导致挂起的漏洞V7,情况并非如此。因此,无法生成回溯报告来加速 V7的分类工作。

下游修补时间:在图 9中,我们说明了典型的 5G UE 软件供应链。根据图 9所示的生态系统,我们分享了 5G 调制解调器补丁可供最终用户(例如智能手机用户)使用所需的时间经验。我们于2023 年 4 月 17 日向 Telit(USB 调制解调器供应商)报告了第一个漏洞(即表 2中的V5和V6) 。Telit友好地提供了一个日志记录工具,该工具又生成了一份包含核心转储和回溯摘要的综合 HTML 报告。这样的摘要清楚地表明,崩溃/漏洞的根本原因在于高通固件代码,从而抓住了 Telit 制作补丁的可能性。这也证实了使用相同高通 5G 调制解调器的其他产品(例如智能手机)也会受到类似的影响。在2023 年4 月 21 日向高通发送综合报告后,崩溃分类于2023 年 5 月 9 日完成。最终,高通于2023 年 8 月向其客户内部提供了针对这些漏洞的补丁。最后,预计 Android 补丁将于 2023 年 12 月向(智能手机)最终用户提供,以修复我们报告的漏洞。

总之, 自供应商复制补丁以来,大约花了七 (7) 个月的时间才将补丁提供给最终用户 ,自发现补丁以来大约花了八 (8) 个月的时间。 这表明了在 5G UE 软件供应链中将补丁传播给最终用户的复杂性。对于没有任何附带崩溃报告的漏洞,例如V7(参见图 13 ),分类所需的时间稍长(由于没有任何崩溃报告,这是意料之中的):我们于2023 年 5 月 11 日报告 ,分类于2023 年6 月 13 日 完成。

大规模测试的软件 / 硬件支持:我们的方法涉及从恶意基站向 COTS 5G UE 发送畸形数据包。这也需要任意多次自动执行,以发现调制解调器固件中根深蒂固的漏洞。在我们研究的早期阶段,我们面临着重大的技术挑战,即简单地保持开源基站(即 OpenAirInterface   [ 11 ])和 COTS 5G UE(例如商用智能手机)之间的稳定无线连接。这反过来又导致通过无线模糊测试获得实际结果的重大障碍。此外,由于模糊测试的性质,我们发现 USB 5G 调制解调器经常变得不稳定,这反过来又使得模糊测试难以进行。为了解决这个问题,我们添加了一个 USB 电源开关来自动重启 USB 调制解调器。对于 Android 智能手机,可以通过 Android 调试桥 (ADB) 发送重启命令来实现类似的重启机制。

虽然 5G 在支持复杂应用方面具有巨大潜力,但我们预计需要更深入地研究如何自动全面地寻找 5G 软件系统中的实现级漏洞。考虑到 5G 网络堆栈的多层、复杂实现及其封闭性,5G 安全测试的研究还有很长的路要走。从主要芯片组供应商发现5Ghoul  漏洞就可以看出这一点,尽管他们拥有全面测试自己的 5G 堆栈的所有资源,但仍然容易受到5Ghoul  漏洞的影响。

7 漏洞描述

在本节中,我们详细描述了每个漏洞、攻击媒介、受影响的 5G 调制解调器芯片组和/或固件版本(如适用)。我们仅包括发现时未知的实施漏洞(即表 2中的V5 - V14)。一些漏洞是在测试调制解调器时发现的,而其他漏洞则是在测试智能手机时检测到的。

7.1 V5:无效的 MAC/RLC PDU

(CVE-2023-33043)

在无线电范围内的攻击者可以通过从附近的恶意 gNB 向目标 5G UE(例如智能手机)发送无效的下行链路 MAC 帧,在Qualcomm 的 X55/X60调制解调器固件中触发拒绝服务(可达断言) 。RRC连接程序完成后,攻击者(恶意 gNB)发送格式错误的RLC 状态 PDU,将下行链路传输块的 MAC 头(第一个字节)从 0x41(DL-SCH)更改为0xB5 (MAC TCI 状态激活/停用) 。我们在图11中用红色突出显示此字节 。在无效帧发送到 5G UE 后,Qualcomm X55 调制解调器出现故障并重新启动,在核心转储日志(QCAP)中指示固件断言。更具体地说,调制解调器会暂时挂起并在5 到 10 秒内重新启动。在使用此类调制解调器的产品中,这种延迟是显而易见的。例如,由于以下固件核心转储消息,Telit FT980-WW  基于 Web 的应用程序仅在平台重新启动后才可访问:

[ASSERT] nr5g_ml1_mdb.c:12636 Assert serving_cell_ptr->cell_data.nr5g.configured_bwp_bmask & (1< <bwp_idx) failed: gNB beam update for BWP not configured 0x1

影响:在基于 X55/X60 调制解调器的 UE 无线电范围内的攻击者可以通过连续发送 无效数据包来阻止 3GPP 调制解调器连接。此外图 10:5Ghoul   PoC 测试和模糊器评估的硬件设置。

5G NR攻击和5G OTA模糊测试

图 11:无效的 MAC/RLC PDU。

7.2 V6:NAS 未知 PDU

(CVE-2023-33044)

在无线电范围内的攻击者可以通过从附近的恶意 gNB 向目标 5G UE(智能手机、CPE 路由器)发送无效的下行链路 MAC 帧, 在Qualcomm 的 X55/X60调制解调器固件中触发拒绝服务(可达断言) 。在RRC 连接程序完成后,在 NAS 网络注册完成之前,攻击者(恶意 gNB)发送无效的 NAS PDU,将RRC dlInformationTransfer的第三个字节从0xC0(NAS 身份验证请求)更改为0xF4(NAS 未知PDU)(参见图 12中以红色突出显示的此字节)。在无效帧发送到 5G UE 后,Qualcomm X55/X60 调制解调器出现故障并重新启动,在核心转储日志(QCAP)中指示固件断言。更具体地说,调制解调器会暂时挂起并在5 到 10 秒内重新启动。这种延迟在应用程序中是显而易见的。例如,由于以下固件核心转储消息,Telit FT980-WW  基于 Web 的应用程序仅在平台重新启动后才可访问:

[ASSERT] ds_3gpp_tlb_ctrl.c:2088 Assertion msg_size == 1 failed

影响:X55/X60 UE 无线电范围内的攻击者可以通过连续发送无效数据包来阻止 3GPP 调制解调器连接。此外,由于无需有关目标 SIM 卡信息即可发起攻击,因此此漏洞相当容易触发。这是因为无效下行链路帧是在 NAS 注册过程的 早期发送的,该过程发生在任何 NAS 身份验证过程完成之前。

5G NR攻击和5G OTA模糊测试

图 12:NAS 未知 PDU。

7.3 V7:通过无效的 RRC pdcch-Config 禁用 5G/降级

(CVE-2023-33042)

在无线电范围内的攻击者可以通过从附近的恶意 gNB 向目标 5G UE(智能手机、CPE 路由器)发送格式错误的 RRC 帧,触发Qualcomm 的 X55/X60调制解调器固件中的 5G 连接降级或拒绝服务。在RRC 连接过程中,攻击者(恶意 gNB)发送格式错误的 NAS PDU,将RRC dlInformationTransfer有效负载的第 30 个字节从0x04更改为0x9C。这会修改pdcch-Config的可选位,例如tpc-PUCCH和 Sequence-Of Length (请参见图12中以红色突出显示的这些字节 )。将格式错误的消息发送到 5G UE 后,与任何 5G 网络的连接都会失败。例如,USB 调制解调器或 CPE 路由器通常无法通过串行命令AT+COPS=?扫描 5G 网络,因此与任何 gNB(包括合法 gNB)的连接都会失败。此外,尝试连接到任何列出的 5G 网络也无法成功。这种行为已被证实发生在我们所有支持 5G 的 Qualcomm 设备中,例如Asus Rog Phone 5S、Quectel RM500Q-GL等(见表 2)。一旦发起攻击,X55/X60 调制解调器就会受到影响,直到用户重新启动手机。简单地打开和关闭飞行模式并不能恢复 5G 通信。

影响:高通 X55/X60 UE 无线电范围内的攻击者可以通过发送单个 格式错误的数据包来拒绝或降级 5G 连接。用户需要手动重启手机才能恢复 5G 连接。此外,此漏洞相当容易触发,因为发起攻击不需要有关目标 SIM 卡信息的信息。这是因为无效的下行链路帧是在 RRC 附加过程中发送的,该过程发生在任何 NAS 身份验证过程之前。

5G NR攻击和5G OTA模糊测试

图 13:通过无效的 RRC pdcch-Config 禁用 5G/降级。

7.4 V8:无效的 RRC 设置 spCellConfig

(CVE-2023-32842)

在无线电范围内的攻击者可以通过从附近的恶意 gNB 向目标 5G UE(例如智能手机)发送无效的下行链路 RRC 帧,在联发科Dimensity 900 / 1200 5G 调制解调器固件中触发拒绝服务(可达断言)。在RRC 连接过程中,攻击者(恶意 gNB)发送格式错误的 RRC 连接设置,将下行链路传输块的第 35字节从0x4C更改为0xD6,将第 66字节从 0x9A更改为0x71(参见图 14中以红色突出显示的字节)。这对应于更改 RRC 有效载荷中的某些字段,例如spCellConfigDedicated可选位:defaultDownlinkBWP-Id= 1pdcch-ServingCellConfig= 1pdsch-ServingCellConfig= 0sCellDeactivationTimer= 1。在将这种无效数据包发送到 5G UE 后,Dimensity 900 5G 调制解调器出现故障并重新启动,这表明 Android 日志 (logcat) 中存在固件崩溃/断言。更具体地说,调制解调器会暂时挂起并在2 到 7 秒内重新启动,logcat 会输出以下固件断言消息:

[ASSERT] file:mcu/l1/mml1/mml1_endc/src/mml1_endc_db_hdlr.c line:524 p1:0x91920c70

影响:攻击者可以通过持续发送此类无效数据包来阻止 3GPP 调制解调器连接。此外,由于无需有关目标 SIM 卡信息即可发起攻击,因此此漏洞相当容易触发。这是因为无效下行链路帧是在RRC 附加过程中发送的,该过程发生在任何 NAS 身份验证过程之前。

5G NR攻击和5G OTA模糊测试

图 14:无效的 RRC 设置 spCellConfig。

7.5 V9:RRC pucch CSIReportConfig 无效

(CVE-2023-32844)

在无线电范围内的攻击者可以通过从附近的恶意 gNB 向目标 5G UE(例如智能手机)发送无效的下行链路 RRC 帧,在联发科Dimensity 900/1200 5G 调制解调器固件中触发拒绝服务(可达断言)。在RRC 连接过程中,攻击者(恶意 gNB)发送格式错误的RRC 连接设置,将下行链路传输块的第 192 个字节从0x0A更改为0xD0 (参见图15中以红色突出显示的此字节 )。这对应于更改 RRC 有效载荷中的某些字段(searchSpacesToAddModList元素),例如将pucch-Resource从0x02更改为0x52,将reportQuantity 从0x05(cri-RSRP)更改为0x01(cri-RI-PMI-CQI)。在将此类无效数据包发送到 5G UE 后,Dimensity 900 5G 调制解调器出现故障并重新启动,这表明 Android 日志 (logcat) 中存在固件崩溃/断言。更具体地说,调制解调器会暂时挂起并在2 到 7 秒内重新启动,logcat 会输出以下固件断言消息:

[ASSERT] file:mcu/l1/nl1/internal/md97/src/rx/nr_rx_dspcmd_ext_csif_csi.c line:2657 p1:0x00000000

影响:攻击者可以通过持续发送此类无效数据包来阻止 3GPP 调制解调器连接。此外,由于无需有关目标 SIM 卡信息即可发起攻击,因此此漏洞相当容易触发。这是因为无效下行链路帧是在RRC 附加过程中发送的,该过程发生在任何 NAS 身份验证过程之前。

5G NR攻击和5G OTA模糊测试

图 15:无效的 RRC pucch CSIReportConfig。

7.6 V10:无效的 RLC 数据序列

(CVE-2023-20702)

在无线电范围内的攻击者可以通过从附近的恶意 gNB 向目标 5G UE(例如智能手机)发送无效的下行链路 RLC 有效载荷,在联发科Dimensity 900/1200 5G调制解调器固件中触发拒绝服务(空指针取消引用)。在RRC 连接过程之后,攻击者(恶意 gNB)发送格式错误的RLC状态 PDU ,将下行链路传输块的第 4 个字节从 0x00更改为0x84 (参见图16中以红色突出显示的此字节 )。这对应于将 RLC 标头中的某些字段(例如数据/控制字段更改为0x01 (数据 PDU)RLC 序列号更改为1025 )更改为。原始下行链路数据包是RLC 控制 PDU(状态 ACK)。但是,在将无效字节0x84写入 RLC Header 后,此类 PDU 会更改为具有错误(无序)RLC 数据序列号的数据 PDU 。将无效的 RLC 有效负载发送到 5G UE 后, Dimensity 900 5G 调制解调器出现故障并重新启动,Android 日志(logcat)中显示固件崩溃/断言。更具体地说,调制解调器会暂时挂起并在2 到 7 秒内重新启动,logcat 会输出以下固件断言消息:

[Fatal error(MPU_NOT_ALLOW)] err_code1:0x0000001D err_code2:0x910D66F6 err_code3:0x910D66E2

影响:攻击者可以通过持续发送此类无效数据包来阻止 3GPP 调制解调器连接。此外,由于无需有关目标 SIM 卡信息即可发起攻击,因此此漏洞相当容易触发。这是因为无效下行链路帧是在 RRC 附加过程之后发送的,而该过程发生在任何 NAS 身份验证过程之前。

5G NR攻击和5G OTA模糊测试

图 16:无效的 RLC 数据序列。

7.7 V11:截断的 RRC physicalCellGroupConfig

(CVE-2023-32846)

在无线电范围内的攻击者可以通过从附近的恶意 gNB 向目标 5G UE(例如智能手机)发送无效的下行链路 RRC 帧,在联发科Dimensity 900/1200 5G 调制解调器固件中触发拒绝服务(空指针取消引用) 。在RRC 连接过程中,攻击者(恶意 gNB)发送格式错误的RRC 连接设置,将 下行链路传输块的第 14和第 15 个字节从0xBA 0xE0更改为0x13 0x46 (参见图17中以红色突出显示的这些字节 )。这对应于将physicalCellGroupConfig中的某些字段更改为0x01(True)和将 pdsch-HARQ-ACK-Codebook更改为 0x00(半静态)。因此,这会导致 RRC 消息被截断,从而导致编码错误,如 Wireshark 中突出显示的(图 17中的黄色消息)。将这种格式错误的数据包发送到 5G UE 后,Dimensity 900 5G 调制解调器出现故障并重新启动,这表明 Android 日志(logcat)中存在固件内存访问错误。更具体地说,调制解调器会暂时挂起并在2 到 7 秒内重新启动,logcat 会输出以下固件断言消息:

[Fatal error(MPU_NOT_ALLOW)] err_code1:0x0000001D err_code2:0x90F5D83A err_code3:0x90F5D836

影响:攻击者可以通过持续发送这种格式错误的数据包来阻止 3GPP 调制解调器连接。此外,由于无需有关目标 SIM 卡信息即可发起攻击,因此此漏洞相当容易触发。这是因为无效的下行链路帧是在RRC 附加过程中发送的,该过程发生在任何 NAS 身份验证过程之前 。

5G NR攻击和5G OTA模糊测试

图 17:截断的 RRC physicalCellGroupConfig。

7.8 V12:RRC searchSpacesToAddModList 无效

(CVE-2023-32841)

在无线电范围内的攻击者可以通过从附近的恶意 gNB 向目标 5G UE(例如智能手机)发送无效的下行链路 RRC 帧,在联发科Dimensity 900/1200 5G 调制解调器固件中触发拒绝服务(可达断言)。在RRC 连接过程中,攻击者(恶意 gNB)发送格式错误的RRC 连接设置,将下行链路传输块的第 52 个字节从0x00更改为0x5B (参见图18中以红色突出显示的此字节 )。这对应于更改 RRC 有效载荷中的某些字段(searchSpacesToAddModList 元素),例如将 surveillanceSymbolsWithinSlots从0x80 0x00更改为0x82 0xd8。在将此类无效数据包发送到 5G UE 后,Dimensity 900 5G 调制解调器出现故障并重新启动,这表明 Android 日志 (logcat) 中存在固件崩溃/断言。更具体地说,调制解调器会暂时挂起并在2 到 7 秒内重新启动,logcat 会输出以下固件断言消息:

[ASSERT] file:dsp3/coresonic/msonic/modem/slm/nr/nr_post_proc/src/nr_slm_rpt_hndlr.c line:9302

影响:攻击者可以通过持续发送此类无效数据包来阻止 3GPP 调制解调器连接。此外,由于无需有关目标 SIM 卡信息即可发起攻击,因此此漏洞相当容易触发。这是因为无效下行链路帧是在RRC 附加过程中发送的,该过程发生在任何 NAS 身份验证过程之前。

5G NR攻击和5G OTA模糊测试

图 18:无效的 RRC searchSpacesToAddModList。

7.9 V13:无效的 RRC 上行链路配置元素

(CVE-2023-32843)

在无线电范围内的攻击者可以通过从附近的恶意 gNB 向目标 5G UE(例如智能手机)发送无效的下行链路 RRC 帧,在联发科Dimensity 900/1200 5G 调制解调器固件中触发拒绝服务(可达断言)。在RRC 连接过程中,攻击者(恶意 gNB)发送格式错误的RRC 连接设置,将下行链路传输块的第 92 个字节从0x49更改为0x67(参见图 19中以红色突出显示的此字节)。这对应于更改 RRC 有效载荷中的许多字段,例如qcl-Type从 0x02 更改为0x03、resourceAllocation从 0x01 更改为0x00、rbg-size从 0x00 更改为0x01prb-BundlingType从 0x00 更改为0x01以及其他uplinkConfig 可选位。在将此类无效数据包发送到 5G UE 后, Dimensity 900 5G 调制解调器出现故障并重新启动,这表明 Android 日志 (logcat) 中存在固件崩溃/断言。更具体地说,调制解调器会暂时挂起并在2 到 7 秒内重新启动,logcat 会输出以下固件断言消息:

[ASSERT] file:mcu/l1/nl1/internal/md97/src/rfd/nr_rfd_configdatabase.c line:4380 p1:0x00000001

影响:攻击者可以通过持续发送此类无效数据包来阻止 3GPP 调制解调器连接。此外,由于无需有关目标 SIM 卡信息即可发起攻击,因此此漏洞相当容易触发。这是因为无效下行链路帧是在RRC 附加过程中发送的,该过程发生在任何 NAS 身份验证过程之前。

5G NR攻击和5G OTA模糊测试

图 19:无效的 RRC 上行链路配置元素。

7.10 V14:空 RRC 上行链路配置元素

(CVE-2023-32845)

在无线电范围内的攻击者可以通过从附近的恶意 gNB 向目标 5G UE(例如智能手机)发送无效的下行链路 RRC 帧,在联发科Dimensity 900/1200 5G 调制解调器固件中触发拒绝服务(可达断言)。在RRC 连接过程中,攻击者(恶意 gNB)发送格式错误的RRC 连接设置,将下行链路传输块的第 50 个字节从0xA2更改为0xA1 (参见图20中以红色突出显示的此字节 )。这对应于将 RRC 有效负载中的某些字段(例如将controlResourceSetId更改为0x00将 pdsch-Config 更改为0x00 (释放))以及其他字段(如图 20所示) 。特别是,当pdsch-Config设置为释放时,上行链路配置元素被解码为Null。因此,当将这种无效数据包发送到 5G UE 时,Dimensity 900 5G 调制解调器将发生故障并重新启动,从而指示 Android 日志 (logcat) 中的固件崩溃/断言。更具体地说,调制解调器会暂时挂起并在2 到 7 秒内重新启动,logcat 会输出以下固件断言消息:

[ASSERT] file:dsp3/coresonic/msonic/modem/brp/nr/nr_brp/src/nr_brp_top_irq.c line:927

影响:攻击者可以通过持续发送此类无效数据包来阻止 3GPP 调制解调器连接。此外,由于无需有关目标 SIM 卡信息即可发起攻击,因此此漏洞相当容易触发。这是因为无效下行链路帧是在RRC 附加过程中发送的,该过程发生在任何 NAS 身份验证过程之前。

5G NR攻击和5G OTA模糊测试

图 20:空 RRC 上行链路配置元素。

7.11 V15:无效的 RRC CellGroup ID

(CVE-2024-20003)

在无线电范围内的攻击者可以通过从附近的恶意 gNB 向目标 5G UE(例如智能手机)发送无效的下行链路 RRC 帧,在联发科Dimensity 900/1200 5G 调制解调器固件中触发拒绝服务(可达断言)。在RRC 连接过程中,攻击者(恶意 gNB)发送格式错误的RRC 连接设置,将下行链路传输块的第 15 个字节从0xE0更改为0xE4 (参见图21中以红色突出显示的此字节 )。这对应于将 RRC 有效负载(CellGroupId 元素)中的某些字段(例如cellGroupId从0x00更改为0x02 ) 。在将这样的无效数据包发送到 5G UE 后,Dimensity 900 5G 调制解调器出现故障并重新启动,从而在 Android 日志(logcat)中指示固件崩溃/断言。更具体地说,调制解调器会暂时挂起并在2 到 7 秒内重新启动,logcat 会输出以下固件断言消息:

[ASSERT] file:mcu/l1/nl1/internal/md97/src/ctrl/nr_ctrl_mgm.c line:16460

影响:攻击者可以通过持续发送这种格式错误的数据包来阻止 3GPP 调制解调器连接。此外,由于无需有关目标 SIM 卡信息即可发起攻击,因此此漏洞相当容易触发。这是因为无效的下行链路帧是在RRC 附加过程中发送的,该过程发生在任何 NAS 身份验证过程之前 。

5G NR攻击和5G OTA模糊测试

图 21:无效的 RRC CellGroup ID。

7.12 V16:无效的 RRC CellGroupConfig

(CVE-2024-20004)

在无线电范围内的攻击者可以通过从附近的恶意 gNB 向目标 5G UE(例如智能手机)发送无效的下行链路 RRC 帧,在联发科Dimensity 900/1200 5G 调制解调器固件中触发拒绝服务(可达断言)。在RRC 连接过程中,攻击者(恶意 gNB)按特定序列发送一个RRC 连接设置和一个正常RRC 连接设置。下行链路传输块的第 15 个字节从0xE0更改为0xC4 (请参见图22中以红色突出显示的此字节 )。这对应于更改 RRC 有效载荷中的许多字段,例如可选字段位,它指示spCellConfig的存在,从 0x01 更改为0x00,cellGroupId从 0x00 更改为0x02。此类无效数据包发送到 5G UE 后,Dimensity 900 5G 调制解调器出现故障并重新启动,Android 日志 (logcat) 中显示固件崩溃/断言。更具体地说,调制解调器会暂时挂起并在2 到 7 秒内重新启动。由于正常和恶意连接序列的任意组合,logcat 会输出以下两个固件断言消息之一:

[Fatal error(MPU_NOT_ALLOW)] err_code1:0x0000001D err_code2:0x910885CE err_code3:0x910885CA

OR

[Fatal error(MPU_NOT_ALLOW)] err_code1:0x0000001D err_code2:0x910885AC err_code3:0x910885A8

影响:攻击者可以通过持续发送这种格式错误的数据包来阻止 3GPP 调制解调器连接。此外,由于无需有关目标 SIM 卡信息即可发起攻击,因此此漏洞相当容易触发。这是因为无效的下行链路帧是在RRC 附加过程中发送的,该过程发生在任何 NAS 身份验证过程之前 。

5G NR攻击和5G OTA模糊测试

图 22:无效的 RRC CellGroupConfig。

致谢

本研究部分由新加坡科技设计大学主办的未来通信计划和iTrust 国家卓越卫星 (NSOE)资助,后者致力于安全关键基础设施 (物联网领域)的设计科学与技术。我们感谢Sakshi Udeshi创造了5Ghoul这一术语   。我们感谢Rushati Chakraborty设计了5Ghoul徽标( Flaticon  的幽灵图标)。我们非常感谢未来通信实验室的Mao Ngo提供的帮助,他好心地借给我们实验室的 5G 智能手机,我们在那里发现了第一个漏洞。最后,我们非常感谢高通和联发科在协调披露过程中的支持,并慷慨地为我们的发现颁发奖励。

5Ghoul  : Unleashing Chaos on 5G Edge Deviceshttps://asset-group.github.io/disclosures/5ghoul/

原文始发于微信公众号(Ots安全):5G NR攻击和5G OTA模糊测试

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月2日15:25:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   5G NR攻击和5G OTA模糊测试https://cn-sec.com/archives/2909877.html

发表评论

匿名网友 填写信息