關(guān)于4G LTE的無(wú)線鏈路層的攻擊方法與防御措施
一、4G LTE空口協(xié)議框架
長(zhǎng)期演進(jìn)技術(shù)(Long Term Evolution, LTE)是移動(dòng)通信系統(tǒng)中使用的創(chuàng)新高性能空口的項(xiàng)目名稱,也是一種通信系統(tǒng)和通信標(biāo)準(zhǔn)。LTE是由第三代合作伙伴計(jì)劃(The 3rd Generation Partnership Project, 3GPP)組織制定的通用移動(dòng)通信系統(tǒng)(Universal Mobile Telecommunications System, UMTS)技術(shù)標(biāo)準(zhǔn)的長(zhǎng)期演進(jìn),于2004年12月在3GPP多倫多會(huì)議上正式立項(xiàng)并啟動(dòng)。實(shí)際上LTE離4G的指標(biāo)還有一些距離,但使用的技術(shù)包括了正交頻分復(fù)用(Orthogonal Frequency Division Multiplexing, OFDM)、多輸入多輸出(Multi-Input Multi-Output, MIMO)等,這些技術(shù)都是4G的關(guān)鍵技術(shù),因此也被叫做是準(zhǔn)4G。
4G LTE空中接口協(xié)議棧分為三個(gè)層次:物理層,無(wú)線鏈路層和頂層,其中無(wú)線鏈路層有三個(gè)子層,分別是MAC層,RLC層和PDCP層,而頂層則有RRC層,NAS層和IP層三個(gè)子層。4G LTE的空中接口協(xié)議可以分為用戶面和控制面。用戶面可以通過(guò)空口的傳輸通道為上層協(xié)議棧提供用戶數(shù)據(jù)傳輸?shù)姆?wù),同時(shí)也為控制面以及NAS信令提供傳輸通道,用戶面協(xié)議棧主要是由物理層、MAC層、RLC層、PDCP層和IP層組成,如圖2-1所示。
圖2?1 LTE協(xié)議棧的用戶面
控制面主要是負(fù)責(zé)用戶無(wú)線資源的管理,無(wú)線連接的建立,服務(wù)質(zhì)量的保證和資源釋放,其協(xié)議棧是由物理層,MAC層,RLC層,PDCP層,RRC層和NAS層組成的,如圖2-2所示。
圖2?2 LTE協(xié)議棧的用戶面
1.1 物理層
物理層是4G LTE協(xié)議棧的最底層,主要是負(fù)責(zé)比特?cái)?shù)據(jù)和無(wú)線電信號(hào)之間的轉(zhuǎn)換,同時(shí)也為MAC層的數(shù)據(jù)傳輸提供保障,如:傳輸塊的錯(cuò)誤檢驗(yàn)與糾錯(cuò)、速率匹配、功率控制或分配等。
物理層是負(fù)責(zé)調(diào)度無(wú)線電資源塊的,從而使4G LTE的物理層用于不同的頻譜分配,其中無(wú)線電資源塊可以分為時(shí)域,頻域和空域上的。時(shí)域上的無(wú)線電資源塊可以分為多個(gè)無(wú)線電子幀,一個(gè)子幀為1,由兩個(gè)時(shí)隙構(gòu)成,每個(gè)時(shí)隙由7個(gè)OFDM符號(hào)構(gòu)成。頻域上的資源可以被叫做是子載波。時(shí)域上的一個(gè)時(shí)隙以及頻域上的12個(gè)子載波可以構(gòu)成一個(gè)2維的網(wǎng)格,該網(wǎng)格被稱為資源塊(Resource Block, RB)。其中,每個(gè)資源塊中的每個(gè)小網(wǎng)絡(luò)可以被稱為資源元(Resource Element, RE)??沼蛏系馁Y源在邏輯上映射為天線端口,每個(gè)端口對(duì)應(yīng)一個(gè)單時(shí)頻資源網(wǎng)格。
承載著更高層的信息的一系列資源元就叫做物理信道,其中包括物理控制信道,物理數(shù)據(jù)信道,下行廣播信道和上行隨機(jī)接入信道。其中,上行指的是基站向終端用戶傳輸?shù)臄?shù)據(jù)或者信令,下行則指的是終端用戶向基站傳輸?shù)臄?shù)據(jù)或者信令。
1.2 無(wú)線鏈路層
無(wú)線鏈路層又可以分為媒體接入控制(MAC)子層,無(wú)線鏈路控制(RLC)子層以及分組數(shù)據(jù)匯聚(PDCP)子層。無(wú)線鏈路層主要是負(fù)責(zé)組織物理層的比特?cái)?shù)據(jù),并且向頂層提供數(shù)據(jù)傳輸服務(wù)。
1.2.1 MAC子層
MAC子層協(xié)議是負(fù)責(zé)調(diào)度介質(zhì)去訪問(wèn)物理層的無(wú)線電資源,為RLC子層和PDCP子層提供無(wú)線資源分配服務(wù)。MAC子層在基站和終端用戶上的功能不完全相同;其中兩者的相同功能有:
(1)映射:從邏輯信道到傳輸信道的傳輸;
(2)復(fù)用:將邏輯信道的MAC SDU復(fù)用為傳輸塊(TB)通過(guò)傳輸信道傳送到物理層;
(3)解復(fù)用:將傳輸信道上來(lái)自物理層的傳輸塊解復(fù)用為邏輯信道的MAC SDU;
(4)修正:通過(guò)混合自動(dòng)重復(fù)請(qǐng)求(Hybrid Automatic Repeat request, HARQ)來(lái)修正傳輸中的錯(cuò)誤。
基站中MAC的獨(dú)特功能:
(1)將如資源塊,發(fā)射功率等的無(wú)線電資源分配給終端用戶;
(2)對(duì)終端用戶的資源分配進(jìn)行優(yōu)先化處理;
(3)對(duì)傳輸格式選擇。
終端中MAC的獨(dú)特功能:
(1)對(duì)邏輯信道進(jìn)行控制;
(2)調(diào)度信息報(bào)告。
總體而言,MAC子層主要負(fù)責(zé)邏輯信道和傳輸信道之間傳輸塊的復(fù)用與解復(fù)用,最后通過(guò)HARQ機(jī)制提供可靠性。
1.2.2 RLC子層
RLC子層的主要的功能有為PDCP子層的數(shù)據(jù)包提供了分割和重組,管理業(yè)務(wù)數(shù)據(jù)包的重傳,從而為用戶數(shù)據(jù)和控制數(shù)據(jù)的傳輸提供可靠的服務(wù)。其中,RLC子層可以分為三種傳輸模式:透明模式(Transparent Mode, TM),確認(rèn)模式(Acknowledged Mode, AM),非確認(rèn)模式(Unacknowledged Mode, UM)。確認(rèn)模式可以對(duì)未正確接收的RLC PDU進(jìn)行重傳,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)包的無(wú)差錯(cuò)按序傳輸。非確認(rèn)模式則是和確認(rèn)模式相反,不對(duì)RLC PDU進(jìn)行重傳。而透明模式只是對(duì)數(shù)據(jù)進(jìn)行透明傳輸,不對(duì)數(shù)據(jù)進(jìn)行任何處理。
1.2.3 PDCP子層
PDCP子層主要是負(fù)責(zé)對(duì)控制平面和用戶平面的消息進(jìn)行傳輸保護(hù)。在控制平面上,PDCP子層負(fù)責(zé)加密以及完整性保護(hù);而對(duì)用戶平面上的IP數(shù)據(jù),PDCP子層只是進(jìn)行頭壓縮和加密,并不提供完整性保護(hù)。由于PDCP子層是協(xié)議棧中從下到上第一個(gè)對(duì)數(shù)據(jù)包進(jìn)行加密以及完整性保護(hù)的子層,因此我們可以讀取PDCP子層下所有數(shù)據(jù)包的負(fù)載以及報(bào)頭信息,從而分析無(wú)線鏈路層的元信息,如PDCP子層的數(shù)據(jù)包長(zhǎng)度。在本文中,我們就是通過(guò)收集并分析PDCP子層的PDCP包長(zhǎng)這一特征進(jìn)行流量識(shí)別與分析。
1.3 頂層
頂層主要分為三個(gè)子層,分別是無(wú)線電資源控制層(Radio Resource Control, RRC),非接入層(Non-Access Stratum, NAS),網(wǎng)絡(luò)協(xié)議層(Internet Protocol)。
RRC子層主要是負(fù)責(zé)無(wú)線電的會(huì)話管理和無(wú)線電的承載控制。所有在基站和終端用戶之間的無(wú)線電連接比如RRC連接都會(huì)在這個(gè)子層上進(jìn)行,因此,比如尋呼和系統(tǒng)信息廣播這些過(guò)程也會(huì)在這個(gè)子層進(jìn)行。只有在終端用戶和基站完成了RRC連接之后,終端用戶才可以進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)的接收與發(fā)送。
NAS子層主要是負(fù)責(zé)終端用戶的移動(dòng)性和會(huì)話管理,即用戶識(shí)別,認(rèn)證以及安全控制,但同時(shí),該子層還會(huì)進(jìn)行終端用戶跟蹤區(qū)域的更新,分配臨時(shí)網(wǎng)絡(luò)標(biāo)識(shí)等過(guò)程。NAS子層的信令或數(shù)據(jù)會(huì)進(jìn)行強(qiáng)制的完整性保護(hù)以及加密。
IP子層為設(shè)備的操作系統(tǒng)提供了訪問(wèn)網(wǎng)絡(luò)的端口。每個(gè)終端用戶都會(huì)有一個(gè)IP地址,通過(guò)這個(gè)IP地址,可以在移動(dòng)網(wǎng)絡(luò)中識(shí)別和轉(zhuǎn)發(fā)該用戶的數(shù)據(jù)包。同時(shí),核心網(wǎng)還會(huì)對(duì)用戶訪問(wèn)網(wǎng)絡(luò)的流量進(jìn)行管理和控制。
二、針對(duì)無(wú)線鏈路層上的攻擊
2.1 身份映射攻擊
身份和位置是用戶重要的隱私,攻擊者如果能夠通過(guò)空口流量的特性去獲取標(biāo)識(shí)符,從而通過(guò)利用標(biāo)識(shí)符對(duì)用戶進(jìn)行識(shí)別以及分析其流量特征。由于基站使用隨機(jī)接入過(guò)程的時(shí)候與上行鏈路的用戶同步,這個(gè)初始MAC層進(jìn)程發(fā)生在PDCP層之下,因此是沒有保護(hù)機(jī)制的,用戶以明文信息傳輸?shù)交?,這導(dǎo)致了攻擊者可以利用這一漏洞去竊取用戶的隱私信息。身份映射攻擊可以分為被動(dòng)身份映射攻擊以及主動(dòng)身份映射攻擊。
2.1.1 被動(dòng)身份映射攻擊
在用戶接入小區(qū)網(wǎng)絡(luò)前,會(huì)與小區(qū)基站進(jìn)行身份認(rèn)證,認(rèn)證的過(guò)程當(dāng)中所都是明文傳輸,這使得用戶的IMSI和TMSI都是透明的。除了用戶的IMSI和TMSI是透明之外,用戶的RNTI數(shù)據(jù)對(duì)于小區(qū)的基站也是透明的。因此,攻擊者可以根據(jù)用戶的RNTI進(jìn)行對(duì)用戶的業(yè)務(wù)識(shí)別和位置跟蹤。攻擊者可以通過(guò)軟件無(wú)線電如USRP等設(shè)備在空口竊取用戶的流量數(shù)據(jù),[1][2]證明了該攻擊是有效的。但是,由于RNTI僅僅存在于RRC連接的狀態(tài)下存在,且在一段時(shí)間內(nèi),若是用戶在一段時(shí)間內(nèi)未與基站進(jìn)行數(shù)據(jù)的傳輸,RNTI也會(huì)發(fā)生改變,這也使得攻擊者單純利用RNTI也很難對(duì)用戶進(jìn)行跟蹤。盡管RNTI會(huì)發(fā)生改變,[3]也總結(jié)出了RNTI變化的規(guī)律,這說(shuō)明攻擊者可以根據(jù)基站對(duì)RNTI分配的方式去預(yù)測(cè)用戶的下一個(gè)RNTI,從而對(duì)用戶的流量的變化來(lái)對(duì)識(shí)別用戶進(jìn)行的業(yè)務(wù)。或者,[4]通過(guò)在MAC層的隨機(jī)接入過(guò)程中竊取RNTI以及相對(duì)應(yīng)的TMSI并且一一映射,也同樣可以對(duì)特定用戶的數(shù)據(jù)進(jìn)行識(shí)別。
2.1.2 主動(dòng)身份映射攻擊
主動(dòng)身份映射攻擊實(shí)現(xiàn)難度對(duì)于被動(dòng)身份映射攻擊實(shí)現(xiàn)難度來(lái)說(shuō),相對(duì)較大。在[2]中,由于RLC, MAC, PDCP的上行報(bào)文的頭信息在上行鏈路的傳輸中是可讀,攻擊者可以在具有適當(dāng)?shù)膱?bào)頭設(shè)置的分配資源中發(fā)送數(shù)據(jù),通過(guò)發(fā)送數(shù)據(jù)可以改變數(shù)據(jù)包的調(diào)度算法來(lái)竊取帶寬,又或者是改變基站的負(fù)載算法使得想新加入的用戶無(wú)法連入小區(qū)基站。
2.1.3 解決方案
用戶專門研究了某基站的RNTI分配策略,即可預(yù)測(cè)針對(duì)的用戶的RNTI的變化。但是,文中也表現(xiàn)出了RNTI會(huì)發(fā)現(xiàn)隨機(jī)的分配。因此,基站在RNTI的分配時(shí)采用隨機(jī)分配即可大大減少了攻擊者針對(duì)RNTI的追蹤來(lái)識(shí)別用戶的可能。但是攻擊者也可以通過(guò)TMSI和RNTI的映射關(guān)系來(lái)識(shí)別用戶,因此,基站可以基于隨機(jī)分配的原理同樣應(yīng)用在TMSI上面,這也使得TMSI和RNTI的映射關(guān)系不存在。
2.2 用戶數(shù)據(jù)操縱攻擊
2.2.1 重定向攻擊
LTE的空口協(xié)議只對(duì)PDCP子層之上的用戶面數(shù)據(jù)具有加密保護(hù),但不存在完整性保護(hù)。因此,攻擊者可以在通過(guò)在終端和基站之間建立一個(gè)中繼站,即可獲取用戶平面數(shù)據(jù)的加密有效載荷。有文獻(xiàn)表明:[4]通過(guò)中繼站攔截下轉(zhuǎn)發(fā)到目標(biāo)IP地址的數(shù)據(jù)包,將該數(shù)據(jù)包與其他有效負(fù)載區(qū)分開,并應(yīng)用操縱掩碼將目標(biāo)IP地址更改到惡意IP地址,從而達(dá)到將請(qǐng)求繞道到惡意服務(wù)器而不是原始的DNS原始器的目的。但是,其他的數(shù)據(jù)包原封不動(dòng)地傳輸?shù)侥繕?biāo)IP地址,得到解碼方法,從而對(duì)傳輸?shù)綈阂釯P地址的數(shù)據(jù)包進(jìn)行解碼,獲取用戶隱私信息。[5]利用IP層的反射機(jī)制建立了預(yù)言機(jī),從而完善了解密和加密的過(guò)程,使得重定向攻擊更加適用于實(shí)際場(chǎng)景。攻擊者通過(guò)了上行鏈路允許建立到網(wǎng)絡(luò)的任何IP連接以及下行鏈路建立到終端的TCP連接的特點(diǎn),并且建立了預(yù)言機(jī),解決了加密和解密的符號(hào)偶爾會(huì)發(fā)生混亂的問(wèn)題。
2.2.2 解決方案
產(chǎn)生重定向攻擊的根本原因在于PDCP子層之上的用戶面數(shù)據(jù)并不存在完整性保護(hù),且攻擊者可以重復(fù)使用密鑰流進(jìn)行解密和加密。因此,解決密鑰流的重復(fù)使用即可解決該攻擊的存在,協(xié)議中也提出了該解決方法:“為了避免密鑰流的重復(fù)使用,基站可以使用不同的無(wú)線電承載標(biāo)識(shí)應(yīng)用在連續(xù)的無(wú)線電承載建立,也可以觸發(fā)在小區(qū)內(nèi)切換,或是觸發(fā)從RRC連接到RRC空閑或非空閑狀態(tài)的轉(zhuǎn)換最后返回RRC連接?!盵6]也仔細(xì)分析了該解決方法在不同場(chǎng)景下的評(píng)估。
2.3 指紋攻擊
PDCP子層以下的用戶面數(shù)據(jù)并不存在加密保護(hù),因此,可以利用側(cè)信道的流量信息去獲取用戶的流量的信息,如PDCP包長(zhǎng)。PDCP的包長(zhǎng)不會(huì)收到加密而發(fā)生改變,因此特定業(yè)務(wù)以及特定網(wǎng)站的固有傳輸使得攻擊者可以通過(guò)PDCP包長(zhǎng)去識(shí)別用戶所訪問(wèn)得到網(wǎng)站和業(yè)務(wù)所正在進(jìn)行的業(yè)務(wù)。因此,指紋攻擊可以細(xì)分為網(wǎng)站指紋攻擊以及業(yè)務(wù)指紋攻擊。
2.3.1 網(wǎng)站指紋攻擊
攻擊者利用軟件無(wú)線電如USRP等設(shè)備對(duì)目標(biāo)用戶進(jìn)行竊聽,得到相關(guān)的傳輸數(shù)據(jù),然后獲取其傳輸?shù)腜DCP包長(zhǎng),最后利用機(jī)器學(xué)習(xí)的先進(jìn)工具如支持向量機(jī)、隨機(jī)森林、決策樹等對(duì)數(shù)據(jù)進(jìn)行識(shí)別,從而識(shí)別出目標(biāo)用戶正在訪問(wèn)的網(wǎng)站數(shù)據(jù),從而窺探用戶的隱私。[7]在借助實(shí)驗(yàn)室搭建的網(wǎng)絡(luò)以及商業(yè)網(wǎng)絡(luò)中對(duì)該攻擊證明了可行性。
2.3.2 業(yè)務(wù)指紋攻擊
相同于網(wǎng)站指紋攻擊的方法,攻擊者同樣可以獲取到用戶進(jìn)行某項(xiàng)業(yè)務(wù)的PDCP包長(zhǎng),通過(guò)一些算法進(jìn)行特定的識(shí)別。[8]通過(guò)實(shí)驗(yàn)室環(huán)境下的srsLTE網(wǎng)絡(luò)獲取用戶的不同應(yīng)用程序的PDCP包長(zhǎng),并提取了60個(gè)特征,進(jìn)行機(jī)器學(xué)習(xí),且具有可觀的準(zhǔn)確率,證明了該攻擊的可行性。應(yīng)用程序既然可以通過(guò)該攻擊進(jìn)行識(shí)別,用戶的手機(jī)品牌,業(yè)務(wù)也可以相應(yīng)進(jìn)行識(shí)別。
2.3.3 解決方案
指紋攻擊可以通過(guò)混淆流量特征來(lái)進(jìn)行實(shí)現(xiàn)。[7]通過(guò)對(duì)應(yīng)用層的模糊將指紋攻擊的成功率降低到53%左右,有效地降低了指紋攻擊的準(zhǔn)確率。
參考文獻(xiàn)
[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.