利用数据链路层攻击LTE

robots

 

摘要

以前的 LTE 协议安全工作为物理层(第一层)和网络层(第三层)确定了关键的攻击向量。然而,数据链路层(第二层)协议仍然是现有 LTE 安全研究中的一个盲点。
在本文中,我们提出了一个综合的二层安全分析和三种攻击。

  1. 我们首先提出一个被动身份映射攻击,将易变的无线电身份与更持久的网络身份相匹配,使我们能够在一个小区内识别用户,并作为后续攻击的踏脚石。
  2. 其次,我们演示了被动攻击者如何滥用资源分配作为一个侧信道来识别网站指纹,使攻击者能够了解用户访问的网站。
  3. 最后,我们提出了 ALTER 攻击,它利用了 LTE 用户数据是在计数器模式下加密(AES-CTR) ,而不是完整性保护,这使我们能够修改消息有效负载。我们将展示主动攻击者如何重定向 dns 请求,然后执行 dns 欺骗攻击。

 

0x01 Introduction

本文对 LTE 第二层进行了安全分析,并分析了这些协议的潜在漏洞。因此,我们引入了两种被动攻击和一种主动攻击。下表展示了这些攻击及其性质的概述。我们的第一个被动攻击——身份映射攻击——允许攻击者将用户的临时网络身份(TMSI)映射到临时无线电身份(RNTI)。第二个是网站指纹攻击。网站指纹识别是在 Tor 等其他上下文中已知的,在这些上下文中,流量分析揭示了用户的浏览行为。在 LTE 上下文中,我们证明了在资源分配中存在类似的信息泄露: 即使传输是加密的,我们可以访问直到 PDCP 的明文信息。

table1

我们进一步介绍了一种叫做 ALTER 的主动攻击,它利用 LTE 用户数据缺失的完整性保护来执行选择密文攻击。用户数据是在计数模式(AES-CTR)下加密的,但是没有完整性保护,因此密码是可变的。我们演示了攻击者如何利用恶意 LTE 中间人在加密数据包内操纵 ip 地址,从而将数据包重定向到上行方向的恶意 dns 服务器,同时始终保持一个稳定和透明的连接。
将两种攻击结合在一起,构建了一个poc恶意中间人,并对商用网络中的商用现成移动电话执行 ALTER 攻击。我们能够成功地重定向手机访问恶意网站,同时保持稳定的 LTE 连接。

 

0x02 Techinical Background

A. LTE 网络概述

UE: 用户设备是向用户提供服务的终端设备。它有一个永久身份,国际移动用户识别码(IMSI) ,以及网络中不同的临时身份。其中一个临时标识符是无线网络临时标识(RNTI) ,它有助于区分无线层上的多个连接。除了连接的建立,UE 还应用加密/解密和完整性保护,通过网络传输。
eNodeB: eNodeBs 是 LTE 网络的基站,负责无线资源管理和用户数据加密。此外,eNodeB 会在广播频道上发送分页消息。用户会选择信号强度最高的 eNodeB。
演进分包核心(EPC) :负责用户数据的认证、移动性管理和转发。当用户数据传入时,它触发寻呼请求的过程。

B. LTE 协议栈

LTE 协议栈位于 UE 和 eNodeB 之间,如下图所示。

