隨著各種5G應用技術開發相關的研究及探索不斷增加,網路駭客也正利用各種可經由這項最新通訊標準來駭入一般使用者與企業機構系統及網路的威脅與風險。本文說明一般使用者裝置如何被用於攻擊5G網路基礎架構的情境。
第五代行動通訊(5G)帶來了傳統無線網路做不到的各種前所未見的應用,協助企業加快數位轉型、降低營運成本、發揮最大的生產力與投資報酬。要達成這些目標,5G須仰賴幾項關鍵服務:大規模機器型通訊(mMTC)、增強型行動寬頻通訊(eMBB)以及超可靠低延遲通訊(URLLC)。
隨著更多商用頻譜的釋出,5G專網的普及率也不斷攀升。製造、國防、港埠、能源、物流以及採礦只不過是幾個最早採用這類私有專屬網路的領域,特別是一些加速導入物聯網(IoT)來將生產線與供應鏈數位化的企業。有別於公共網路,5G專網中的蜂巢式行動基礎架構設備可能屬於私人所有,並由企業使用者本身、系統整合商或電信業者負責營運。
然而,隨著各種5G應用技術開發相關的研究及探索不斷增加,網路駭客也正利用各種可經由這項最新通訊標準來駭入一般使用者與企業機構的系統及網路。對此,本文將說明一般使用者裝置如何被用於攻擊5G網路基礎架構的情境。
了解5G網路拓樸
在一個端對端5G蜂巢式行動網路中,用戶設備(簡稱UE,如手機與物聯網裝置)是透過無線電波來連上基地台,基地台再透過有線的IP網路連上5G核心網路,如圖1所示。
從功能上劃分,5G核心網路大致可分成兩個部分:控制平面(Control Plane)與使用者平面(User Plane)。控制平面負責在網路內部傳遞訊號並促進流量的交換,好讓流量從一個端點順利送達另一個端點。至於使用者平面,則是負責連接和處理流經無線區域網路(RAN)的使用者資料。
基地台會利用「次世代應用程式協定」(Next-Generation Application Protocol,簡稱NGAP)發送與裝置連接相關的控制訊號給控制平面,並建立連線。裝置產生的使用者流量會透過「GPRS通道協定使用者平面」(GPRS Tunneling Protocol User Plane,簡稱GTP-U)發送到使用者平面,使用者平面再將資料流量發送至外部網路。
用戶設備(UE)子網路與基礎架構網路彼此是分開隔離的,所以用戶設備不得存取基礎架構元件。這樣的隔離有助於保護5G核心網路,防止來自用戶設備的蜂巢式技術(Cellular Technology,簡稱CT)通訊協定攻擊。
那麼,駭客有辦法打破這樣的隔離並攻擊到5G核心網路嗎?以下詳細說明駭客如何利用5G基礎架構當中的元素(尤其是GTP-U)來做到這點。
何謂GTP-U
GTP-U是一種存在於基地台與5G使用者平面之間的通道協定(Tunneling Protocol),使用連接埠2152。圖2是使用者資料封包被封裝(Encapsulate)在GTP-U當中的樣子。
GTP-U通道封包是在原始的資料封包之外再附加一個標頭,這個附加上去的標頭包含一個UDP(User Datagram Protocol)傳輸標頭和一個GTP-U專屬的標頭。GTP-U專屬的標頭包含下列欄位:
‧旗標:含有版本與其他資訊(例如是否包含選擇性的標頭欄位等等)。
‧訊息類型:對於攜帶使用者資料的GTP-U封包,訊息類型為0xFF。
‧長度:這是「通道端點識別碼」(Tunnel Endpoint Identifier,TEID)欄位之後所有資料的總長度(位元組)。
‧TEID:用來將通道對應至使用者裝置的獨一無二識別碼。
GTP-U標頭是由GTP-U節點所附加上去,例如基地台和「使用者平面功能」(User Plane Function,UPF),不過在使用者裝置的操作介面上是看不到標頭的,因此使用者裝置無法竄改標頭裡的欄位。
雖然GTP-U是一種標準的通道技術,但它卻僅限用於CT環境的「基地台與UPF」或者「UPF與UPF」之間。最好的情況是:基地台與UPF之間的回程流量(Backhaul)都採用了加密,並設有防火牆保護,而且從外部無法存取。以下就是理想的狀況:GSMA建議基地台與UPF之間應採用IP安全協定(IPsec)。在這樣的情況下,GTP-U節點所收到的封包必定是源於已被授權的裝置。只要這些裝置確實依照規格正確地實作,那它們就不會產生任何異常的封包。此外,任何嚴謹的系統也應該要有嚴格的正確性檢查機制來處理收到異常封包的情況,尤其是一些明顯的問題,例如無效的資料長度、類型、延伸資料等等。
但現實情況經常並非如此,所以才需要一套截然不同的分析方法。電信業者通常不願意在N3介面上部署IPsec,原因是會耗費大量CPU運算資源,並且降低使用者流量的吞吐量。此外,由於使用者資料原本就應該仰賴應用程式層次的防護,並搭配「傳輸層安全性」(TLS)這類的通訊協定,因此有人覺得IPsec是多餘的。他們覺得,只要基地台與封包處理核心完全符合規範,那就不會發生異常狀況。更何況,他們也認為所有嚴謹的系統都應該有一些正確性檢查機制來抓出明顯異常的情況。但先前已有研究指出,世界各地都有許多N3節點(如UPF)暴露在網際網路上(儘管這不應該發生)。圖3說明了這樣的狀況。
以下討論兩個利用CVE-2021-45462漏洞來攻擊GTP-U的概念。Open5GS是一套以C語言撰寫的開放原始碼5G核心網路與「演進式封包核心」(Evolved Packet Core,簡稱EPC,也就是4G網路核心)的實作,它可讓使用者裝置發送一個長度為零、類型為255的GTP-U封包,進而導致UPF發生阻斷服務(DoS)狀況。這就是CVE-2021-45462漏洞,這是一個存在於封包處理核心的資安漏洞,駭客可在UE上特製一個異常的GTP-U封包,然後將這個異常封包放入一個GTP-U封包當中發送,就能導致5G網路的UPF或4G/LTE網路的「服務閘道使用者平面功能」(Serving Gateway User Plane Function,SGW-U)當掉。由於這項攻擊手法影響的是基礎架構中的關鍵元件,而且不容易解決,因此該漏洞已被歸類為中高嚴重性的漏洞。
GTP-U節點:基地台與UPF
GTP-U節點是負責封裝(Encapsulate)與解封(Decapsulate)GTP-U封包的端點。基地台是使用者裝置端的GTP-U節點。當基地台收到來自UE的使用者資料時,它會將資料轉成IP封包,然後封裝在GTP-U通道中。
UPF是5G核心網路(5GC)端的GTP-U節點。當它收到一個來自基地台的GTP-U封包時,UPF會將它外層的GTP-U標頭去除,分離出內層的封包。UPF會尋找封包的目的地IP位址是否在UPF所保留的路由表中,但不會查看內層封包的內容,接著將封包往目的地發送。
GTP-U內的GTP-U
假使駭客在使用者裝置上特製了一個異常的GTP-U封包(圖4),然後發送給封包處理核心(圖5),會發生什麼狀況?
如駭客所願,基地台會將這個封包封裝在GTP-U通道當中發送到UPF,結果就導致UPF收到一個封裝在GTP-U內的GTP-U封包(GTP-U-in-GTP-U)。現在UPF當中出現了兩個GTP-U封包:外層GTP-U封包的標頭是由基地台在封裝使用者裝置的資料封包時產生。外層GTP-U封包的訊息類型為0xFF,長度為44,這是一個正常的標頭。內層GTP-U封包的標頭是使用者裝置特製並且當成資料封包傳送的。如同外層封包,這個內層GTP-U封包的訊息類型也是0xFF,但長度卻為零(0),所以不正常。
內層封包的來源IP位址是使用者裝置的位址,而外層封包的來源IP位址則是基地台的位址。不論內層或外層封包的目的地IP位址都一樣,也就是:「UPF的位址」。
UPF會將外層GTP-U解封,然後執行功能性檢查。但內層GTP-U封包的目的地還是同一個UPF,接下來會發生的狀況將隨系統的實作而異:
‧有些實作當中會有一個封包處理狀態機器(State Machine),這個狀態機器如果沒寫好,系統可能接下來就會著手處理這個內層GTP-U封包,但此時封包已經過了正確性檢查階段,因為它與外層封包同屬一個相同的封包情境,這將導致系統內出現一個已經通過正確性檢查的異常封包。
‧另一種可能狀況是,既然內層封包的目的地IP就指向UPF自己,因此封包將被發回給UPF自己。此時,封包很可能會再回到功能檢查階段,所以造成的問題會比前面來得輕微。
攻擊途徑
有些5G核心網路廠商使用的是Open5GS的程式碼,例如NextEPC(4G系統,在2019年重新改名為Open5GS並增加了5G功能,同時保留了舊的產品)所提供的一個企業級LTE/5G產品就是使用了Open5GS的程式碼。網路上目前還沒看到相關的攻擊或威脅指標,但經過使用上述情境測試的結果顯示它仍存在著潛在的風險。
這類攻擊之所以重要,就在於它的攻擊途徑:「從UE攻擊蜂巢式行動基礎架構」。此攻擊手法需要一台手機(或一台使用蜂巢式行動網路卡上網的電腦),再配合幾行Python程式碼就能利用這個漏洞發動攻擊。GTP-U-in-GTP-U攻擊其實是一種眾所周知的技巧,而且就算回程流量使用IPsec及加密,也無法防止這類攻擊。事實上,這些安全措施還可能妨礙防火牆執行流量檢查。
解決方案與洞見
一些關鍵產業(如醫療與公共事業)只不過是5G專網的少數早期採用者,但其應用的廣度及深度未來只會持續擴大。對這些產業來說,持續而不間斷的穩定運作至關重要,因為這關乎到生命安全與真實的衝擊。這些產業扮演著基石的功能,而這正是他們選擇採用5G專網而非Wi-Fi的原因。5G專網必須提供不間斷的連線,因為任何5G基礎架構如果被攻擊得逞,很可能會讓整個網路癱瘓。
本文介紹的CVE-2021-45462漏洞如果遭到利用,將引發DoS攻擊。CVE-2021-45462(以及大多數GTP-U-in-GTP-U攻擊)的問題根源在於封包處理核心未能做好錯誤檢查與錯誤處置。儘管GTP-U-in-GTP-U本身並無害,但封包處理核心廠商還是必須修正這類問題,而且基礎架構的系統管理人員也必須將軟體更新到最新的版本。
除此之外,GTP-U-in-GTP-U攻擊還可能洩露一些敏感的資訊,例如基礎架構節點的IP位址。因此GTP-U節點彼此之間必須要能應付GTP-U-in-GTP-U封包才行。此外,CT環境必須採用一套真正了解CT通訊協定的入侵防護系統(IPS)或防火牆。既然GTP-U不是一般的使用者流量,尤其在5G專網當中,資安團隊就能優先過濾掉GTP-U-in-GTP-U流量。
正常來說,SIM卡的註冊與使用都必須受到嚴格管制與管理。駭客一旦拿到一張失竊的SIM卡,就能插入他們的裝置並連上網路來做壞事。不僅如此,在一個責任共同分擔的架構下,資安的責任有時會變得模糊不清,例如企業擁有的是終端裝置與基礎架構邊緣,而系統整合商或電信業者則擁有蜂巢式行動基礎架構,這使得資安營運中心(SOC)很難從不同的領域與解決方案將相關的資訊彙整在一起。
再者,想要定期更新關鍵基礎架構軟體來套用廠商最新的修補也不容易,因為必須停機和進行測試,未來也是如此。所以,強烈建議採用基於IPS技術的虛擬修補或多層式防火牆。所幸,GTP-in-GTP在真實世界當中很少用到,所以大可乾脆將GTP-in-GTP流量全部擋掉。
我們建議採用能將IT與通訊技術(CT)資安及可視性整合的多層式資安解決方案。此外,建置一套零信任解決方案,例如CTOne推出的Trend Micro Mobile Network Security,也可為企業和關鍵產業添加一道額外防護來防範私有專屬網路遭到未經授權的使用,進而維持工業系統的持續運轉,確保SIM卡只能在獲得授權的裝置上使用。不僅如此,Trend Mobile Network Security還能將CT與IT資安的可視性與管理整合至單一主控台上。
<本文作者:Trend Micro Research 趨勢科技威脅研究中心本文出自趨勢科技資安部落格,是由趨勢科技資安威脅研究員、研發人員及資安專家全年無休協力合作,發掘消費者及商業經營所面臨層出不窮的資安威脅,進行研究分析、分享觀點並提出建議。>