行動網路的隱患:研究人員揭示重大安全漏洞

研究人員在來自不同供應商的 LTE/5G 核心網路實作中發現了 100 多個漏洞,包括 Open5GS、 Magma、OpenAirInterface 等。這些漏洞存在於開源軟體和私有軟體中( proprietary software),可能導致全城範圍的 拒絕服務攻擊(Denial-of-Service attack) 和潛在的遠端程式碼執行。許多漏洞源於緩衝區溢位和未初始化的記憶體存取,使攻擊者能夠監視用戶資料 並獲得對核心網路的未經授權的存取。研究人員負責任地揭露了他們的發現,並與供應商合作修復了發現的 問題。開發了概念驗證漏洞攻擊程式來證明漏洞的嚴重性。

行動網路的重大安全漏洞 | 應用程式安全測試 | AST | 資訊安全

概念驗證程式碼攻擊步驟

針對 SD-Core 中的一個漏洞開發了概念驗證 (PoC) 遠端程式碼執行 (RCE) 漏洞,以實際證明漏洞的嚴重性。這表明對手可以利用記憶體損壞錯誤(Memory Corruption Error)在行動電話核心網路中(cellular core network)佔據一席之地。

具體來說,文章中描述了發現的許多漏洞,其中許多漏洞可能允許攻擊者獲得遠端存取權限:
  • 一些漏洞會導致緩衝區溢位或類似的記憶體損壞錯誤,攻擊者可以利用這些錯誤進入行動電話核心網路。
  • 從這些漏洞,攻擊者可以監視手機位置和連接訊息,對特定用戶進行有針對性的攻擊,並轉向在核心網路內進行攻擊。
  • 任何未經身份驗證的行動裝置都可能利用某些漏洞,隨著 Wi-Fi 通話服務的廣泛部署,網路上的任何實體(entity)只需發送幾個封包即可利用這些攻擊。
  • 擁有基地台存取權限的攻擊者可以利用其他漏洞。

各系統的漏洞

研究人員開發了 PoC RCE 漏洞來展示此類漏洞的實際意義。這些來源還提供了幾個特定漏洞的詳細程式碼分析,包括:
  • OpenAirInterface (5G):詳細介紹了幾個漏洞,包括Null dereference、堆疊式的 memcpy 緩衝區溢位、未初始化的記憶體存取權以及缺少 fd_set 邊界檢查。
  • Open5GS (5G):漏洞包含格式錯誤的 SUCI、零長度 NAS 封包和格式錯誤的 SON 設定傳輸的解析錯誤。
  • Magma (5G):漏洞包括 NGAP 協定中的越界讀取(Out-of-bounds read)和Reachable Assertion。
  • Magma/OpenAirInterface(LTE):處理緊急號碼清單欄位、超大 NAS 封包(Oversized NAS packet)和malformed Access Point Name IE 時存在的漏洞包括Reachable Assertion和緩衝區溢位。
  • OpenAirInterface (LTE):當收到具有特定 TEID 欄位值的 GTP 訊息時,系統將中止。
  • Open5GS (LTE):漏洞包括Reachable Assertion,其 EMM 訊息長度為零、格式錯誤的附加請求封包以及格式錯誤的 InitialUEMessage 封包。
  • NextEPC (LTE):漏洞包括由於資料包格式錯誤而導致的緩衝區溢位和無效讀取(Invalid read),特別是在處理緊急號碼清單和 IMSI 欄位時,以及與 S1AP 協定相關的靜態配置陣列(Statically-allocated array)中的Off-by-one error。
  • Nucleus (LTE):漏洞包括由於格式錯誤的 S1AP 封包以及 ASN.1 解析器中的記憶體損壞而導致的堆疊式(Stack-based)和基於堆積式(Heap-based)的緩衝區溢位。
  • Athonet(LTE):漏洞包括處理各種 S1AP 協定訊息時出現的無效記憶體存取,以及由於 E-RAB Release Command packet中的 NAS PDU 格式錯誤而導致的Crash。
  • srsRAN(LTE):在處理某些整數類型時發現一個漏洞,其中未強制執行邊界約束(Bounds constraint)。