前一段時間 Checkpoint 研究人員發布的天數 消息稱他們已經確定了三個漏洞(CVE-2021-0661、CVE-2021-0662、CVE-2021-0663) 在聯發科 DSP 芯片的固件中, 以及 MediaTek Audio HAL 音頻處理層的漏洞 (CVE-2021-0673)。 如果成功利用這些漏洞,攻擊者可以組織從 Android 平台的非特權應用程序竊聽用戶。
恩2021, 聯發科約佔37% 專用芯片的出貨量 智能手機和 SoC (其他數據顯示,2021年第二季度,聯發科在智能手機DSP芯片廠商中的份額為43%)。
其中,聯發科 DSP 芯片 它們用於小米、Oppo、Realme 和 Vivo 的旗艦智能手機。 聯發科芯片基於 Tensilica Xtensa 微處理器,用於智能手機中執行聲音、圖像和視頻處理等操作,用於增強現實係統的計算、計算機視覺和機器學習,以及實現快速充電。
DSP芯片逆向工程固件 來自聯發科基於 FreeRTOS 平台 揭示了在固件端運行代碼並獲得對 DSP 操作的控制的各種方法 通過從 Android 平台的非特權應用程序發送特製的請求。
在配備聯發科 MT9 SoC(天璣 5U)的小米紅米 Note 6853 800G 上演示了實際攻擊示例。 值得注意的是,OEM 廠商已經在聯發科 XNUMX 月的固件更新中收到了漏洞修復。
我們研究的目標是找到一種攻擊 Android Audio DSP 的方法。 首先,我們需要了解運行在應用處理器 (AP) 上的 Android 如何與音頻處理器進行通信。 顯然,必須有一個控制器等待來自 Android 用戶空間的請求,然後使用某種處理器間通信 (IPC) 將這些請求轉發給 DSP 進行處理。
我們使用基於MT9(天璣5U)芯片組的小米紅米Note 6853 800G智能手機作為測試設備。 操作系統為 MIUI Global 12.5.2.0 (Android 11 RP1A.200720.011)。
由於設備上只有少數與媒體相關的驅動程序,因此不難找到負責 AP 和 DSP 之間通信的驅動程序。
通過在 DSP 芯片的固件級別執行其代碼可以進行的攻擊包括:
- 訪問控制系統繞過和權限提升:隱形捕獲數據,例如照片、視頻、通話錄音、麥克風數據、GPS 等。
- 拒絕服務和惡意操作:阻止訪問信息,在快速充電期間禁用過熱保護。
- 隱藏惡意活動 - 創建在固件級別運行的完全不可見且無法消除的惡意組件。
- 附加標籤以監視用戶,例如向圖像或視頻添加微妙的標籤,然後將發布的數據鏈接到用戶。
聯發科音頻 HAL 漏洞的詳細信息尚未披露, 但是我作為其他三個漏洞 在 DSP 固件中 由處理 IPI 消息時不正確的邊緣檢查引起 (Inter-Processor Interrupt)由audio_ipi 音頻驅動程序發送到DSP。
這些問題可能導致固件提供的處理程序中的受控緩衝區溢出,其中有關傳輸數據大小的信息取自 IPI 數據包中的字段,而無需驗證共享內存中分配的實際大小.
為了在實驗期間訪問控制器,我們使用直接 ioctls 調用或 /vendor/lib/hw/audio.primary.mt6853.so 庫,這些庫是常規 Android 應用程序無法訪問的。 然而,研究人員找到了一種基於第三方應用程序可用調試選項發送命令的解決方案。
可以通過調用Android AudioManager 服務來更改指定的參數,以攻擊聯發科Aurisys HAL 庫(libfvaudio.so),該庫提供與DSP 交互的調用。 為了阻止這個解決方案,聯發科移除了通過 AudioManager 使用 PARAM_FILE 命令的功能。
終於 如果您有興趣了解更多信息, 您可以查看詳細信息 在下面的鏈接中。