摘 要
(相关资料图)
随着智能手机的普及,4G LTE在现代生活中使用地非常频繁,但由于4G LTE通过空口传输,空口协议栈上的一些漏洞使得不法分子有机可乘,这也衍生了许多关于4G LTE空口协议栈上的攻击。这些攻击不容易被用户所识别,但攻击者可以通过这些攻击获取用户的隐私。其中,4G LTE协议栈中的无线链路层的漏洞最为显著,由于终端与基站互相认证时的明文传输,使得攻击者很容易通过该漏洞在无线链路层进行攻击。
本文将主要介绍了无线链路层上的常用的攻击并总结了对应的解决方法。
关键词:4G LTE空口协议栈、无线链路层、无线安全
一4G LTE空口协议框架
长期演进技术(Long Term Evolution, LTE)是移动通信系统中使用的创新高性能空口的项目名称,也是一种通信系统和通信标准。LTE是由第三代合作伙伴计划(The 3rd Generation Partnership Project, 3GPP)组织制定的通用移动通信系统(Universal Mobile Telecommunications System, UMTS)技术标准的长期演进,于2004年12月在3GPP多伦多会议上正式立项并启动。实际上LTE离4G的指标还有一些距离,但使用的技术包括了正交频分复用(Orthogonal Frequency Division Multiplexing, OFDM)、多输入多输出(Multi-Input Multi-Output, MIMO)等,这些技术都是4G的关键技术,因此也被叫做是准4G。
4G LTE空中接口协议栈分为三个层次:物理层,无线链路层和顶层,其中无线链路层有三个子层,分别是MAC层,RLC层和PDCP层,而顶层则有RRC层,NAS层和IP层三个子层。4G LTE的空中接口协议可以分为用户面和控制面。用户面可以通过空口的传输通道为上层协议栈提供用户数据传输的服务,同时也为控制面以及NAS信令提供传输通道,用户面协议栈主要是由物理层、MAC层、RLC层、PDCP层和IP层组成,如图2-1所示。
图2‑1 LTE协议栈的用户面
控制面主要是负责用户无线资源的管理,无线连接的建立,服务质量的保证和资源释放,其协议栈是由物理层,MAC层,RLC层,PDCP层,RRC层和NAS层组成的,如图2-2所示。
图2‑2 LTE协议栈的用户面
1.1 物理层
物理层是4G LTE协议栈的最底层,主要是负责比特数据和无线电信号之间的转换,同时也为MAC层的数据传输提供保障,如:传输块的错误检验与纠错、速率匹配、功率控制或分配等。
物理层是负责调度无线电资源块的,从而使4G LTE的物理层用于不同的频谱分配,其中无线电资源块可以分为时域,频域和空域上的。时域上的无线电资源块可以分为多个无线电子帧,一个子帧为1,由两个时隙构成,每个时隙由7个OFDM符号构成。频域上的资源可以被叫做是子载波。时域上的一个时隙以及频域上的12个子载波可以构成一个2维的网格,该网格被称为资源块(Resource Block, RB)。其中,每个资源块中的每个小网络可以被称为资源元(Resource Element, RE)。空域上的资源在逻辑上映射为天线端口,每个端口对应一个单时频资源网格。
承载着更高层的信息的一系列资源元就叫做物理信道,其中包括物理控制信道,物理数据信道,下行广播信道和上行随机接入信道。其中,上行指的是基站向终端用户传输的数据或者信令,下行则指的是终端用户向基站传输的数据或者信令。
1.2 无线链路层
无线链路层又可以分为媒体接入控制(MAC)子层,无线链路控制(RLC)子层以及分组数据汇聚(PDCP)子层。无线链路层主要是负责组织物理层的比特数据,并且向顶层提供数据传输服务。
1.2.1 MAC子层
MAC子层协议是负责调度介质去访问物理层的无线电资源,为RLC子层和PDCP子层提供无线资源分配服务。MAC子层在基站和终端用户上的功能不完全相同;其中两者的相同功能有:
(1)映射:从逻辑信道到传输信道的传输;
(2)复用:将逻辑信道的MAC SDU复用为传输块(TB)通过传输信道传送到物理层;
(3)解复用:将传输信道上来自物理层的传输块解复用为逻辑信道的MAC SDU;
(4)修正:通过混合自动重复请求(Hybrid Automatic Repeat request, HARQ)来修正传输中的错误。
基站中MAC的独特功能:
(1)将如资源块,发射功率等的无线电资源分配给终端用户;
(2)对终端用户的资源分配进行优先化处理;
(3)对传输格式选择。
终端中MAC的独特功能:
(1)对逻辑信道进行控制;
(2)调度信息报告。
总体而言,MAC子层主要负责逻辑信道和传输信道之间传输块的复用与解复用,最后通过HARQ机制提供可靠性。
1.2.2 RLC子层
RLC子层的主要的功能有为PDCP子层的数据包提供了分割和重组,管理业务数据包的重传,从而为用户数据和控制数据的传输提供可靠的服务。其中,RLC子层可以分为三种传输模式:透明模式(Transparent Mode, TM),确认模式(Acknowledged Mode, AM),非确认模式(Unacknowledged Mode, UM)。确认模式可以对未正确接收的RLC PDU进行重传,进而实现数据包的无差错按序传输。非确认模式则是和确认模式相反,不对RLC PDU进行重传。而透明模式只是对数据进行透明传输,不对数据进行任何处理。
1.2.3 PDCP子层
PDCP子层主要是负责对控制平面和用户平面的消息进行传输保护。在控制平面上,PDCP子层负责加密以及完整性保护;而对用户平面上的IP数据,PDCP子层只是进行头压缩和加密,并不提供完整性保护。由于PDCP子层是协议栈中从下到上第一个对数据包进行加密以及完整性保护的子层,因此我们可以读取PDCP子层下所有数据包的负载以及报头信息,从而分析无线链路层的元信息,如PDCP子层的数据包长度。在本文中,我们就是通过收集并分析PDCP子层的PDCP包长这一特征进行流量识别与分析。
1.3 顶层
顶层主要分为三个子层,分别是无线电资源控制层(Radio Resource Control, RRC),非接入层(Non-Access Stratum, NAS),网络协议层(Internet Protocol)。
RRC子层主要是负责无线电的会话管理和无线电的承载控制。所有在基站和终端用户之间的无线电连接比如RRC连接都会在这个子层上进行,因此,比如寻呼和系统信息广播这些过程也会在这个子层进行。只有在终端用户和基站完成了RRC连接之后,终端用户才可以进行网络数据的接收与发送。
NAS子层主要是负责终端用户的移动性和会话管理,即用户识别,认证以及安全控制,但同时,该子层还会进行终端用户跟踪区域的更新,分配临时网络标识等过程。NAS子层的信令或数据会进行强制的完整性保护以及加密。
IP子层为设备的操作系统提供了访问网络的端口。每个终端用户都会有一个IP地址,通过这个IP地址,可以在移动网络中识别和转发该用户的数据包。同时,核心网还会对用户访问网络的流量进行管理和控制。
二针对无线链路层上的攻击
2.1 身份映射攻击
身份和位置是用户重要的隐私,攻击者如果能够通过空口流量的特性去获取标识符,从而通过利用标识符对用户进行识别以及分析其流量特征。由于基站使用随机接入过程的时候与上行链路的用户同步,这个初始MAC层进程发生在PDCP层之下,因此是没有保护机制的,用户以明文信息传输到基站,这导致了攻击者可以利用这一漏洞去窃取用户的隐私信息。身份映射攻击可以分为被动身份映射攻击以及主动身份映射攻击。
2.1.1 被动身份映射攻击
在用户接入小区网络前,会与小区基站进行身份认证,认证的过程当中所都是明文传输,这使得用户的IMSI和TMSI都是透明的。除了用户的IMSI和TMSI是透明之外,用户的RNTI数据对于小区的基站也是透明的。因此,攻击者可以根据用户的RNTI进行对用户的业务识别和位置跟踪。攻击者可以通过软件无线电如USRP等设备在空口窃取用户的流量数据,[1][2]证明了该攻击是有效的。但是,由于RNTI仅仅存在于RRC连接的状态下存在,且在一段时间内,若是用户在一段时间内未与基站进行数据的传输,RNTI也会发生改变,这也使得攻击者单纯利用RNTI也很难对用户进行跟踪。尽管RNTI会发生改变,[3]也总结出了RNTI变化的规律,这说明攻击者可以根据基站对RNTI分配的方式去预测用户的下一个RNTI,从而对用户的流量的变化来对识别用户进行的业务。或者,[4]通过在MAC层的随机接入过程中窃取RNTI以及相对应的TMSI并且一一映射,也同样可以对特定用户的数据进行识别。
2.1.2 主动身份映射攻击
主动身份映射攻击实现难度对于被动身份映射攻击实现难度来说,相对较大。在[2]中,由于RLC, MAC, PDCP的上行报文的头信息在上行链路的传输中是可读,攻击者可以在具有适当的报头设置的分配资源中发送数据,通过发送数据可以改变数据包的调度算法来窃取带宽,又或者是改变基站的负载算法使得想新加入的用户无法连入小区基站。
2.1.3 解决方案
用户专门研究了某基站的RNTI分配策略,即可预测针对的用户的RNTI的变化。但是,文中也表现出了RNTI会发现随机的分配。因此,基站在RNTI的分配时采用随机分配即可大大减少了攻击者针对RNTI的追踪来识别用户的可能。但是攻击者也可以通过TMSI和RNTI的映射关系来识别用户,因此,基站可以基于随机分配的原理同样应用在TMSI上面,这也使得TMSI和RNTI的映射关系不存在。
2.2 用户数据操纵攻击
2.2.1 重定向攻击
LTE的空口协议只对PDCP子层之上的用户面数据具有加密保护,但不存在完整性保护。因此,攻击者可以在通过在终端和基站之间建立一个中继站,即可获取用户平面数据的加密有效载荷。有文献表明:[4]通过中继站拦截下转发到目标IP地址的数据包,将该数据包与其他有效负载区分开,并应用操纵掩码将目标IP地址更改到恶意IP地址,从而达到将请求绕道到恶意服务器而不是原始的DNS原始器的目的。但是,其他的数据包原封不动地传输到目标IP地址,得到解码方法,从而对传输到恶意IP地址的数据包进行解码,获取用户隐私信息。[5]利用IP层的反射机制建立了预言机,从而完善了解密和加密的过程,使得重定向攻击更加适用于实际场景。攻击者通过了上行链路允许建立到网络的任何IP连接以及下行链路建立到终端的TCP连接的特点,并且建立了预言机,解决了加密和解密的符号偶尔会发生混乱的问题。
2.2.2 解决方案
产生重定向攻击的根本原因在于PDCP子层之上的用户面数据并不存在完整性保护,且攻击者可以重复使用密钥流进行解密和加密。因此,解决密钥流的重复使用即可解决该攻击的存在,协议中也提出了该解决方法:“为了避免密钥流的重复使用,基站可以使用不同的无线电承载标识应用在连续的无线电承载建立,也可以触发在小区内切换,或是触发从RRC连接到RRC空闲或非空闲状态的转换最后返回RRC连接。”[6]也仔细分析了该解决方法在不同场景下的评估。
2.3 指纹攻击
PDCP子层以下的用户面数据并不存在加密保护,因此,可以利用侧信道的流量信息去获取用户的流量的信息,如PDCP包长。PDCP的包长不会收到加密而发生改变,因此特定业务以及特定网站的固有传输使得攻击者可以通过PDCP包长去识别用户所访问得到网站和业务所正在进行的业务。因此,指纹攻击可以细分为网站指纹攻击以及业务指纹攻击。
2.3.1 网站指纹攻击
攻击者利用软件无线电如USRP等设备对目标用户进行窃听,得到相关的传输数据,然后获取其传输的PDCP包长,最后利用机器学习的先进工具如支持向量机、随机森林、决策树等对数据进行识别,从而识别出目标用户正在访问的网站数据,从而窥探用户的隐私。[7]在借助实验室搭建的网络以及商业网络中对该攻击证明了可行性。
2.3.2 业务指纹攻击
相同于网站指纹攻击的方法,攻击者同样可以获取到用户进行某项业务的PDCP包长,通过一些算法进行特定的识别。[8]通过实验室环境下的srsLTE网络获取用户的不同应用程序的PDCP包长,并提取了60个特征,进行机器学习,且具有可观的准确率,证明了该攻击的可行性。应用程序既然可以通过该攻击进行识别,用户的手机品牌,业务也可以相应进行识别。
2.3.3 解决方案
指纹攻击可以通过混淆流量特征来进行实现。[7]通过对应用层的模糊将指纹攻击的成功率降低到53%左右,有效地降低了指纹攻击的准确率。
参考文献
[1]Jover R P. LTE security, protocol exploits and location tracking experimentation with low-cost software radio[J]. arXiv preprint arXiv:1607.05171, 2016.
[2]Forsberg D, Leping H, Tsuyoshi K, et al. Enhancing security and privacy in 3GPP E-UTRAN radio interface[C]//2007 IEEE 18th International Symposium on Personal, Indoor and Mobile Radio Communications. IEEE, 2007: 1-5.
[3]Attanasio G, Fiandrino C, Fiore M, et al. Characterizing RNTI Allocation and Management in Mobile Networks[C]//Proceedings of the 24th International ACM Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems. 2021: 189-197.
[4]Rupprecht D, Kohls K, Holz T, et al. Breaking LTE on layer two[C]//2019 IEEE Symposium on Security and Privacy (SP). IEEE, 2019: 1121-1136.
[5]Rupprecht D, Kohls K, Holz T, et al. IMP4GT: IMPersonation Attacks in 4G NeTworks[C]//NDSS. 2020.
[6]Rupprecht D, Kohls K, Holz T, et al. Call Me Maybe: Eavesdropping Encrypted {LTE} Calls With {ReVoLTE}[C]//29th USENIX security symposium (USENIX security 20). 2020: 73-88.
[7]Kohls K, Rupprecht D, Holz T, et al. Lost traffic encryption: fingerprinting LTE/4G traffic on layer two[C]//Proceedings of the 12th Conference on Security and Privacy in Wireless and Mobile Networks. 2019: 249-260.
[8]Zhai L, Qiao Z, Wang Z, et al. Identify What You are Doing: Smartphone Apps Fingerprinting on Cellular Network Traffic[C]//2021 IEEE Symposium on Computers and Communications (ISCC). IEEE, 2021: 1-7.
作者:庄理淇
责编:向灵孜