4G/LTE 移动通信系统中对隐私和可用性的实际攻击

 

0x01 Introduction

第一类攻击

前两种方法允许被动攻击者或半主动攻击者在城市环境中将目标用户定位在大约2平方公里的范围内。我们展示了流行的社交网络消息应用程序(Facebook 和 whatsapp)是如何被用于这类攻击的。第三种攻击允许主动攻击者利用 LTE 无线资源控制协议(RRC)的漏洞,利用基站信号的强度,通过坐标位置或三边测量准确地定位目标用户。

第二类攻击

第二类攻击描述了三种的攻击,其中主动攻击者可以对目标 UE 造成持久的DDoS攻击。首先,目标终端将被迫使用2G 或3G 网络,而不是 LTE 网络,这样就可以针对该终端发动2g/3g 特定攻击。第二,目标用户将被拒绝访问所有网络。第三,攻击者可以限定 UE 不能使用在某些类型的服务(例如,没有语音呼叫)。

 

0x02 Overview Of LTE Architecture

A. LTE 基础设施

fig1

User Equipment: UE 指的是实际的通信设备,例如智能手机。UE 包含一个 USIM ,它包括 IMSI 和存储相应的身份验证凭据。这个 IMSI 用于唯一地标识 LTE 用户。USIM 参与 LTE 用户认证协议,并生成密钥,这些密钥构成密钥层次结构的基础,随后用于保护信令以及用户与基站之间通过无线电接口进行的数据通信。
E-UTRAN: E-UTRAN 由基站组成。它管理用户端的无线通信,便于用户端和 EPC 之间的通信。eNodeB 使用接入层(AS) ,与其用户交换信令消息。这些消息包括无线资源控制(RRC)协议消息。eNodeB 的其他功能包括寻呼 UE、无线安全、物理层数据连接和切换。每个 eNodeB 都通过一个名为 s1的接口连接到 EPC。
MME: 移动性管理实体。MME 负责验证和分配资源到 UE。MME 的其他重要功能包括安全性(为信令设置完整性和加密)以及在粗粒度跟踪 UE 的位置。在 UE 和 MME 之间运行的一组协议称为非接入层(NAS)。

B. LTE 安全

由于 IMSI 是用户的永久标识符,出于安全和隐私的考虑,LTE 规范试图将其在无线通信中的传输最小化。相反,全球唯一临时标识符(GUTI)用于在无线通信中识别用户,它在连接期间被分配给 UE,并且可以定期更改为/来自同一用户的提供流量不连接性。认证和密钥协议(AKA)协议用于在 UE 和网络之间进行相互认证,并商定会话密钥,为后续 NAS 和 NA 消息提供完整性和保密性保护。NAS 和 AS 安全统称为 EPS 安全。它在 EMM 过程中建立在 UE 和服务网络域(eNodeB 和 MME)之间,包括商定会话密钥、首选加密算法中定义的其他值。

C. LTE中的寻呼

Paging(寻呼)指的是当 MME 需要在定位 UE 并提供网络服务(例如传入呼叫)的进程。因为 MME 可能不知道 UE 连接到哪个 eNodeB ,它会生成一个寻呼消息,然后转发给 TA 中的所有 eNodeB。同时,MME 启动一个寻呼计时器 ,并期望在这个计时器到期之前从 UE 得到响应。寻呼消息包含 UE 的标识,比如 S-TMSI 或 IMSI 。S-TMSI 是一个临时标识符,是GUTI的一部分。下图描述了 LTE 寻呼过程。

fig2

UE解码RRC Paging消息,如果检测到它的 IMSI,那么就启动一个新的附加过程来接收 GUTI。如果 UE 检测到它的 GUTI,它通过Random Access Procedure获取一个无线电信道,从 eNodeB 请求 RRC 连接。 RRC Connection Setup涉及无线电资源的配置。收到这个消息后,UE 通过发送RRC Connection Setup Complete和Service Request消息来完成一个三向 RRC 握手过程。此时 UE进入连接状态。eNodeB 将Service Request消息转发给 MME,停止寻呼计时器。进一步,eNodeB 建立一个安全上下文,并继续向 UE 提供网络服务。
在 LTE 中,通过使用一种称为智能寻呼的技术,它通过UE最后一次所在的 eNodeB (cell)有选择地定向寻呼消息,如果没有收到响应,则在整个 TA 中重复呼叫。

 