fig1

  1. 物理层: 作为协议栈的最低层,物理层负责通过空中接口传输信息。
  2. 数据链路层: 数据链路层通过向上层提供附加服务扩展物理层位管,并提供可靠性、安全性和完整性机制。它由三个子层组成: (i) MAC 协议调度媒体访问,(ii) RLC 协议管理数据单元的分段或拼接,(iii) PDCP 协议执行加密任务和可选 ip 报头压缩。
    介质访问控制(MAC)。MAC 协议管理 LTE 无线资源的访问。为了获得唯一的ID RNTI,UE 发送随机接入序列(RAP) 给 eNodeB ,并交换未加密的随机访问响应(RAR)。在这个过程中,eNodeB 的 MAC 层决定了 UE 的可用无线电资源,将这些分配给 RNTI 的资源匹配。
    无线电链路控制(RLC)。RLC 协议提供三种传输模式: 确认模式(AM)、非确认模式(UM)和透明模式(TM)。根据不同的模式,RLC 协议进行纠错、分段,并将数据按照正确的顺序组装成上层数据包。此外,它管理重传,包括检测重传包。
    分组数据汇聚协议。PDCP 协议为控制平面消息提供加密和完整性保护,并将加密的用户平面数据传输到 ip 等上层协议。在数据链路层中,PDCP 层是第一个应用加密算法的,因此,我们可以直接读取这个子层下面所有数据包的有效载荷和头信息。这使我们能够分析第二层传输的元信息,例如包的 PDCP 长度,并执行网站指纹攻击。
  3. 网络层: 网络层上有三个子层: 非接入层(NAS)、无线资源控制(RRC)和 IP层。NAS 层使用加密和完整性保护的消息通信。RRC 层管理所有 UE 和 eNodeB 之间的无线连接,包括所有底层协议的配置,直到物理层。ip 层处理传输到 tcp 和 udp 等的传输协议,维护到互联网的连接。

C. 移动性管理

Paging(寻呼)。寻呼过程用于通知传入数据传输或呼叫的终端。发送寻呼消息是由 eNodeB 发起的,也就是说,它在寻呼信道上广播特定用户的TMSI。所有在Cell中没有获取无线资源的UE只会监听Paging信道并对消息作出反应,防止发送自己的 TMSI 。

D. 认证和加密

LTE 使用一个挑战-响应协议进行身份验证和密钥协商(AKA) ,其中核心网络(EPC)向 UE 发送一个身份验证请求。此请求包含一个身份验证令牌,用于验证用户的 sim 卡上网络的永久密钥。验证成功后, NAS 和 RRC 子层可以分别建立加密和完整性保护机制。EPC/eNodeB将发送安全模式命令,其中定义了选择的安全算法。
完整性保护是通过附加在信令消息之后的密码块链接消息认证码(CBC-MAC)来实现的。用户数据在计数器模式(AES-CTR)中进行加密,其中加密算法用作密钥流生成器,密码文本通过使用明文对密钥流进行XOR异或计算。然而密码是可延展的,我们可以利用这点进行ALTER攻击。

E. 攻击者模块

我们使用两种不同的攻击模型来进行第二层的安全分析。

  1. 被动攻击者。被动攻击者在用户所在的同一小区内沿上行和下行方向窃听信号。因此,攻击者可以接收和解码 eNodeB 和 UE 发出的信号。
  2. 主动攻击者。主动攻击还需要以特定频率发送无线电信号。攻击者可以通过模拟对应UE 和 eNodeB 在网络中建立一个恶意中间人。

 

0x03 Passive Layer Two Attacks

A. 身份映射攻击

攻击假设。对于身份映射攻击,我们假设攻击者既不知道受害者的 RNTI 也不知道 TMSI。攻击者在无线层连接建立期间学习两个身份之间的映射,每当用户通过网络发送或接收数据时触发该映射。我们利用了这样一个事实,即无线电数据包包含它们自己的RRC层RNTI和NAS层的 TMSI 。然后可以进一步利用映射,比如攻击者可以执行Paging攻击,将 TMSI 映射到公共电话号码,或者执行网站指纹攻击。
连接建立过程。在连接过程中,UE 向 eNodeB 发送一个RAP,并接收响应RAR其中包含小区无线网络临时身份(C-RNTI)。C-RNTI 在一个无线电会话中充当用户的唯一标识符,直到连接被释放。作为 C-RNTI 的响应, UE 向 eNodeB 发送 RRC 连接请求,其中包括 UE 的身份。这既可以是 TMSI,如果没有有效的 TMSI,也可以是随机值。eNodeB 通过回复 RRC 连接建立消息来完成连接建立。

fig2

