根據 The Hacker News 的報導,由英國伯明罕大學(University of Birmingham)與安全公司 Fuzzware 的研究人員發現,惡意 SIM 卡可以利用行動通訊標準中的特定功能,直接向設備的數據機(Modem)發送指令,甚至在某些工業物聯網(IoT)設備上達成完全的遠端代碼執行(RCE),接管整個設備。
背景與技術原理
在行動通訊的世界中,SIM 卡不僅僅是儲存用戶識別碼的晶片,它還具備主動指令(Proactive Command)的能力。這意味著 SIM 卡不需要等待數據機讀取資料,而是可以主動向數據機「推送」指令。其中最關鍵的指令是 RUN AT。
AT 指令(AT Commands)是一種源自 1981 年 Hayes Smartmodem 的控制語言,至今仍被所有行動通訊設備用來配置數據機、管理網路連接或查詢設備狀態。當一個設備支持透過 SIM 卡執行 RUN AT 指令時,實際上等於將一個通用控制台(General-purpose Console)交給了 SIM 卡。如果 SIM 卡被惡意篡改,攻擊者就能透過這道門戶向設備發送任意的 AT 指令。
攻擊路徑與實務影響
研究人員測試了 26 款手機與行動通訊模組,發現其中 9 款允許執行 RUN AT 指令。值得注意的是,受影響的設備大多集中在機器對機器(M2M)的硬體中,例如電動車充電樁、工業路由器以及車載電信控制單元(TCU)。
在針對一款商用電動車充電樁(Autel MAXI US AC W12-L-4G)的測試中,研究人員利用內建的 Quectel 模組發現,該模組的後台程序(atfwd_daemon)在處理 AT 指令時存在不安全的格式化字串漏洞。儘管模組設有字符黑名單試圖防止指令跳脫,但研究人員成功利用換行符號繞過限制,最終在設備上實現了代碼執行。
除了工業設備,部分手機也受到影響。例如 OPPO Reno 14 F 5G 在接受 RUN AT 指令後,攻擊者可以將手機強制鎖定在 2G 網路。由於 2G 缺乏雙向認證機制,這會讓設備極易受到偽基站(Fake Base Station)的攻擊。此外,攻擊者還能透過指令直接關閉手機電源或禁用數據機,且用戶無法透過飛航模式或設定選項恢復。
設備架構的風險放大
研究人員指出,物聯網設備之所以比手機更危險,在於其內部架構。大多數行動模組在無線電單元旁還運行著一個小型應用處理器(通常是基於 ARM Cortex-A7 的 Android 或 Linux 系統)。當無線電單元無法處理某些 AT 指令時,會將其轉發給這個處理器。
這種設計將 SIM 卡的攻擊面直接擴展到了運行 Linux 的小型電腦上,使其成為極具吸引力的攻擊目標。例如在另一個案例中,研究人員透過 TFTP 守護進程(TFTP daemon)的符號連結漏洞,利用惡意 SIM 卡讀取模組文件系統中的任意文件,並透過 SMTP 指令將資料外傳。
限制、修復與防禦建議
這類攻擊的一個核心限制在於,攻擊者必須能夠將惡意 SIM 卡放入設備中。這可能透過物理更換、使用薄型轉接片(Interposer)、供應商端被滲透或在生產線被植入來達成。對於缺乏人員看管且 SIM 卡槽外露的物聯網設備,這種物理攻擊的風險顯著增加。
在修復方面,由於 RUN AT 屬於通訊標準定義的功能,而非單一程式漏洞,因此沒有單一的補丁可以解決。研究人員建議應將此接口徹底禁用或強化。高通(Qualcomm)表示已開發出預設關閉該接口的強化配置,而模組供應商 Quectel 則聲稱已修復部分文件訪問漏洞,但關於接口本身的處理仍在進行中。
對於經營行動物聯網設備機隊的企業,目前的建議是直接詢問模組供應商:其交付的韌體是否啟用了 RUN AT 功能,以及是否能透過配置將其關閉。
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。