關於4G LTE的無線鏈路層的攻擊方法與防禦措施

2023.05.07

關於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.