攻击。为了匹配 C-RNTI 和 TMSI ,我们需要知道一点,只有10个可能的随机访问 RNTIs (RA-RNTIs) ,因此,我们可以监视所有可能的 RAR 并导出 C-RNTI。匹配 C-RNTI 和 TMSI 有两种解决方案:嗅探上行方向的RRC连接请求以及嗅探下行方向的RRC连接建立。

  1. 为了响应 RAR,UE 发送 RRC 连接请求,其中包括 TMSI。我们使用 C-RNTI 来识别目标终端的上行链路资源分配,例如,我们可以区分上行链路方向的多个传输 ,并过滤掉与监控的 C-RNTI 匹配的 RRC 连接请求,从而可以匹配 C-RNTI 和 TMSI 。
  2. 除非发生相同RAP冲突,否则RRC 连接设置包含 RRC 连接请求的一个副本及其 UE 标识。更准确地说,规范规定 RRC 连接设置的 UE 身份字段必须包含前一个上行数据单元。对我们来说,上行数据单元是 RRC 连接请求。由于 RRC 连接请求包含 UE 标识,例如 TMSI 或随机值,我们就可以匹配 C-RNTI 和 TMSI 。

实验

过程。前置条件: TMSI,无线电空闲(UE 保持空闲状态默认值为10秒)。我们假定用户拥有一个有效的 TMSI,并在连接建立期间进行攻击。

  1. 攻击步骤1。我们建立一个新的 tcp 连接到互联网上的任意服务器,并触发无线连接建立过程
  2. 攻击步骤2。我们用下行嗅探器窃听 eNodeB 的 RAR,来获取所有可能的 C-RNTI。
  3. 攻击步骤3。eNodeB 发送 RRC 连接设置,用嗅探器在下行信道窃听 TMSI。
  4. 攻击步骤4。我们将攻击步骤2的 C-RNTI 集与 TMSI 匹配,从而实现识别并定位cell内的用户。

结果

使用下行嗅探器成功地重复了三次身份映射攻击。此外,我们还提供了上行链路痕迹的理论分析,作为上行链路嗅探器可行性的证据。图3描绘了由下行嗅探器记录的 RRC 连接设置的 wireshark 跟踪。特别是,我们看到 RRC 连接设置消息发送给目标 UE 的 C-RNTI,这是我们从 eNodeB 的 RAR 中获得的。分配给目标 UE 的 TMSI 是 RRC 连接请求的一部分,通过结合两个标识符,我们成功匹配了第二层和第三层的ID。
测量结果显示,在96.85% 的无线电连接中,有91.75% 包含所需的 TMSI。

fig3

讨论:

现实适用性。身份映射攻击本身是无法察觉的,因为它是完全被动的。部署被动下行嗅探器仅依赖于标准硬件和开源软件。唯一一个限制是需要有一个有效的 TMSI。
上行与下行。在 UE 和 eNodeB 之间部署一个上行链路嗅探器,需要攻击者同步上行链路传输。因此,攻击者必须猜测出 UE 的确切位置,这就需要使用上行嗅探器。
相比之下,在 eNodeB 和下行方向的 UE 之间没有预先同步,也就是说,下行嗅探器可以在不知道 UE 位置的情况下部署。

B. 网站指纹识别

MAC 层负责安排连接的数据传输。特别地,DCI 信息为每个用户单独定义上行链路和下行链路的数据分配。空记者可以窃听这些信息,并了解用户的数据消耗,也就是,通过连接发送和接收的流量。这可以通过解码提供明文信息到 PDCP 层的 DCI 信息来实现。从这些信息中,我们学习了元数据的特性,比如 PDCP 包的长度,这有助于在它们的时间序列表示中区分不同网站的请求。

实验

我们的分类程序包括两个连续的分析步骤。首先,我们使用快速动态时间规整(FastDTW)作为比较记录流量的距离度量来比较所有捕获的流量。其次,我们使用距离作为最近邻居法的输入(K-NN)作为决策函数。我们用10倍的交叉验证重复分析以验证我们的结果。

结果

下表结果显示平均TP率和标准差(SD)在所有10个重复的交叉验证。我们在上行和下行传输的平均成功率分别为89.63% ± 10.63和89.13% ± 11.2。

table2

 

0x04 ALTER:LTE User Data Manipulation Attack

A. Dns 重定向攻击概述

