Scoperte 3 vulnerabilità nel firmware sui chip MediaTek DSP

Qualche tempo fa giorni rilasciati dai ricercatori di Checkpoint la notizia che hanno identificato tre vulnerabilità (CVE-2021-0661, CVE-2021-0662, CVE-2021-0663) nel firmware dei chip MediaTek DSP, nonché una vulnerabilità nel livello di elaborazione audio di MediaTek Audio HAL (CVE-2021-0673). In caso di corretto sfruttamento delle vulnerabilità, un utente malintenzionato può organizzare l'intercettazione dell'utente da un'applicazione non privilegiata per la piattaforma Android.

In 2021, MediaTek rappresenta circa il 37% di spedizioni di chip specializzati per smartphone e SoC (Secondo altri dati, nel secondo trimestre del 2021, la quota di MediaTek tra i produttori di chip DSP per smartphone era del 43%).

Tra le altre cose, i chip MediaTek DSP Sono utilizzati negli smartphone di punta di Xiaomi, Oppo, Realme e Vivo. I chip MediaTek, basati sul microprocessore Tensilica Xtensa, sono utilizzati negli smartphone per eseguire operazioni come elaborazione di suoni, immagini e video, nell'informatica per sistemi di realtà aumentata, computer vision e machine learning, nonché per implementare la ricarica rapida.

Firmware di reverse engineering per chip DSP di MediaTek basato sulla piattaforma FreeRTOS ha rivelato vari modi per eseguire il codice sul lato firmware e ottenere il controllo sulle operazioni DSP inviando richieste appositamente predisposte da applicazioni non privilegiate per la piattaforma Android.

Esempi pratici di attacchi sono stati dimostrati su uno Xiaomi Redmi Note 9 5G dotato di SoC MediaTek MT6853 (Dimensity 800U). Si noti che gli OEM hanno già ricevuto correzioni di vulnerabilità nell'aggiornamento del firmware di ottobre di MediaTek.

L'obiettivo della nostra ricerca è trovare un modo per attaccare il DSP audio Android. Innanzitutto, dobbiamo capire come Android in esecuzione sul processore dell'applicazione (AP) comunica con il processore audio. Ovviamente, deve esserci un controller che attende le richieste dallo spazio utente Android e quindi, utilizzando un qualche tipo di comunicazione interprocessore (IPC), inoltra queste richieste al DSP per l'elaborazione.

Abbiamo utilizzato uno smartphone Xiaomi Redmi Note 9 5G con root basato sul chipset MT6853 (Dimensity 800U) come dispositivo di prova. Il sistema operativo è MIUI Global 12.5.2.0 (Android 11 RP1A.200720.011).

Poiché sul dispositivo sono presenti solo pochi driver relativi ai supporti, non è stato difficile trovare il driver responsabile della comunicazione tra l'AP e il DSP.

Tra gli attacchi che possono essere effettuati eseguendo il suo codice a livello di firmware del chip DSP:

  • Bypass del sistema di controllo accessi ed escalation dei privilegi: acquisizione invisibile di dati come foto, video, registrazioni di chiamate, dati da un microfono, GPS, ecc.
  • Denial of service e azioni dannose: blocca l'accesso alle informazioni, disabilita la protezione da surriscaldamento durante la ricarica rapida.
  • Nascondi attività dannose: crea componenti dannosi completamente invisibili e indelebili che vengono eseguiti a livello di firmware.
  • Allega tag per spiare un utente, ad esempio aggiungendo tag sottili a un'immagine o a un video e quindi collegando i dati pubblicati all'utente.

I dettagli della vulnerabilità in MediaTek Audio HAL devono ancora essere rivelati, ma iocome altre tre vulnerabilità nel firmware DSP sono causati da un controllo del bordo errato durante l'elaborazione dei messaggi IPI (Inter-Processor Interrupt) inviato dal driver audio audio_ipi al DSP.

Questi problemi consentono di provocare un buffer overflow controllato nei gestori forniti dal firmware, in cui l'informazione sulla dimensione dei dati trasmessi è stata prelevata da un campo all'interno del pacchetto IPI, senza verificare la dimensione effettiva allocata nella memoria condivisa .

Per accedere al controller durante gli esperimenti, utilizziamo chiamate ioctls dirette o la libreria /vendor/lib/hw/audio.primary.mt6853.so, che sono inaccessibili alle normali app Android. Tuttavia, i ricercatori hanno trovato una soluzione per inviare comandi in base all'utilizzo delle opzioni di debug disponibili per le applicazioni di terze parti.

I parametri specificati possono essere modificati chiamando il servizio Android AudioManager per attaccare le librerie HAL di MediaTek Aurisys (libfvaudio.so), che forniscono chiamate per interagire con il DSP. Per bloccare questa soluzione, MediaTek ha rimosso la possibilità di utilizzare il comando PARAM_FILE tramite AudioManager.

Infine se sei interessato a saperne di più, puoi controllare i dettagli nel seguente link


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.