摘要

本報告詳細描述了對汽車車用主機(Head Unit)應用全面硬體破解方法,進而發現並分析了一個先前未知且有漏洞的即時作業系統(RTOS)。研究涵蓋多個階段,包括資訊蒐集、韌體傾印(Firmware Dumping)、UART存取、藍牙協定分析,以及深入的韌體逆向工程。發現的關鍵漏洞包括弱藍牙PIN碼、暴露的私鑰、過時且有漏洞的函式庫,以及具有嚴重完整性繞過漏洞的不安全啟動載入器。研究結果凸顯了汽車資訊娛樂系統的重大安全風險,並強調嵌入式系統開發中強大安全實務的重要性。

破解汽車車用主機:揭露RTOS重大安全漏洞 | 資訊安全新聞

1. 簡介

現代車輛日益整合複雜的電子系統,特別是其資訊娛樂單元。這些車用主機(Head Units,HUs)作為導航、通信和娛樂的中央樞紐,經常與關鍵車輛網路互動。雖然提升了使用者體驗,但其日益增長的複雜性和連網性為網路安全威脅引入了新的攻擊面。本研究聚焦於特定汽車車用主機的安全分析,旨在透過系統化的硬體破解方法揭示潛在漏洞。目標是展示攻擊此類系統的可行性,並闡明汽車應用中嵌入式RTOS環境的安全態勢。

2. 方法論

本研究採用的方法論為多面向,結合硬體與軟體分析技術,以深入了解車用主機的架構與功能。程序涉及多個關鍵階段:

2.1. 資訊蒐集與初步分析

初始步驟包括外部偵察與基本硬體檢查。這包括辨識車用主機型號(MTXNC10AB)及其FCC ID(BP9-MTXNC10AB)以蒐集公開資訊[1]。對單元進行實體拆解,以辨識主機板、顯示器和系統單晶片(System-on-Chip, SoC)等關鍵元件。SoC被辨識為TMM9200,由於缺乏公開資料表,需進一步逆向工程研究[1]。

2.2. 硬體破解:韌體傾印

韌體傾印是獲取嵌入式軟體進行靜態分析的關鍵步驟。這涉及辨識並與主機板上的各種記憶體元件互動。程序包括從EEPROM(AT24C16)以及多個SPI快閃記憶體(W25Q16和W25Q128)傾印資料。W25Q128,一個16 MBytes的SPI快閃記憶體,因其高熵值被確認包含主要的IVI韌體,顯示其為可執行程式碼[1]。

2.3. 發現UART存取

UART(Universal Asynchronous Receiver-Transmitter,通用非同步收發器)存取提供低階除錯介面。透過對主機板的仔細探測與分析,辨識出UART接腳。獲得UART shell存取提供了寶貴的開機日誌,並允許與系統在基礎層級互動,揭示內部程序與設定[1]。開機日誌特別提供了RTOS初始化序列、藍牙管理器設定和快閃記憶體操作的洞察。

2.4. 藍牙破解

藍牙通信是資訊娛樂系統的常見功能,也是一個重要的攻擊面。分析顯示車用主機使用藍牙經典版與舊版配對,一種較不安全的配對方式。透過嗅探(sniffing) HCI日誌,可捕捉配對程序,並使用Yaniv Shaked和Avishai Wool論文中描述的技術[2],成功破解藍牙PIN碼(發現為'0000')[1]。此漏洞允許執行中間人(Man-in-the-Middle, MITM)攻擊,得以從攔截的藍牙流量中重建敏感資料,如電話聯絡人和通話記錄[1]。未強制執行安全簡單配對(Secure Simple Pairing ,SSP)是一個嚴重的安全疏忽。

2.5. 韌體分析

傾印的韌體( firmware16M.bin )接受了深入分析。最初使用Binwalk等自動化工具的嘗試不足以應對,因其常產生誤報(如QNX4檢測)[1]。這需要手動提取與分析韌體元件。韌體被發現包含三個主要二進位檔案: recovery_16.bin (出廠重置)、 pre_main_16.bin (啟動載入器)和 main_16.bin (RTOS)[1]。 pre_main_16.bin 負責載入啟動載入器映像與作業系統,而 main_16.bin 包含核心RTOS功能,包括圖像、rar檔案、PEM憑證和加密函式庫(AES、CRC32、DES)[1]。

2.5.1. 啟動載入器與韌體完整性