我们的目标是操作 dns 请求的目标 ip 地址,并将请求定向到恶意服务器。
我们在用户附近部署一个恶意中间人,保证用户端和商用eNodeB的稳定无线连接。一旦用户的移动设备打开,UE 和商业网络就执行身份验证和密钥协议(AKA) ,设置安全参数。发送 dns 请求时,UE 首先将请求封装在 udp 和 ip 数据包中,然后使用 AES-CTR 对数据包进行加密。接下来,UE 将数据包转发到指定的 dns 服务器,使用其原始 ip 目的地址。我们的 MITM 拦截了这次传输,将 dns 数据包与其他有效payload区分开来,并实用操作掩码将原始目标 ip 改变为恶意 dns 服务器的地址。然后中间人将被操纵的请求转发到商业网,在那里它被解密并转发到恶意服务器。在下行路径中添加另一个操作掩码,保证源 ip 地址与输出包的目标地址匹配,使操作不被发现。

fig4

B. 挑战

  1. 稳定的恶意中间人
    连接到恶意中间人:使用更高功率的传输功率覆盖商业网络的频率,以将用户连接到恶意中间人中。同时将商业网络的的物理单元标识应用到恶意UE中,避免让恶意UE连接到自身恶意eNodeB中。
    稳定的无线连接:我们的恶意中间人必须遵守所有的原始协议,需要知道数据承载、 RLC 和底层物理层的配置参数来保持稳定的连接。虽然数据承载和 RLC 配置在网络中保持稳定,但我们猜测物理层的参数是为每个新的无线连接单独设置的。
  2. 识别 dns 请求和响应
    我们只将 dns 请求重定向到恶意 dns 服务器,所有其他数据包的目标 ip 地址必须保持完整,以维持 UE 的互联网连接。由于DNS数据包加密,无法通过有效载荷来识别。我们可以通过识别数据包的长度来解决这个问题,这是由于dns 数据包通常比其他 tcp 数据包小。

fig5

在下行链路方向,dns 数据包长度和 tcp syn 平均长度的分布存在显著差异,但上行链路方向难以有效区分,因此,我们建议采用交互式方法,以提高识别的可靠性。

  1. 数据包修改
    在对原始 ip 使用操作掩码修改的同时需要保持 ip 和 udp 头的有效性。
    计算操作掩码:在计数器模式下,LTE 用户数据以 AES 加密,即发送方通过使用明文 m 对加密算法的输出进行异或来计算密文 c。然而,加密算法是可延展的,攻击者可以把密文修改成另一个密文,然后再解密成相关的明文。攻击者通过添加操作掩码,将消息中的某些位进行修改,最后得到的明文中对应操作掩码的位也会发生翻转。为了精确修改,攻击者必须知道原始明文 m 以计算操作掩码,并只修改PDCP包中定位到目标 IP 区域而不破坏其他部分。
    mask = m ⊕ m'
    移动网络中 dns 服务器的 ip 地址是由核心网络设定的,也就是说,我们可以很容易地获得目标的默认 dns 服务器的静态地址。

fig6

补偿修改
使用操作掩码对密文进行位翻转的过程中会使校验和和有效性被破坏,导致丢包。我们可以额外修改除了目标 ip 地址的其他位,当所有修改使得头部和为零,就能避免这个问题。
IP 报头校验和
由于在上行方向TTL值可以通过抓包确定,并且对路由影响较小,我们可以通过修改TTL值得到相同的校验和。目标IP地址必须满足以下要求:原始 ip 地址的16位和必须等于目标 ip 和 ttl 字段之和(如下图所示)。

fig7

但在下行方向TTL的值是未知的,我们则利用用于IP数据包分块的识别字段,将IP数据包的识别字段设置位预定值,来补偿修改。
上述限制仅适用于 ipv4传输,因为 ipv6传输不使用任何头校验和。
UDP报头校验和
与 ip 报头校验和类似,修改 ip 地址也会影响 udp 校验和,它是 ip 伪报头和 udp 有效负载上的16位校验。由于udp 校验和设置为零会被 udp 栈忽略,我们将 dns 响应的 udp 校验和设置为零就可以绕过校验和验证。

C. 实验

