本文基于运营商的长期演进 (LTE) 网络中控制组件的动态测试,进行了对控制平面程序安全方面的广泛研究。对于 LTE 网络中的动态测试,我们通过使用用户可以完全控制的开源 LTE 软件,实现了一个名为 LTEFuzz 的半自动化测试工具。我们通过仔细分析标准定义三个基本安全属性,系统地生成了测试用例。 LTEFuzz基于安全属性生成测试用例并将其发送到目标网络,仅通过监控设备端日志,对问题行为进行分类。因此,我们发现了 36 个之前未披露的漏洞。这些发现分为对五种类型的不当处理:(1)未受保护的初始化过程,(2) 精心制作的明文请求,(3) 缺乏有效完整性保护的消息,(4) 重放的消息,以及 (5) 安全过程绕过。我们通过演示针对运营 LTE 网络的PoC攻击确认了这些漏洞。攻击的影响是拒绝向合法用户提供 LTE 服务、欺骗 SMS 消息或窃听/操纵用户数据流量。还提供了精确的根本原因分析和解决这些问题的潜在对策。蜂窝运营商部分参与维护道德标准并验证我们在商用 LTE 网络中的发现。
0x01 Introduction
长期演进 (LTE) 是迄今为止最先进的电信技术。与全球移动通信系统 (GSM) 和通用移动电信系统 (UMTS) 等老一代网络相比,它不仅可以提供更快的数据传输和低延迟,还可以确保针对意外故障的高可靠性和鲁棒性。移动网络运营商正在积极部署 LTE 基础设施;截至 2018 年,已有 200 个国家的 600 家运营商部署了 LTE 网络,全球用户超过 32 亿。
除了促进数据和语音通话等传统电信服务外,LTE 还被认为是在新兴行业(例如自动驾驶汽车和物联网)和全国通信基础设施中提供始终在线的移动连接的关键推动因素(例如,用于铁路通信的公共安全 LTE 和 LTE-R)。通常,这些应用程序对安全至关重要,需要高可用性和稳健性。这意味着,如果这些应用程序因 LTE 服务的意外断开而出现故障,用户的安全可能会面临重大威胁。因此,调查可能因事故或攻击者而导致意外故障的对 LTE 服务程序的潜在威胁至关重要。
第三代合作伙伴计划 (3GPP) 是 LTE 的事实标准,它定义了所有网络组件的行为,包括与早期网络相比已显着改进的安全功能(例如,更强的加密和完整性保护算法、强制使用完整性控制平面协议中的保护)。此外,它还为商用 LTE 芯片组提供一致性测试套件,以确保符合规范。
尽管为消除意外错误的风险做出了许多努力,但最近的研究仍发现了 LTE 网络控制平面程序中的各种安全漏洞。例如,主动攻击者可以在移动设备和网络之间中继 LTE 通信以劫持设备的位置或重定向设备的 DNS 请求 。使用伪基站的攻击可以通过利用设备端设计缺陷和实现错误来跟踪用户设备的位置或拒绝 LTE 服务 。然而,这些研究都没有专注于分析运营 LTE 网络中的网络侧问题,尽管这种性质的漏洞一旦被利用就会影响其许多用户。
由于 LTE 中的控制平面组件仍未得到充分探索,我们通过动态分析精心设计的恶意输入导致的核心网络响应,调查了运营商 LTE 网络中控制平面程序的潜在问题。一般而言,动态测试网络行为具有挑战性,因为:①使用商用智能手机利用控制平面协议非常困难。这是因为商业设备在基带芯片组上实现控制平面协议,很难从中生成任意消息。 ②部署的运营商网络是封闭系统。它们的配置是专有的,控制平面日志对设备不可用。因此,很难在设备端正确确定已识别问题的根本原因。 ③根据运营商和国家/地区的规定,不允许使用未经认证的设备将信号传输到运营网络。
我们通过将开源 LTE 工具用于测试目的来克服这些挑战。为此,我们通过使用完全可控的 LTE 开源软件实现了一个名为 LTEFuzz 的半自动化测试工具,该工具 1) 动态生成测试用例并将其发送到目标网络或设备,此外,2 ) 通过仅检查来自目标的测试器和受害设备中的响应来对有问题的行为进行分类。其次,我们与运营商合作避免道德问题。对于每一个关键测试用例,我们采访了运营商以确定它是否会干扰 LTE 网络。单独处理可能干扰其他用户的可疑用例。关于使用许可频段的规定,我们的测试设备就像一个单一的 LTE 设备一样,单独执行测试消息。因此,附近合法用户的 LTE 服务不会受到任何干扰、性能下降和故障。此外,我们还使用 LTE 手机的身份发送了欺骗性消息。因此,如果我们的测试用例被目标网络接受,只有我们的手机可能会遇到预期的故障。最后,我们根据 1) 对 3GPP 标准的审查和 2) 与运营商的交谈来确认我们的发现,找出根本原因。
为了系统地生成测试用例,我们首先通过广泛分析网络组件的正确行为及其 3GPP 规范中规定的安全要求,创建了三个安全属性。使用这些安全属性,我们确定了目标消息的范围并为特定测试用例生成了规则。然后,测试用例生成器在商用网络的控制平面日志的数据集中变异随机输入,我们在全球范围内收集了大约一年。仅考虑商用日志中的输入的原因是为了防止由于解析错误而导致接收节点意外崩溃。测试用例总数包括 13 条用于检查网络节点行为的消息和 29 条用于检查商用设备行为的消息。
通过对运营网络进行测试,我们发现了 51 个漏洞(36 个新漏洞和 15 个已知漏洞),主要是由于未受保护的初始程序处理不当、精心设计的明文请求、具有无效完整性保护的消息、重放消息,和安全程序绕过。我们还通过利用我们在运营网络中发现的漏洞并严格遵守道德规范来展示所有攻击。我们的攻击可以①拒绝向目标用户或任意用户提供各种 LTE 服务,② 欺骗控制平面消息以泄露隐私,③发送欺骗性短消息服务 (SMS),以及④窃听和操纵数据通信。
0x02 Background
A. LTE网络架构
下图说明了 LTE 网络架构,它由用户设备 (UE)、演进节点 B (eNB) 和演进分组核心 (EPC) 组件组成。
UE是指一种移动设备,它可以通过连接到基站,为合法用户提供订阅的数据和语音通话等服务。 UE 由国际移动站设备标识 (IMEI) 唯一标识。 UE 的一个显着特征是使用通用用户身份模块 (USIM),这是一种可以物理插入 UE 的智能卡,其中包括称为国际移动用户身份 (IMSI) 的用户标识符、加密密钥、和算法。
eNB 是 LTE 中的基站收发信台 (BTS),它使 UE 能够与 LTE 网络建立无线连接。一个典型的 eNB 有一个基带单元(BBU)负责处理基带信号,它连接到多个远程无线电单元(RRU),直接处理射频信号的发送和接收。每个 RRU 覆盖一个扇区(也称为小区),因此,一个 eNB 可以覆盖多个小区站点。 eNB 连接到移动管理实体(MME),用于控制平面通信和 4G 网关( GW)用于控制平面和用户平面数据传输。
MME是LTE网络中的关键控制节点。它对 UE 进行身份验证并管理订户和演进分组系统 (EPS) 承载的移动性状态。用于验证和保护 UE 的密钥包含在归属用户服务器 (HSS) 中。 MME 使用从 HSS 接收的密钥信息通过称为演进分组系统认证和密钥协议 (EPS-AKA) 的认证协议执行 UE 认证。 MME也参与EPS承载的激活/去激活过程,一个逻辑隧道在 UE 和 GW 之间的会话期间创建,用于为互联网连接提供服务。因此,它通过建立和终止会话来管理用户网络访问。用户移动性通过跟踪存储在 MME 中的每个用户的状态(例如,UE 是否连接到网络)来管理,并以小区为单位跟踪 UE 的位置。这些小区被分组到一个跟踪区 (TA) 中。
4G GW 由两种类型的 LTE 网关组成:服务网关 (S-GW) 和 PDN 网关 (P-GW)。这些 GW 保证 UE 的移动性并提供互联网服务。当UE从一个基站移动到另一个基站时,S-GW成为锚点,称为切换,P-GW分配IP地址并管理UE的计费数据。它还可以将 UE 连接到互联网。
B. LTE服务流程
1) UE附着过程:UE附着到网络的初始过程(如下图所示)与连接RAN(eNB)和EPC网络(MME)有关。 UE必须先与eNB建立无线连接,然后再附着到EPC网络,通过LTE网络完全连接到互联网。
UE和eNB之间的连接。当UE开机时,它首先根据USIM卡和设备调制解调器中的配置(例如,运营商特定代码、LTE频段和频道)通过侦听来自附近基站的广播消息来找到合适的小区。一旦UE找到合适的小区,(1)它发起随机接入(RA)过程以获得上行链路资源分配和定时信息。然后,它从选定的小区保存称为临时小区无线电网络临时标识符(临时 C-RNTI)的分配标识。利用该临时 C-RNTI 和上行链路分配,(2) UE 尝试通过发送 RRC 连接请求来建立无线电资源控制 (RRC) 连接。 (3) eNB收到请求后,回复RRC Connection setup,包括专用无线资源分配信息和C-RNTI值,用于区分UE进行后续无线通信。 (4)最后,UE通过向小区发送RRC连接建立完成消息,完成连接建立。一旦执行完所有这些步骤,UE 将在上行链路和下行链路中与小区同步。此外,UE 和 eNB 都将其 RRC 状态从 IDLE 更改为 CONNECTED,如 3GPP 标准中所定义那样。在 RRC CONNECTED 状态下,UE 使用 RRC 协议与连接的小区进行通信以进行控制平面过程。在第五节A中,我们表明在这些初始程序中通常不采用安全措施,从而导致目标 eNB 出现严重问题。
UE和MME之间的连接。一旦 UE 成功连接到附近的 eNB,它必须连接到 EPC 网络才能获得 LTE 服务。首先,(4) UE 将 NAS Attach 请求搭载到 RRC Connection complete 并发送给 MME。收到此消息后,(5) MME 通过使用从 HSS 生成的认证向量回复来自 UE 的 NAS 认证请求来启动认证和密钥协商 (AKA) 过程。 UE然后通过NAS认证请求中的内容对MME进行认证,并通过向MME发送NAS认证响应进行回复。在这个阶段,UE和MME都是相互认证的。接下来,在密钥协商方面, (6) MME 选择要使用的加密和完整性保护算法,并向 UE 发送 NAS 安全模式命令以告知其所选算法。收到此消息后,UE 为 NAS 层生成安全密钥。同样,(7) eNB 继续执行 RRC 安全模式命令以通知 RRC 层和用户平面数据安全的安全算法。在这些步骤之后,所有应根据标准保护的控制平面消息都使用协商的安全算法进行加密和完整性保护。最后,在NAS和RRC层交换可选配置后,(8)MME分配一个全球唯一临时标识(GUTI)来代替永久标识(LTE中的IMSI),并通过传输一个Attach accept发送GUTI和其它连接信息给 UE。当UE向MME发送Attach complete消息时,Attach过程最终完成。
2)UE移动性管理:每个MME管理自己的跟踪区(TA),每个跟踪区(TAC)由跟踪区码(TAC)标识。每个 TA 包含多个 eNB,这些 eNB 操作多个小区以根据运营商的操作策略有效地覆盖地理区域而没有信号干扰。当传入的服务请求到达特定的 UE 时,MME 首先检查 UE 是 RRC CONNECTED 还是 RRC IDLE。如果 UE 处于 RRC IDLE 状态,MME 必须唤醒 UE 以进行 RRC 连接和数据流量的其他无线电承载。此过程在 LTE 术语中称为寻呼。由于 MME 只有关于先前服务于 UE 的 TA 的信息,因此 Paging 消息被广播到该 TA 中的所有 eNB。如果在特定的 TA 中没有找到 UE,MME 可以向其他 TA 广播 Paging。请注意,根据分配给 QoS 的相对优先级、信令负载和其他操作问题,用于查找 UE 的特定寻呼策略可能因运营商而异。
0x03 The Proposed approach
本节介绍 LTEFuzz,这是一种以半自动方式在运营的 LTE 网络中系统地进行动态安全分析的建议方法。 LTEFuzz 包括三个主要步骤(如下图所示):
1)提取安全属性:首先,我们从安全方面来广泛分析控制平面过程的LTE标准。根据分析,我们创建了网络和移动设备需要遵循的三个安全属性,以确保它们免受未知的安全威胁。专注于安全方面。根据分析,我们创建了网络和移动设备需要遵循的三个安全属性,以确保它们免受未知的安全威胁。
(2) 生成测试用例:接下来,我们生成测试用例来识别目标控制平面组件违反安全属性的情况。测试用例是根据目标协议消息的指定规则及其每个属性的字段生成的。
(3) 问题行为分类:在执行测试用例时,我们需要确定UE侧的哪些响应和状态变化被认为是问题行为。为此,我们构建了一个简单的决策树逻辑来对有问题的案例进行分类。我们的模型仅在执行测试用例时考虑 UE 侧的控制平面日志和状态。因此,该模型使 LTEFuzz 能够以自动方式识别有问题的用例。本节的其余部分将考虑这些步骤中的每一个。
A. 从标准中提取安全属性
对有关控制平面程序和安全要求的规范的彻底分析使我们能够根据运营商的实施和配置策略识别可能导致控制平面程序的机密性和完整性保护被规避的潜在安全漏洞。第一,能够窃听和操纵 LTE 信号的攻击者可能会利用建立安全上下文之前的初始流程。第二,存在相当多的例外情况,其中接收实体会接受没有完整性保护的控制平面消息。第三,虽然规范为控制平面协议(如NAS和RRC)采用了计数器,但它指定了在验证消息完整性时在接收的消息中使用序列号(计数器的部分位)。因此存在消息重放的可能性。根据这些观察,我们创建了下表中列出的三个基本安全属性,每个属性都侧重于描述实体正确响应攻击者恶意行为的能力。我们假设攻击者具有最小特权:攻击者既不拥有向 LTE 网络注册的有效密钥,也没有其他合法用户密钥的信息。此外,由于每个属性侧重于不同的安全方面(即对未受保护程序的错误处理、无效的安全保护消息和强制性 AKA 程序),测试场景和特定目标消息的规则因属性而异。请注意,在考虑安全属性时,我们仅针对各种控制平面协议中的 NAS 和 RRC 协议,因为(1)这些协议用于执行 UE 和网络之间的关键控制平面过程(例如,UE 连接程序、移动性管理和身份验证),(2) 我们能够在 UE 处捕获和分析这些过程,以及 (3) 这些协议中已识别的漏洞直接影响 UE 和网络。
1) 属性 1:当攻击者在初始过程中发送精心设计的明文消息时,它确认接收实体(上行链路的 eNB 或 MME 和下行链路的 UE)是否适当地处理非预期输入。为了验证这个属性,我们在选择目标消息时考虑两种情况:(1)可以在安全激活之前发送的精心制作的明文消息,以及(2)根据标准,在安全激活之后不应在未受保护的情况下发送的消息。对于第一种情况,我们主要检查初始明文消息的潜在威胁,这些消息无法受到 LTE 对称密钥加密的性质的保护。对于这些未受保护的消息,很难区分接收到的消息是来自攻击者还是合法用户。另一方面,第二种情况的目的是检查部署的蜂窝组件是否正确实现以拒绝或丢弃不符合标准的无效明文消息。安全激活后传输的消息通常遵循安全关键程序。因此,如果接收实体错误地处理这些受安全保护的消息,攻击者可能会影响 UE 的连接状态或暴露 UE 的私人信息。这里我们假设攻击者既没有订阅特定的移动电话服务,也没有其他 UE 的安全密钥。因此,攻击者将能够创建和发送具有任意内容的明文消息,但这些消息是无效的。在测试过程中,攻击者在调查 eNB 和 MME(上行方向)的行为时充当恶意 UE,在调查 UE 行为(下行方向)时充当恶意 LTE 网络。
示例案例。代表第一种情况的消息示例是 RRC 连接请求。由于初始 RRC 连接过程不受设计保护,因此攻击者可以在建立 RRC 连接时伪造任何内容。没有适当安全措施的受害者 eNB 会接受这些伪造的消息。第二种情况的例子可能是一个普通的 NAS Attach 请求,它被受害者的 GUTI 欺骗了。在正常情况下,当 UE 尝试使用其先前的加密密钥信息(在 3GPP 中称为安全上下文)和 GUTI 执行重新注册时,会发送完整性保护的 NAS 附加请求。收到消息后,MME 允许 UE 注册而不执行 AKA 过程,因为 UE 已经通过其有效的完整性保护消息进行了身份验证。因此,如果 MME 没有正确检查接收到的消息是否必须受到安全保护,攻击者可能会通过发送一个用受害者的 GUTI 欺骗的 NAS Attach request来断开受害者的现有连接。
2) 属性 2:验证接收方是否正确处理了错误地封装了一个安全头的非预期消息。根据规范,除了一些消息,如Attach 请求、TAU 请求和安全模式命令,所有这些仅进行完整性保护的消息,在AKA 过程之后的所有NAS 消息都应该被加密和完整性保护。为此,当 UE 在 AKA 过程之后发送 NAS 消息时,它首先对纯 NAS 消息进行加密,然后计算用于完整性保护的消息验证码 (MAC)(如下图所示)。我们通过研究两种特定情况来确定接收实体是否适当地验证了 (1) 受安全保护消息的完整性和 (2) 序列号,它由 32 位计数器值的八个最低有效位组成,以此来证明此属性在发送和接收实体之间同步。直观地说,如果接收实体不验证消息的完整性,攻击者就可以伪造任何未加密的消息。此外,如果序列号没有得到彻底验证,攻击者可以使用先前从受害者 UE 捕获的安全保护消息发起重放攻击。与属性 1 类似,由于攻击者没有任何密钥来生成有效消息,因此他们在与 eNB 建立连接后发送无效消息。每种情况的目标消息构成了在安全激活之后应该受到保护的每个可能的消息。
示例案例。与第一种情况相关的示例是 NAS 上行链路 NAS 传输,它用于通过 NAS 提供 SMS 的运营商内的 SMS。如果 MME 没有正确验证此消息的完整性,攻击者可以通过伪造 NAS 上行链路 NAS 传输消息的内容来利用它进行 SMS 网络钓鱼攻击。代表第二种情况的另一个示例是 NAS PDN 断开请求。该消息的目的是释放已建立的分组数据网络(PDN)连接。特别是,当用户关闭他们的设备或关闭数据服务时,攻击者可以通过伪装成受害者 UE 向网络发送此消息,如果网络没有正确验证消息中指定的序列号,则网络将接受此重播消息。这可能会导致对合法用户的选择性拒绝服务。
3)属性3:确认3GPP标准中规定的安全过程是否可以被恶意UE或网络绕过。 LTE 标准采用 EPS-AKA 进行 UE 和网络之间的相互认证,以保护控制面和数据面。这包括基于挑战应答机制的 NAS 认证过程和 RRC 和 NAS 层中的安全模式命令,它们是用于控制面和数据面机密性和完整性的会话密钥协商过程。可以使用三种方法来检查是否可以绕过这些安全过程。首先是对LTE标准中采用的密码算法进行安全分析。但是,这种情况超出了本文的范围。其次,可以考虑攻击者操纵在 RRC/NAS 安全模式命令中选择的加密和完整性保护算法以及 NAS 保护消息中的安全标头类型的情况。作者之前对此进行了研究 但仅在一个商用调制解调器中发现了漏洞。最后一种情况涉及省略部分强制性安全程序。如果设备允许这种情况发生,没有合法设备的加密密钥的恶意 LTE 网络甚至可以提供没有机密性和完整性保护的受操纵服务。尽管这些情况如果被利用可能会造成严重威胁,但后果尚未得到调查和公开披露。因此,我们限制此安全属性的范围以验证 UE 是否正确处理恶意 LTE 网络在 RRC 和 NAS 层中忽略强制安全程序(例如身份验证请求和安全模式命令)的情况。
示例案例。一个例子可能是忽略 NAS 身份验证请求,使攻击者能够在没有身份验证和密钥协商的情况下继续遵循服务程序,这两者都是强制性程序。
B. 为每个属性生成测试用例
尽管我们为每个属性选择了目标消息,但如果我们考虑每个消息中所有可能字段值的输入,则会存在多个测试用例。例如,为验证安全属性 1 的无效纯 NAS Attach request生成测试用例必须考虑它有 24 个字段,包括一个可选字段,并且此消息中的可用长度可能至少为 16 个字节。显然,测试所有这些可能性是昂贵的。为了减少测试用例的数量,同时执行足够数量的测试来调查目标实体的行为,LTEFuzz 使用商用控制平面消息日志。在这方面,我们通过发送 AT 命令来触发基带芯片组中的许多功能来收集各种控制平面消息。然后我们使用这个日志来构建一个数据库,在其中存储由运营商分隔的每个字段收集的日志中的所有值。因此,当生成器为运营商 A 创建测试用例时,它选择标记为运营商 A 的可能值之一。 当生成测试用例以检查序列号验证(属性 2 中的第二种情况)时,我们通过捕获生成所有测试用例受害UE一侧的数据包。在为初始明文消息(属性 1)和具有无效 MAC 的消息(属性 2 中的第一种情况)生成测试用例时,仅考虑必填字段,因为它们对正确的 LTE 操作至关重要。需要注意的是,当测试用例消息中包含UE的identity字段时,会包含UE的当前标识,例如GUTI或IMSI,以检查接收实体是否改变了受害UE的状态。
C. 对问题行为进行分类
当测试每个案例时,LTEFuzz 必须识别其中哪些会导致接收实体出现问题行为。如果接收实体的操作日志可用于监控,则可以轻松实现。但是,如果没有运营商或设备供应商的支持,研究人员无法获得蜂窝网络的运行日志。为了克服这个限制,LTEFuzz 通过基于简单的决策树仅监控 UE 中的日志来对问题行为进行分类,如下图所示。该逻辑有两个决策阶段:(1)测试用例(无效消息)是否被接受,以及(2)测试用例是否导致受害UE断开连接。对于第一个决策阶段,我们根据 3GPP 标准定义接收实体接受每个测试用例时的预期响应。然后,LTEFuzz 在发送每个测试用例时检查 UE 是否收到预期的响应。例如,如果测试用例是无效的 NAS 身份请求,则预期响应应该是具有所需消息内容的 NAS 身份响应。一旦收到这个预期的响应,LTEFuzz 就会认为测试用例被接受,并将测试用例归类为异常,因为不应接受具有无效输入的测试用例。在第二个决策阶段,它进一步检查受害UE是否响应测试用例与网络断开连接。如果是,则归类为有问题,这可能导致对受害 UE 的拒绝服务(情况 1)。如果没有接受或未知,它也被归类为有问题,因为这种行为可能被利用来进行欺骗攻击(情况 2)。当测试用例在第一阶段没有被接受时,结果在第二阶段被分成两个不同的用例。如果受害UE在接收实体不接受测试用例的情况下与网络断开连接,则它也被归类为有问题的行为,这可能源于接收实体在识别接收到的消息无效时的不当行为(情况 3)。否则,测试用例被归类为正常,这意味着接收实体正确处理了无效消息(情况 4)。基于这种分类,我们可以很容易地识别异常,甚至可以获取攻击场景。例如,攻击者可以利用分类为案例 1 和 3 的精心制作的消息对受害者 UE 进行 DoS 攻击。
0x04 Implementation
虽然我们在上面解释了我们减少了测试用例的数量,但是手动执行这个数量的测试用例是很耗时的。此外,手动方法可能会增加引入错误的可能性,从而影响实验的一致性和可靠性。为此,我们尝试在完全可控的开源 LTE 堆栈和称为 SCAT 的控制平面日志记录工具的帮助下尽可能地自动化测试操作。 LTEFuzz 执行测试用例的实验设置和实现分为两种类型:1) 检查上行测试用例的运营网络组件,以及 2) 检查商用移动设备的下行链路测试用例。
1) 检验运营网络。在此步中,测试人员充当恶意 UE,并将带有测试用例输入的精心设计的消息发送到目标操作网络。测试器在称为 srsLTE 的开源标准 UE 堆栈上实现。为了确认每个测试用例是否在网络侧被执行或触发失败,我们使用决策树通过仅监控 UE 侧的日志来对有问题的用例进行分类。为此,测试人员通过在 RRC 和 NAS 层欺骗受害者 UE 的身份来冒充受害者 UE 来发送测试用例消息。然后,每当我们的测试人员执行测试用例时,我们都会通过使用 SCAT 来观察受害 UE 的行为。我们通过在测试者和受害 UE 之间建立通信通道来使此过程自动化。 ①当受害 UE 准备好时,测试器执行测试用例并向受害 UE 发送通知。②收到通知后,受害者 UE 向公共网站发送 ping 请求并检查 ping 响应。如果是 Network is unreachable,则测试用例被标记为“Caused de-registration”。③ 最后,我们分析了 UE 端的日志,并根据我们的决策树对每个测试用例进行分类。下图展示了运行我们的上行链路测试的实际屏幕截图。我们通过考虑以下三个案例进行了上行测试,以验证每个测试案例的有效性。受害者和测试者位于(1)同一个小区,(2)不同小区但在同一个 eNB 中,以及(3)不同的 eNB 但在同一个 MME 池中。
2) 检验商用移动设备。在这种情况下,测试器充当在 openLTE 之上实现的恶意 LTE 网络,受害 UE 连接到主机 PC 以捕获控制平面日志。自动化测试操作如下。 ① 一旦将测试用例作为输入提交到恶意 LTE 网络,它就会等待,直到受害者尝试连接到我们的网络。②当受害者发送 RRC 连接请求时,我们的恶意 LTE 网络按照测试用例中的规定运行,并通知受害者端测试已执行。 ③受害方收到通知后,保存控制平面消息。此外,如果受害者陷入无法恢复到正常状态的无效状态,主机 PC 通过发送 Android 调试桥 (ADB) 命令强制受害者 UE 重新启动。
这部分由 3,470 行代码 (LoC) 组成,这些代码是通过深入分析 537 个开源工具文件中超过 9 万行的代码而确定的。这包括用于测试输入生成器的 1,937 个 C++的 LoC、用于上行/下行链路测试器的 1,390 个 C++的 LoC 以及用于测试器和受害 UE 之间通信信道的 143 个 Python 的 LoC。
0x05 The Results
我们仔细地对两个 Tier-1 运营商网络(具有三个不同的 MME 和三个 eNB)和商业 UE(包括三个不同的基带供应商)进行了动态测试。每个测试用例的测试结果表明,我们在不同的目标网络组件和设备供应商中发现了 51 个漏洞。我们通过采访运营商的同行证实了我们在运营网络中的大部分实验结果的有效性。我们通过将结果分为五种类型来解释我们的实验结果及其根本原因分析。
A. 初始 RRC 过程不受保护
测试用例观察。 RRC层属性1的测试表明RRC连接过程既没有加密也没有完整性保护;因此,属于 RRC 连接过程的所有消息都归类为表 IV 中列出的情况 1 或 2。因此,在 RRC 连接过程中,对手可以利用这些消息来伪造内容或拒绝受害 UE 的连接。例如,如果攻击者将 RRC 连接请求中的 ueIdentity 字段的内容更改为受害者的 S-TMSI,这可以欺骗 eNB 并使其相信受害者 UE 当前处于 RRC CONNECTED 状态,尽管受害者处于RRC 空闲状态。
根本原因分析。根据 3GPP 标准,UE 和 MME 之间的初始认证过程通过 NAS 协议发生,在 RRC 连接过程之后进行处理。因此,任何 eNB 首先允许 UE 的 RRC 连接请求,并将认证过程留给 MME。当鉴权过程由于UE的无效响应而失败时(例如,在未订阅用户或非法UE的情况下),MME向eNB发送UE上下文释放请求消息以释放异常用户的现有RRC连接。因此,按照设计,即使是未合法订阅特定运营商的非法用户也能够连接到该运营商的 eNB。然而,他们将无法维持 RRC 连接超过几秒钟,因为他们的设备将无法正确响应 NAS 身份验证请求。尽管有这个限制,但我们确定只有能够连接到 eNB(但无法继续连接以实现完全注册)的攻击者才可以执行关键攻击,例如阻止到目标 eNB 的任何 RRC 连接,断开当前的 RRC 连接,并阻止目标用户的传入服务。这些攻击主要源于 3GPP 标准,因此初始 RRC 连接过程不受保护,可能被对手滥用。
B. 无效的上行 NAS 明文消息失效
测试用例观察。如上所述,我们对三种不同情况进行了上行链路测试:受害者 UE 和测试者 UE4 位于 (1) 同一小区,(2) 不同小区但在同一 eNB 中,以及 (3) 不同的 eNB但在同一个 MME 池中。结果表明,攻击者可以通过伪装成受害者 UE 的 RRC 连接发送无效的明文请求。有趣的是,三种 MME 类型在收到我们无效的明文请求时有不同的问题行为。例如,当测试者向 MME1 和 MME3 发送精心设计的明文 NAS 连接请求时,他们删除了受害者 UE 的连接并向测试器发送了释放命令,从而隐秘地将受害者 UE 从网络中分离(情况 3)。在这种情况下,除非它通过发送 NAS 服务请求来启动上行链路数据的传输,否则受害者 UE 不会收到其与服务断开连接的通知。当受害UE收到原因为隐式分离的服务拒绝时,它必须继续进行初始连接过程以重新连接到LTE网络,这会导致服务中断几秒钟。对于另一种断开情况,在收到普通的 NAS Detach 请求后,所有三个 MME 都立即断开与受害 UE的连接,并向测试器 UE 回复 NAS Detach accept(情况 1)。除此之外,我们还证实了MME2 在没有任何保护的情况下处理明文 NAS 上行链路 NAS 传输(情况 2)。在这种情况下,如果用户订阅了与上述易受攻击的运营商有漫游协议的任何运营商,则攻击者可以利用此 MME2 向任何用户发起 SMS 网络钓鱼攻击,而无需付费。
根本原因分析。根据 3GPP 标准,UE 仅在没有有效的安全上下文时才发送没有安全保护的初始请求,例如发生上下文定时器过期或意外错误时。如果 UE 没有有效的安全上下文(即用于加密和完整性保护的会话密钥),则 MME 需要创建一个新的有效安全上下文,以便进一步实现完全注册。创建受害者新的有效安全上下文的第一步是 UE 和 MME 之间的身份验证过程。因此,在收到未经保护的的来自测试人员(充当恶意 UE)的欺骗性初始请求后,MME 将需要执行 NAS 身份验证程序以确认此异常消息是否来自合法用户,而无需处理该消息或立即断开连接现有的 UE 连接。因此,由于我们假设攻击者 UE 没有有效的安全上下文,它无法正确执行认证过程,从而不会影响合法 UE 的现有连接。因此,如果这在 MME 中正确实现,则受害 UE 不应隐式地与网络分离,如在我们的测试案例中所观察到的。总之,我们发现所有三个 MME 都没有正确处理无效的普通请求。
C. 非完整性检查使欺骗攻击成为可能
测试用例观察。为了验证属性 2 中的第一种情况,我们的测试器生成了具有不正确 MAC 的安全保护 NAS 消息,并将它们发送到 MME 或 UE,以检查它们是否适当地验证了 MAC。因此,我们在收到具有无效 MAC 的消息时在不同的 MME 中观察到三种不同的问题行为(情况 1、2 和 3)。属于情况 1 和 2 的 MME 没有验证 MAC,只是接受了无效消息。例如,当测试者发送一个带有无效MAC的上行NAS传输消息时,MME认为这是有效的,因此,SMS被发送到目的UE。另一方面,属于情况 3 的另一个 MME 在收到消息时验证了 MAC。然而,无论接收到的消息类型如何,接收到具有不正确 MAC 值的消息都会导致 MME 断开受害 UE 的现有连接。在这种情况下,带有不正确的 MAC 的上行 NAS 传输消息会导致受害 UE 注销,并且没有将 SMS 消息发送到目标 UE。
根本原因分析。根据 3GPP 标准,一旦 UE 和 MME 之间存在有效的安全上下文,UE 和 MME 都必须验证 NAS 消息的完整性。然而,我们推测设备供应商误解了某些特殊情况(例如,当 UE 在为初始消息激活安全性之前发送消息时,MME 在没有完整性保护的情况下接受 NAS 消息)。在我们的测试场景中,因为受害者UE 和服务 MME 具有有效的安全上下文,MME 应该验证每个接收到的消息的完整性。验证失败应该导致 MME 丢弃或拒绝接收到的消息,同时保持受害 UE 的现有连接。因此,这些案例显然构成了所有三个 MME 的处理错误。
D. 重放消息被接受
测试用例观察。在验证属性 2 中的第二种情况时,我们还检验了接收实体(网络组件或 UE)是否验证序列号以防止消息重放攻击。结果证实,一些精心设计的 NAS 消息被 MME 和 UE 都接受为有效,因为测试人员随后收到了预期的回复消息(情况 1)。例如,当测试者发送重放的 NAS PDN 断开请求以断开指定的现有数据承载时,测试者收到安全保护的 NAS 消息,而受害 UE 隐秘地断开了数据承载的连接(情况 1)。另外,当测试器向MME3发送重放的NAS TAU请求时,它向测试器回复了NAS TAU accept,这意味着MME3错误地更新了受害UE的TA(情况2)。然而,当测试器向 MME1 发送重放的 TAU 请求时,它立即断开注册受害 UE 的现有连接,而测试器收到 RRC Connection release (情况 3)。对于下行 NAS 消息,我们确认海思基带接受了重放的消息,允许攻击者执行消息欺骗攻击(情况 2)。
根本原因分析。3GPP 标准要求 MME 和 UE 都支持对受安全保护的 NAS 消息的重放保护,并为供应商提供了详细的重放保护方法。但是,同一个文档要求接收实体在验证接收到的 NAS 消息的完整性时,将接收到的消息中包含的 NAS 序列号用于计数器的 8 个 LSB。此外,当完整性验证成功时,接收实体应使用接收到的序列号的值更新其本地计数器。在这种完整性验证方法中,除非本地计数器的 28个 LSB 与计算消息完整性时使用的计数器不同,否则消息重放是可能的。因此,标准中规定的完整性验证方法与 NAS 消息应支持重放保护的安全要求相矛盾。结果,所有三个 MME 都容易受到重放攻击,至少对于一个 NAS 消息,我们的目标基带之一接受了重放消息。
E. 安全过程可被绕过
测试用例观察。在属性 3 方面,我们检查了三个测试用例:(1)跳过 RRC 层中的密钥协商过程以取消 RRC 和用户数据的安全上下文,(2)跳过 RRC 和 NAS 层中的密钥协商程序取消整个控制平面和数据平面的安全上下文,以及 (3) 在 RRC 和 NAS 中跳过 AKA 中的所有安全过程。因此,对于我们的目标移动设备,只有第一种情况成功。如果攻击者利用这种情况,他们将能够欺骗 RRC 消息以获取 UE 的私人信息,并窃听用户的通信。
根本原因分析。如规范中所述,安全程序是保护 UE 与网络之间通信的强制性步骤。但是,我们确认部分商用设备(使用高通基带)不符合规范,所以它们允许省略 RRC 层中的安全密钥协商。因此,该漏洞的根源在于商用基带芯片组的实现缺陷。
0x06 Attacks Exploting ENB
A. BTS 资源耗尽攻击
每个商用 eNB 都具有基于其硬件和软件规范的最大活动用户连接容量。 BTS 资源耗尽攻击的目的是耗尽活动 RRC Connections 的这个容量,从而阻止其他用户连接到目标 eNB。
1) 攻击模型:这种攻击的目标是商业运营的 eNB。攻击者可以通过被动侦听广播消息来获取目标 eNB 的连接信息,类似于其他正常设备。
2) 攻击过程:攻击者重复执行随机访问并生成 RRC 连接以增加活动 RRC 连接的数量,如下图所示。在正常情况下,在 RRC 连接建立后,初始 NAS 连接过程立即通过 NAS 连接请求或 NAS 服务请求搭载在 RRC 连接完成消息上进行。在我们的攻击中,攻击者使用任意用户 IMSI 发送 NAS Attach Request。与正常流程不同的是,一旦攻击者收到 NAS Authentication Request,它就会重新启动 Random Access 以建立新的 RRC 连接。对手不回复来自 MME 的 NAS 认证请求的原因是在 MME 等待有效的 NAS 认证响应时维持已建立的 RRC 连接。如果对手以无效的 NAS 身份验证响应进行回复,则会导致立即释放 RRC 连接。攻击成功的一个考虑因素是新建立的 RRC 连接的数量必须大于释放的现有 RRC 连接的数量。
3) 实现:我们使用一个 USRP B210 作为软件无线电收发器,并使用 srsUE 来实现恶意 UE。为了用不同的 C-RNTI 连续重复 RRC 连接过程,我们修改了 srsUE 以在它收到 NAS 认证请求时重新启动另一个随机接入过程,而不是用 NAS 认证响应进行回复。如果使用相同的 C-RNTI 发送多个 RRC 连接请求,则 eNB 将其作为对同一 RRC 连接的重复请求进行处理,这不是我们攻击的目标。
4) 验证:因为攻击商业运营的 eNB 会影响合法用户,我们对连接到我们在 OpenAirInterface (OAI) 上实现的测试平台 EPC 网络的 COTS 毫微微蜂窝基站执行了 BTS 资源消耗攻击。我们主要尝试确定可以使用一台 USRP 设备建立的虚假 RRC 连接的数量。这是通过验证使用 Airscope 的毫微微蜂窝的活动 RRC 连接来完成的。它通过对 LTE 物理层中的通信信道进行解码来提供无线用户信息。下图显示活动 RRC 连接的数量增加,直到达到毫微微蜂窝的最大容量,即在我们的目标毫微微蜂窝的情况下为 16 个活动连接。
因此,一旦对手产生了 16 个 RRC 连接,毫微微蜂窝将拒绝来自对手或合法 UE 的所有后续 RRC 连接请求,如下图所示。在演示攻击时,建立 16 个 RRC 连接需要 0.762 秒,我们每秒可以建立 20 个 RRC 连接。因此,如果可操作的 eNB 等待 10 秒以释放不活动的 RRC 连接,则对手将能够创建 200 个 RRC 连接。我们与运营商确认,这种性质的攻击会影响正在运行的 eNB。此外,运营商提出了一个更严重的情况。如果对手在 RRC 连接请求中包含“紧急”作为建立原因,如果没有额外的 RRC 资源可用,它甚至会释放现有的 RRC 连接。
B. 盲 DoS 攻击
与上述拒绝 eNB 中的多个用户的攻击不同,盲 DoS 攻击通过建立伪装成受害者 UE 的 RRC 连接来拒绝目标 UE。
1) 攻击模型:攻击者在受害者服务 eNB 覆盖的区域内进行攻击。攻击者还知道受害者的 S-TMSI,可以通过三种方式获得:
• 知道受害者的电话号码或社交媒体(例如 Facebook 和 Whatsapp)上的帐户的对手可以通过执行无声寻呼攻击来获取受害者的 S-TMSI。
• 位于目标用户附近的攻击者可以操作恶意 eNB 来获取受害 UE 的 NAS TAU 请求。该请求包含受害者 UE 的 S-TMSI。一旦收到此消息,攻击者就会关闭恶意 eNB,以使受害 UE 能够通过连接到运营商网络来恢复 LTE 服务。
• 攻击者嗅探目标UE 的RRC 连接过程以获得目标UE 的S-TMSI,如RRC 连接建立中指定的那样。
2) 攻击过程:攻击者通过建立一个被欺骗为受害者 UE 的 RRC 连接来执行攻击(如下图所示)。这可以通过在 RRC 连接请求的 ueIdentity 字段中插入受害 UE 的 S-TMSI 来实现。不费吹灰之力就可以发起这种攻击来规避已部署的安全措施,因为按照设计,RRC 连接过程没有安全机制来隐藏内容或验证消息发送者。
3) 实现:我们使用一个 USRP B210 作为软件无线电收发器,srsUE 用于软件 LTE UE。我们稍微修改了 srsUE,将目标 UE 的 S-TMSI 添加到 RRC Connection 请求的 ueIdentity 字段中。另外,由于与BTS资源耗尽攻击相同的原因,攻击者设备不响应NAS Authentication请求。
4) 验证:我们验证了对位于我们实验室大楼附近的商用 eNB 的攻击。为了排除无辜的受害者,我们只使用了我们手机的 S-TMSI 作为受害者 UE 的身份。根据受害UE的RRC连接状态,通过将攻击分为两种类型来评估攻击的影响。
• 受害UE 处于RRC IDLE 状态:当寻呼通知传入服务或UE 有传出服务流量时,UE 尝试建立RRC 连接。如果攻击者伪造成受害者 UE建立了一个 RRC 连接,提供服务的 eNB 将受害者的 RRC 状态保存为 RRC CONNECTED 并将此更改通知提供服务的 MME。因此,尽管存在针对受害者的传入服务,MME 不会触发对任何 eNB 的寻呼。在这种情况下,受害者会隐式地与服务 eNB 断开连接,直到它尝试为来自应用服务的传出流量建立新的 RRC 连接。从用户的角度来看,传入的数据和语音都被阻止,而不会发出任何断开连接的通知。
• 受害者 UE 处于 RRC CONNECTED 状态:当攻击者建立了一个伪造的 RRC 连接,受害者 UE 现有的 RRC 连接在 eNB 上被释放,而不通知受害者。在这种情况下,UE 继续与服务 eNB 通信,但由于无线承载已经释放而失败。一旦多次通信失败,UE 就会进入无线链路失败 (RLF) 状态,从而发送 RRC 连接重建请求。然而,服务 eNB 拒绝了这个请求,因为它已经被释放了。 UE收到拒绝消息后,尝试执行NAS TAU程序并通过发送NAS服务请求重新建立连接。最终,UE在上述重新注册过程中与网络断开连接。重新注册所需的时间约为 0.5 秒,因此如果攻击者每 0.5 秒持续建立欺骗性 RRC 连接,受害者将永久保持断开连接状态。
请注意,我们在三个不同的 eNB 供应商上验证了这种攻击。当受害 UE 处于 RRC IDLE 时,所有 eNB 的攻击都成功了。然而,当受害者 UE 处于 RRC CONNECTED 状态时,我们的两个目标 eNB 受到攻击影响,而另一个 eNB 没有。总而言之,盲 DoS 攻击可以通过欺骗 eNB 认为 UE 处于 RRC CONNECTED 状态的来阻止处于 RRC IDLE 状态的受害 UE 的传入服务。此外,受害的 UE 被两个供应商永久停止使用 LTE 服务,因为那些 eNB 只为 UE 的单个 S-TMSI 维护单个 RRC 连接。
0x07 Attacks Exploting MME
A. 远程注销攻击
1) 攻击者模型:攻击者应该能够向注册受害 UE 的 MME 发送恶意 NAS 消息。通常,MME 管理分布在大地理区域中的多个 eNB。攻击者还知道受害 UE 的 S-TMSI。特别是,对于利用消息重放的攻击,攻击者必须在发起攻击之前捕获相应的消息。获取受害UE的控制平面消息有两种方式。
• 攻击者可以操作恶意 LTE 网络来捕获受害 UE 的控制平面消息,同时在 UE 和网络之间转发这些消息。
• 攻击者可以在 UE 上安装具有控制平面消息记录功能的恶意应用程序。
我们通过利用恶意 LTE 网络捕获受害 UE 的控制平面消息来实施攻击。在这种情况下,对手无法解密消息。但是,我们可以仅通过检查消息的顺序和长度来正确识别加密消息的类型。
2) 攻击过程:如下图所示,①敌手首先建立一个 RRC 连接,伪装成受害者 UE(使用 UE 的 S-TMSI)。②攻击者向为受害者提供服务的 MME 发送精心设计的初始纯请求、无效的安全保护消息或重放消息。在这种情况下,一旦对手通过伪造的 RRC 连接发送消息,提供服务的 eNB 就会通过检查 S-TMSI 将消息转发给为受害者服务的 MME。③ MME 不恰当地处理从攻击者那里收到的消息。因此,MME 在没有通知他们的情况下断开注册受害 UE 的连接。
3)实现:我们使用srsLTE UE堆栈实现了攻击。一旦建立了欺骗的 RRC 连接,她就会发送易受攻击的 NAS 消息。
4) 验证:我们通过利用无效的明文消息、安全保护消息或重放消息,演示了针对可操作的 LTE 网络的远程注销攻击。我们确认攻击者可以通过连接到任何能够与为受害者 UE 服务的同一个 MME 通信的 eNB 来执行此攻击。与对应运营商的访谈显示,无论地理区域如何,eNB 都可以与任何 MME 通信,这取决于特定运营商的运营政策。在这种情况下,只有当对手成功获得有效的 GUTI 时,对手才能远程注销订阅了运营商的任意用户,而不管用户的位置如何。请注意,获得有效的 GUTI 并不困难。消息重放的一个值得注意的情况是,一旦 MME 接受重放的 NAS PDN 断开请求,攻击者可以选择性地拒绝用户的服务(例如,攻击者盲目地断开受害 UE 的数据服务,而语音服务继续可用)。
B. 短信钓鱼攻击
1) 攻击者模型:在这种情况下,攻击者通过使用受害者 UE2 的电话号码欺骗消息发送者,向受害者 UE1 发送 SMS 消息。为此,攻击者知道 UE2 的 S-TMSI 以欺骗发送者。实际 SMS 消息发送到的 UE1 的电话号码也是已知的。此外,我们假设目标 LTE 网络通过 NAS 层提供 SMS。
2) 攻击过程: ①攻击者首先使用 UE2 的 S-TMSI 建立欺骗性 RRC 连接。②然后,生成SMS 内容并在 NAS 上行链路NAS 传输中。③在 RRC 连接建立之后,攻击者立即将生成的 NAS 上行链路NAS 传输发送到服务 MME。收到消息后,MME 将这个受控的 SMS 发送给 UE1。
3)实现:我们通过修改srsLTE实现来实现这种攻击。特别是,我们只是添加了支持通过 NAS 发送短信的功能。
4) 验证:我们的测试结果证实我们成功地对运营商进行了这次攻击,因为 MME1 不验证 NAS 上行链路 NAS 传输消息的序列号,而 MME2 接受所有无效消息(明文、无效 MAC 和重放)。
0x08 Attack Exploiting UE: AKA Bypass Attack
1) 攻击模型:攻击者距离受害 UE 足够近,以触发从现有 eNB 到对手的恶意 LTE 网络的切换。为此,恶意 LTE 网络以比商用 eNB 更高的传输功率传输 LTE 信号。此外,攻击者必须知道跟踪区域 (TA) 列表才能将恶意 LTE 网络伪装成商用网络。可以通过两种方式轻松获取有效的 TAC :
• 如果攻击者订阅了与受害者相同的运营商,则可以通过检查控制平面消息(例如Attach Accept)来获取TA 列表。
• 如果攻击者只拥有一个恶意 LTE 网络,他首先随机选择一个 TA。一旦目标 UE 连接到恶意 LTE 网络,它就会发送 TAU 请求,因为连接网络的 TA 不在其 TA 列表中。在收到来自UE的TAU请求后,攻击者可以通过解析该请求来获得UE之前的TAC。请注意,TAU 请求仅受完整性保护。
2) 攻击过程:如下图所示,攻击者构建恶意 LTE 网络并配置其运行参数,使其与受害者的运行网络相同。①如果流氓 eNB 的发射功率高于提供服务的 eNB,则处于 RRC IDLE 状态的受害者会重新同步到对手的 eNB。在这种情况下,由于恶意 eNB 的 TAC 包含在受害 UE 的 TA 列表中,因此 UE 不会触发 NAS TAU 过程。因此,②当 UE 正在发送传出数据(即,通过呼叫某人或浏览网页)或从恶意 LTE 网络接收寻呼时,它会建立 RRC 连接并发送 NAS 服务请求。在收到来自 UE 的有效完整性保护服务请求后,正常 eNB 执行 RRC 安全模式过程以重新生成 RRC 层和用户数据的密钥。然而,我们的恶意 LTE 网络忽略了这个过程,并立即准备通过发送一个普通的 RRC 连接重新配置来创建一个无线电隧道(也称为数据无线电承载 (DRB))。收到这个请求后,UE 创建 DRB 并回复一个正常的 RRC 连接重新配置完成消息。最后,UE 通过该隧道与流氓 LTE 网络传输和接收未受保护的用户数据,而不会收到任何通知。
3) 实施:我们使用一台 USRP B210 作为无线电收发器,并使用 openLTE 作为恶意 LTE 网络。攻击者的恶意 LTE 网络不会为 RRC 层和用户数据协商安全算法以响应来自受害者 UE 的连接请求。此外,在没有安全保护的情况下执行 RRC 重新配置过程,这违反了3GPP标准中的安全指南。
4) 验证:我们验证了 AKA Bypass 攻击可以使多个智能手机型号(例如,LG G2 和三星 Galaxy S4/S5,均使用高通基带)上现有 UE 的用户数据的现有加密无效。由于我们的恶意 LTE 网络将 TAC 配置为受害 UE 的 TA 列表,因此该 UE 在首次与我们的 eNB 同步时没有触发 TAU 请求。有趣的是,一些模型在攻击期间频繁发起 NAS TAU 请求。然而,如果恶意 LTE 网络在收到来自 UE 的请求后没有回复,则受害者 UE 通过发送 NAS 服务请求重新连接。这证明即使在这种情况下,我们的攻击仍然有效。
0x09 Countermeasures
利用 eNB 的攻击。在 BTS 资源耗尽攻击的情况下,eNB 无法区分攻击者的 RRC 连接请求和合法 RRC 连接请求。这种攻击的一种可能缓解措施是减少不活跃计时器值,以允许对身份验证请求无响应的 RRC 连接到期。虽然它不是一个根本的解决方案,但它可以削弱这种攻击的影响,因为它最大限度地减少了对手可以建立的虚假 RRC 连接的数量。然而,如果运营商将不活跃定时器配置得不恰当,则UE可能会执行频繁的RRC连接过程,那么这将增加 eNB 和 MME 侧的信令负载。另一方面,当收到多个使用相同 S-TMSI 的 RRC 连接请求时,对 Blind DoS 攻击的可能缓解可能是重新分配 S-TMSI。根据3GPP标准,MME可以通过两种方式触发S-TMSI的重新分配。第一种是直接向UE发送安全保护的NAS GUTI重新分配命令。然而,这并不能阻止 Blind DoS 攻击,因为在攻击期间 UE 不会收到消息。另一种方法是使用 UE 的 IMSI 广播寻呼。由于 Paging 在小区覆盖的整个区域上广播,因此 UE 将接收它并在收到 Paging 消息后启动与 IMSI 的附着过程,这将增加信令开销。
利用 MME 和 UE 的攻击。远程注销攻击和短信网络钓鱼攻击都源于操作 MME 的不正确实现。因此,应严格遵循 3GPP 标准来谨慎实施这些 MME。 AKA 绕过攻击也源于 UE 错误地处理了强制安全程序。因此,在成功完成强制安全程序之前,UE不应进行任何控制平面程序。
0xA Councluding Remarks and Future Work
在本研究中,我们通过动态测试运营 LTE 网络中的控制平面组件来调查潜在的安全问题。半自动化动态测试的过程包括三个步骤:基于规范分析创建安全属性、生成和执行违反安全属性的测试用例,以及对有问题的用例进行分类。结果,LTEFuzz 在不同运营商和设备供应商之间成功识别了 15 个已发现的漏洞和 36 个新的设计和实施漏洞。调查结果分为五种漏洞类型。我们还演示了几种可用于拒绝各种 LTE 服务、发送网络钓鱼消息和窃听/操纵数据流量的攻击。我们通过审查相关标准和采访运营商的合作者,对发现的问题进行根本原因分析。
总之,LTEFuzz 是发现运营商和设备供应商造成的设计和实现漏洞的有效工具。我们的发现在两个方面很有趣:1) 即使在一个运营商中,两个 MME(可能来自不同的供应商)也有不同的漏洞,2)由一个设备供应商制造的两个 MME(在两个运营商中)有不同的漏洞。这说明设备供应商和运营商都没有仔细检查其网络组件的安全性。此外,LTEFuzz 能够发现高通和海思基带芯片组中的漏洞,它们在 2017 年的市场份额排名第一和第四。我们计划在不久的将来向这些运营商和供应商私下发布 LTEFuzz。未计划公开发布,因为 LTEFuzz 可用于恶意目的。
发表评论
您还未登录,请先登录。
登录