一個重要發現是不安全的啟動載入器。啟動載入器使用弱1-byte CRC checksum進行設定更新,易於繞過[1]。此漏洞允許注入修改的韌體元件。例如,透過更改啟動載入器程式碼或KIA開機映像,並確保1-byte CRC checksum匹配,可阻止系統開機,顯示強大完整性檢查的關鍵角色[1]。簽署韌體映像的程序通常涉及使用雜湊演算法(例如SHA-256)生成軟體映像的hash值,隨後使用私鑰(例如RSA)加密此hash值以創建數位簽章。此簽章隨後附加到軟體映像,形成產品映像。在開機程序中,設備使用公鑰驗證簽章,確保韌體的真實性與完整性。以下圖表說明此程序:

Firmware Signing Process

然而,發現的啟動載入器依賴單一byte CRC checksum進行設定更新,代表完整性驗證鏈中的嚴重弱點。這允許對韌體進行惡意修改而不觸發強大的完整性檢查,使系統容易被植入後門。

2.5.2. 映像後門植入

研究展示了透過替換顯示圖像植入韌體後門的可行性。韌體包含大量用於車用主機顯示的PNG圖像(共882個)[1]。透過製作與原始圖像相同大小的假圖像,並確保其未壓縮(因部分metadata由iRTOS驗證),可將惡意圖像注入韌體[1]。這進一步被用於實施QR釣魚攻擊,其中修改的 QR Code 圖像重新導向到攻擊者控制的網頁,而非合法的KIA手冊頁面[1]。以下圖像顯示binwalk輸出,揭示韌體中的眾多PNG圖像:

Binwalk Output of Firmware

只要保持韌體中的偏移量,替換這些圖像的能力凸顯了系統對顯示資產完整性驗證的嚴重漏洞。成功注入假圖像,例如在主畫面上顯示“hack word”的圖像,展示了視覺操縱和社交工程攻擊的潛力[1]。

Hack Word on Display

QR釣魚攻擊的成功,其中車用主機上的嵌入式 QR Code 被替換為重新導向到惡意網頁,進一步彰顯了此漏洞的嚴重性[1]。此攻擊向量可用於傳遞惡意軟體、釣魚認證或散佈錯誤資訊。

Normal QR Redirect

Malicious QR Redirect

3. 發現的漏洞與問題

對汽車車用主機及其底層RTOS的全面分析揭示了幾個關鍵漏洞與安全問題:

  • 弱啟動載入器Checksum: 啟動載入器依賴1-byte CRC checksum進行設定更新,使完整性檢查易於繞過,並可注入惡意程式碼或修改的韌體元件[1]。
  • 不完整的韌體完整性控制: 二進位韌體的某些部分未接受強大的完整性驗證,允許注入後門圖像及其他潛在惡意內容而不被檢測[1]。
  • 有漏洞的函式庫: iRTOS使用過時且有漏洞的函式庫,具體為Matrixssl 3.7.1和Libpng版本1.2.29[1]。這些版本已知具有安全漏洞,可能被攻擊者利用。
  • 暴露的私鑰: 從系統中恢復了兩個私鑰[1]。若攻擊者獲得這些私鑰,可冒充IVI系統、解密敏感通信或簽署惡意韌體更新,嚴重危害系統安全。
  • UART日誌中的明文藍牙PIN: 藍牙PIN在UART日誌中以明文暴露[1]。這允許具有UART存取的攻擊者輕易發現PIN並配對未授權的設備,導致對IVI功能(如通話、媒體和電話簿)的未授權存取。
  • 強制使用藍牙舊版協議配對安全漏洞 車用主機強制使用藍牙舊版配對比安全簡單配對(SSP)更不安全的配對方式[1]。這使系統容易受到像是PIN破解漏洞以及中間人(MITM)攻擊的影響,如研究中所示[1]。

4. 結論

本研究表明,汽車資訊娛樂系統儘管在現代車輛中扮演關鍵角色,卻可能潛藏重大安全漏洞。車用主機RTOS中發現的弱點,從弱啟動載入器的完整性檢查到暴露的私鑰和有漏洞的藍牙實施,凸顯了在設計和開發此類嵌入式系統中改善安全實務的迫切需求。能夠植入後門韌體、操縱顯示圖像,以及通過藍牙攔截敏感使用者資料的能力,對車輛安全與使用者隱私構成重大風險。製造商必須優先考慮強大的安全措施,包括強大的加密完整性檢查、安全啟動程序、定期軟體更新,以及使用最新且安全的函式庫,以減輕這些威脅並確保汽車電子產品的安全性與可信度。

Copyright © 2025 版權所有 翊天科技有限公司