UE. 我们使用一个插有 sim 卡的手机放入屏蔽盒中与外界无线电连接隔离 ,它能够连接到 LTE 网络。我们使用 android 调试桥接器(ADB)操作UE,使用 SIMtrace 提取会话密钥。
恶意中继.包含两个修改版的srsLTE v17.09,分别扮演eNodeB和UE。下图描述了基于开源 srsLTE 堆栈的恶意中继的架构。
恶意DNS服务器.使用亚马孙AWS云虚拟机ubuntu16.04服务器,并应用修改过的DNS服务将请求重定向到恶意HTTP服务器。

fig9

我们保留 UE 和 eNodeB 组件的物理层不变,分别按照 srsUE 和 srseNB 的原始实现进行修改。在 eNodeB 的 MAC 层,我们添加了一个组件,用于猜测加密的配置参数(调度请求,通道质量指示器) 。RLC 层简单地将消息传递给 PDCP 层,然后由 PDCP 层识别用户并控制平面消息。我们在 rrc 层为eNodeB 和 UE 组件添加一个消息猜测模块,这是第一个触发 MAC 层的参数猜测。 用户数据在 PDCP 层上被简单地转发,并通过下行链路和上行链路传递到 UE 组件的 ALTER 组件中。ALTER 组件首先将 dns 流量与其他流量区分开来,然后,通过操作掩码修改消息。ALTER 组件将数据包返回到正常的数据包路径。对于我们的示例,我们使用 PDCP 长度的硬编码值来标识域.org 的 dns 请求到我们的恶意 dns 服务器。

D. 结果

实验前,我们将受害者手机设置为飞行模式,通过 adb 命令删除所有缓存(dns 和 http) ,并将其置于屏蔽盒中。启动恶意中继后,关闭飞行模式,等待中继的无线电层连接成功。通过 adb 命令,我们指示手机访问网站 example. org。传输触发了恶意中继中的消息分类器,我们根据它的 PDCP 长度识别 dns 请求。在下一步中,我们应用操作掩码将原始 dns 服务器地址替换为恶意 ip,并发出被修改的数据包。因此,dns 请求被重定向到我们的恶意 dns 服务器,尽管它的 udp 校验和无效,它仍然接受请求。恶意的 dns 服务器执行 dns 欺骗攻击,并用错误的 ip 地址进行响应,例如.org。在下行链路上,我们识别 dns 响应并应用操作掩码来修改源 ip 地址,从而与 dns 服务器的原始 ip 匹配。最后,手机接收回应数据包并连接到欺骗 ip 地址执行 HTTP GET 请求,导致加载错误的网站内容。详情请参阅网站 http://www.ALTER-attack.net

E. 讨论

ALTER 利用了缺少用户数据完整性保护的规范缺陷,对所有 LTE 用户都有影响。dns 重定向攻击仅限于普通 ip 流量,无法让我过上层协议所采取的保护措施,例如,正确使用 DNSSEC 或 TLS 可确保服务器的可靠性。
一般的攻击类似于经典的恶意基站攻击,这样的攻击可以通过不正确的协议行为检测出来,例如,恶意基站强制用户降级到2G或3g。相比之下,ALTER 将所有消息转发给上层和正常的 eNodeB。因此,所有协议都能正常运作,传输行为是预期的,无法因协议异常被检测到攻击。我们对目标 ip 地址的更改可能会导致覆盖的网络栈出现异常。特别是,我们修改的地址,不同于一般的 dns 服务器。一种可能的检测方法是使用深度分组检测(DPI) ,但因为用户可能设置自定义 dns 服务器,所以也可能检测出假阳性。
我们认为缓解这种攻击的唯一方法是对用户平面使用身份验证加密,从而解决用户平面数据缺乏完整性保护的问题。

 

0x05 Conclusion

我们提出了三个针对 LTE 数据链路层的攻击。身份映射攻击匹配两个临时ID,暴露用户的位置和手机中的无线层ID,从而为进一步攻击奠定基础。其中一个例子就是我们利用 LTE 网络中的资源分配调度信息进行网站指纹攻击。在未加密的元数据信息的基础上,我们演示了攻击者如何获取对用户访问的网站。最后,我们提出了用户数据篡改攻击 ALTER,通过部署恶意中继和利用 LTE 用户数据缺失的完整性保护来进行选择密文攻击,重定向 dns 请求,并欺骗 dns 响应。

(完)