0x03 Adbersary Model

攻击者的主要目标是: 1)了解用户在给定经纬度中的精确位置 2)拒绝向用户提供网络服务,3)强迫用户使用不那么安全的 GSM 或3G 网络。

被动攻击

攻击者可以使用一个硬件设备(例如通用软件无线电外围设备(USRP))和相关软件来嗅探和解码无线电广播信号消息。

半被动攻击

除了被动的监视,攻击者还能够使用合法接口触发信号消息给用户。例如,攻击者可以通过社交网络发送消息或发起呼叫来触发寻呼消息。

主动攻击

攻击者可以建立和操作恶意 eNodeB 建立恶意通信。主动攻击所需的能力包括可冒充用户的服务运营商网络,并向用户注入恶意数据包。

 

0x04 Experimen Setup

我们使用 USRP B210设备连接到笔记本电脑 ,作为一个 eNodeB。USRP 是一种软件无线电外设,可以连接到主机计算机,由主机软件通过空中传输/接收数据,也可以使用RTL-SDR。我们选择支持 LTE 的手机作为UE。

fig3

A. 被动式和半被动式攻击装置

我们利用部分 srsLTE 嗅探 LTE 广播信道。srsLTE 使用通用硬件设备库与 USRP B210进行通信。我们使用 pdsch-ue 应用程序扫描指定的频率,并检测周围的 eNodeBs。它可以监听并解码 eNodeB 发出的 SIB 信息。此外,我们还修改了 pdsch-ue,以解码通过寻呼无线电网络临时标识符(P-RNTI)在空中识别的寻呼消息。一旦检测到,就可以从寻呼消息中提取出 GUTI 或 IMSI。

B. 主动攻击装置

建立恶意eNodeB:一般来说,UE总是扫描周围的 eNodeB 而且更喜欢附着在信号最强的 eNodeB 上。然而,在 LTE 中,当一个值非常接近某个分配给它的 eNodeB 时,它不会扫描周围的 eNodeB。因此,为了克服我们的主动攻击中的这种情况,我们开发了另一个名为“基于绝对优先级的单元重选”的特性。
基于优先级重选的原则是,在空闲状态下,UE 应该定期监听并尝试连接到高优先级频率的 eNodeB。因此即使这个值接近真实的 eNodeB,使用最高重选优先级的频率的恶意 eNodeB 也会迫使UE附加到它上面。这些优先级在由真正的 eNodeB 广播的 SIB 类型4、5、6和7中定义。我们先通过被动攻击,嗅探这些优先级,并相应地配置eNodeB。
恶意 eNodeB 广播与真正网络运营商相同的 MCC 和 MNC 号码来冒充网络运营商。一般来说,当 UE 检测到一个新 TA 时,它会向 eNodeB 发出一个 TAU Request。这要求恶意eNodeB在与真实eNodeB不同TAC环境中运行。
主动攻击使用 USRP b210和一台运行 openLTE 的主机笔记本电脑发起。OpenLTE 是 LTE 规范的开源实现,包括 LTE_Fdd_eNodeB 应用程序。但它能执行一个完整的 LTE 附加过程。成功完成连接后,LTE_Fdd_eNodeB 也可以处理来自 UE 的服务。然而,目前它缺乏稳定性。我们编写了LTE_Fdd_eNodeB 使其包含 LTE RRC 和 NAS 协议消息来演示主动攻击。此外,我们还修改了 wireshark 中提供的电话协议 dissector ,以解码恶意 eNodeB 和 UE 之间交换的所有信息。

 

0x05 Location Leak AtTAck Over Air Interface

A. 攻击背景

网络配置问题

智能寻呼: 在 GSM 中,寻呼信息被发送到一个很大位置区域。然而,LTE 寻呼被定向到一个小的单元。这种智能寻呼让攻击者能在一个小区域内(2平方公里)定位 LTE 用户。
GUTI 持久性: 通常在以下情况下分配一个新的 GUTI: (1) MME 由于切换或负载平衡而发生更改、(2) TAU 或附加过程、(3)网络发出 NAS “GUTI reallocation command”。然而,网络运营商在上述程序中往往不会总是更换 GUTI。这使得攻击者可以根据GUTI追踪UE。

社交ID到用户映射

FaceBook “Other” 消息文件夹:当收到来自 facebook 好友的消息时,它会存储在该用户的收件箱文件夹中。但是来自没有在好友列表中的人的消息会直接转到“Other”文件夹,而不会被告知。在手机应用程序中,所有传入的 facebook 消息,包括那些最终进入“Other”文件夹的消息,都会触发网络的寻呼请求。Facebook 的其他功能,如重复的好友请求也会触发寻呼请求。
WhatsApp “typing notification”:Whatsapp 支持输入通知功能——当某人(“发件人”)开始使用向收件人输入信息时,收件人收到一条通知,告知收件人正在输入信息。如果在手机上的 whatsapp 客户端,这会触发一个寻呼请求。

RRC 协议问题

广播信息: 在这个 RRC 协议功能中,与 UE 相关的临时ID(GUTI)在广播频道中通过空中传输。这些广播信息既没有经过验证和加密。由于这些广播信息息只会在特定的地理区域发送,我们可以利用这些广播信息,显示目标区域内的存在用户。
此外,eNodeB 周期性地广播 SIB 消息。攻击者可以利用这个广播信息配置恶意 eNodeB。
UE测量反馈:在 LTE 中,UE 进行网络测量后根据请求将测量结果发送给 eNodeB。特别是,有两种类型的 UE 测量反馈——一种在是切换过程中的“Measurement Report”,另一种在无线链路故障(RLF)报告。然而,由于这些消息在 RRC 协议通信期间不受保护,攻击者可以通过解码无线电信号来获得这些网络测量值。
特别是“Measurement Report”和“UEInformation Response”信息包含了提供服务和相邻的 LTE 单元ID和其相应的功率测量信息,以及在 GSM 和3G 网络中的类似信息。如果支持这个特性,消息可以包括 UE 的 GPS 位置。

B. 初始测量

只有当 UE 处于空闲状态时,才发送寻呼消息。如果在连接状态的 UE 保持静默10秒钟,eNodeB 释放相关的无线资源,UE 进入空闲状态。
GUTI变化: GUTI重新分配完全取决于运营商配置。下表结果显示所有运营商之间的 GUTI 分配和重新分配机制是相似的。结果概述如下:

  1. 定期(每小时一次和每12小时一次)断开和连接UE,导致同样的GUTI在所有三个运营商网络中重新分配。UE在三天之内或者在城市内的两个TA之间移动时,GUTI它的GUTI不会变化。
  2. 当UE在城市中移动3天时,仍然连接到网络上,在任何运营商的网络中都没有观察到 GUTI 的变化。
  3. 如果UE被完全关闭一天,当它打开后会分配一个新的 GUTI。对于其中一个运营商,新赋值的 GUTI 与旧的只有一个十六进制数字不同。这意味着 GUTIs 不是随机选择的。
    因此,即使一个物体在城市内移动了三天,GUTI往往保持不变。因此临时ID在这三个网络中都不是真正的临时性的。

table1

智能寻呼:对/ LTE (voLTE)呼叫的paging会覆盖整个TA,其他 ip 应用程序的寻呼发生只会在上一个单元中。这是因为 voLTE 比其他应用程序具有更高的优先级和严格的时序约束。当 UE 寻呼通过 facebook 或 SMS 消息触发时,嗅探器只在 UE 所在的单元(或最后一次所在的单元)中检测到特定的寻呼消息。这意味着所有运营商都在使用智能寻呼。

绘制跟踪区域和单元范围:我们建立了一个数据库,通过骑车穿过城市,可以将地区代码(TAC)和 GPS 坐标进行匹配。通过嗅探记录,定期在 SIB 类型1消息中广播的 TAC 。下图绘制了具有相同TAC的点所覆盖的区域。单元的一般尺寸半径为200-2000米。

fig5

C. 被动攻击-链接用户位置/移动随时间变化(L1)

在被动攻击下,攻击者的目标是收集一组 IMSI 和 GUTI,它们可以核实用户在某一区域的存在,以及发现用户在该区域的过去和未来活动。我们嗅探了 LTE 空中接口和解码广播寻呼通道,以提取 IMSI 和 GUTI。

D. 半被动攻击-泄漏粗粒度定位(L2)

确定追踪区域和手机号码

使用VoLTE 通话:我们给受害者打了10个电话,拨打电话的连接时间很短(大约3秒钟)以防在UE触发通知,而且持续时间长,以便 eNodeB 广播一个寻呼请求。我们可以对 TA 中的任何一个单元都能进行寻呼消息监听。观察到的 GUTIs 进行交集分析,我们应用 kune等人提出的方法来揭示 GUTI 和用户电话号码之间的映射关系。一旦成功,就能确认用户在该 TA。
使用社交网络和应用程序:和 voLTE 电话类似,我们通过 facebook 向用户发送10-20条信息,并进行交叉分析,将 GUTIs 和 facebook 的个人资料联系起来。如果映射在攻击者所在的特定单元成功,则确认用户的存在。否则,攻击者需要移动到其他单元和重复相同的程序。
我们也同样利用了 whatsapp 的输入通知功能。攻击者打开与受害者对应的活动聊天窗口,编写一条消息,但不发送。由于输入通知功能,受害者可以看到攻击者正在聊天窗口中输入。在此过程中,就会触发寻呼请求。

E. 主动攻击-泄漏细粒度位置(L3)

通过测量报告:攻击者利用优先级重选的原,强迫UE附加到一个恶意 eNodeB 上, UE 完成 RRC 连接程序,并用攻击者的恶意 eNodeB 启动一个 TAU 程序,进入连接状态。攻击者使用不同的单元 id (可能有3个或更多的邻居单元)和必要的频率创建一个RRC Connection Reconfiguration消息,并在没有任何保护的情况下将其发送到 UE。在接收到这个无保护的消息后,UE 计算来自邻近单元和频率的信号功率,并向恶意 eNodeB 发送一个未受保护的Measurement Report消息。
如果 UE 支持locationInfo-r10功能 ,则在测量报告中包含其 gps 坐标。
通过 RLF 报告:起初 eNodeB 2关闭,eNodeB 1打开,给 UE 创建一个 RLF 场景。UE 连接 eNodeB 1。在收到来自 UE 的 TAU 请求后,关闭 eNodeB 1。同时,开启了 eNodeB 2号。同时 UE 检测到它失去了与 eNodeB 1的同步,并启动 RLF 计时器。
当 RLF 计时器过期时,UE 创建一个 RLF 报告并进入空闲模式。在这种模式下,UE 启动单元选择程序,以连接到 eNodeB ,并在 TAU 消息中指出 RLF 报告的可用性。收到这条消息后,攻击者就会从 eNodeB 2向 UE 发送一条未受保护的 UEInformationrequest 消息,从而请求 UE 向 eNodeB 2发送 RLF 报告作为响应。结果,UE 发送不受保护的 UEInformationResponse 消息(包含 RLF 报告)。这份报告包含了失败事件,特别是邻近的 eNodeBs 的信号强度。

fig6

此外,当经历无线电连接失败时,RLF 报告可以包括对应UE的 GPS 坐标。但这个功能还没有被广泛应用。

确定用户的精确位置:前面提到的测量和 RLF 报告提供了信号强度,让主动攻击者可以计算 UE 和恶意 eNodeB 之间的距离。

fig7

 

0x06 DoS Attack On LTE Air Interface

A. 攻击背景

  1. TAU 过程:EMM 协议消息的主要功能之一是向网络通知 UE 在运营商服务区的当前位置。这允许 MME 向用户端提供网络服务。为此,UE 通过发送 TAU Request消息通知 MME 其当前 TA以及网络模式。我们只关注两种网络模式: LTE 服务以及 GSM 或 3G服务。
    在 TAU 过程中,网络可能会拒绝某些服务,例如,如果用户的 USIM 没有获得 LTE 服务的授权,或者如果运营商不支持服务区内的某些服务。LTE 规范定义了某些 EMM 程序将TAU Reject信息传递给 UE,然而这些消息不受完整性保护。
  2. LTE 附着过程:在附加过程期间,UE 在Attach Request消息中无保护地向网络发送其功能的列表。这些功能包括支持的网络(比如 LTE、 GSM 或3G)、安全算法等,但攻击者可以更改列表。

    B. 降级至非 LTE 网络服务(D1)

    我们在 LTE 规范中发现了一个漏洞,可以实现 DoS 攻击 D1。一些TAU Reject消息不受完整性保护发送给UE。特别是,在 UE 和网络之间不需要相互的身份验证和安全上下文来接受这样的拒绝消息,攻击者不需要任何安全密钥来发送TAU Reject消息。
    下图展示了 UE 向攻击者的恶意 eNodeB 发送TAU Request明文消息。恶意 eNodeB 以TAU Reject信息作为响应,攻击者将 EMM 原因7号“ LTE services not allowed”囊括进这条消息。由于不需要完整性保护,受害者接受了这个信息,导致其删除与早期(真实)网络相关的所有现有 EPS 上下文。

fig8

结果,UE 将其状态更新为“ EU3 ROAMING NOT ALLOWED”,并认为此 USIM 无效,因此在重新启动或重新插入此 USIM 之前,此 USIM 对 LTE 服务无效。但是UE 仍可以在同一区域搜索 GSM 或3G 网络以获得网络服务。通过降低用户级别,攻击者除了拒绝 LTE 服务外,还可以尝试发起已知的2G 或3G 攻击。

C. 拒绝所有网络服务(D2)

UE 启动 TAU 请求程序,恶意 eNodeB 用 TAU reject 消息作出响应,原因号为8“ LTE and non-LTE services not allowed”。在收到此消息后,UE 将 LTE 状态设置为“EU3 ROAMING NOT ALLOWED”,并认为在重新启动或重新插入 USIM 之前网络无效。进一步,它进入EMM-DEREGISTERED状态: UE 的位置 MME 无法获知,并且对任何移动服务是不可达的。因此,即使有网络可用,UE 也不会尝试连接 LTE、 GSM 或3G 网络。即使移居到一个新的 TA,甚至是一个新的城市,仍然处于EMM-DEREGISTERED状态,从而造成了一种持久的分布式拒绝服务攻击。通信过程如下图所示。

fig9

D. 拒绝某些服务(D3)

在这次攻击中,主动攻击者修改 eNodeB 和 UE 之间的消息交换。但是,由于我们的基带软件不可用,在我们的实验期间没有执行这种攻击。
UE 向 eNodeB 发出一条Attach request消息,攻击者截获这条消息。该消息包含“Voice domain preference and UE’s usage setting”,通知网络有关 UE 的语音呼叫能力。攻击者从这个无保护的消息删除这些功能,并添加”Additional update type SMS only”,然后转发到网络。网络接收此消息并执行 AKA 协议和 UE 完成附加过程。然而,MME 使用接收到的篡改过的功能配置 UE 的配置文件,从而只允许 sms 和数据服务,导致UE的来电和呼叫都会被拒绝。这种拒绝是持久的,因为即使攻击者已经离开,攻击仍然有效。但是,用户可以通过重新启动 UE 或移动到另一个 TA 来恢复。3GPP 规范确实提到了一个计时器(t3245) ,用户可以使用该计时器从 EMM 断开状态恢复。但是,使用这个计时器是可选的(我们测试的设备都没有实现这个计时器)。在 DoS 攻击的情况下,默认计时器值(24-48小时)太大。

E. 对终端用户和运营商的影响

我们的攻击是针对特定区域而不是针对 LTE 网络的。成功的攻击会使目标无法使用网络服务。通常情况下,攻击者关闭恶意 eNodeB 或离开攻击区,攻击目标仍然处于非服务状态一段时间。因此,这种攻击比其他类型的 DoS 攻击更加严重。这些攻击的影响如下:

  1. UE不会提醒用户合法服务的不可用性。然而,视乎应用层所提供的警报通知功能而定,用户可能会收到有限的服务或没有网络连接状态的通知,这在不同操作系统中没有统一的标准。
  2. 用户将无法接收或发出正常呼叫和数据连接。网络营办商不能提供服务,也不会发生计费。
  3. UE可以打紧急电话。然而,当 UE 连接到一个恶意 eNodeB 时不能紧急呼叫。
  4. 支持 LTE 技术的 M2M 设备,如果经常的技术支持,可能会在很长一段时间内无法使用网络服务。这是因为 M2M 设备需要重新启动,或者 USIM 需要重新插入以从攻击中恢复。
(完)