Vulnerabilità nel firmware dei chip MediaTek DSP utilizzati in molti smartphone

I ricercatori di Checkpoint 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 MediaTek Audio HAL (CVE- 2021-0673). Se le vulnerabilità vengono sfruttate con successo, un utente malintenzionato può intercettare un utente da un'applicazione non privilegiata per la piattaforma Android.

Nel 2021 MediaTek rappresenta circa il 37% delle 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%). I chip MediaTek DSP sono utilizzati anche negli smartphone di punta di Xiaomi, Oppo, Realme e Vivo. I chip MediaTek, basati su un microprocessore con architettura Tensilica Xtensa, vengono utilizzati negli smartphone per eseguire operazioni come l'elaborazione di audio, immagini e video, nell'informatica per sistemi di realtà aumentata, visione artificiale e machine learning, nonché nell'implementazione della modalità di ricarica rapida.

Durante il reverse engineering del firmware per i chip DSP MediaTek basati sulla piattaforma FreeRTOS, sono stati identificati diversi modi per eseguire il codice sul lato firmware e ottenere il controllo sulle operazioni nel DSP inviando richieste appositamente predisposte da applicazioni non privilegiate per la piattaforma Android. Esempi pratici di attacchi sono stati dimostrati su uno smartphone Xiaomi Redmi Note 9 5G dotato di SoC MediaTek MT6853 (Dimensity 800U). Va notato che gli OEM hanno già ricevuto correzioni per le vulnerabilità nell'aggiornamento del firmware MediaTek di ottobre.

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

  • Escalation dei privilegi e bypass della sicurezza: acquisisci furtivamente dati come foto, video, registrazioni di chiamate, dati del microfono, dati GPS, ecc.
  • Negazione di servizio e azioni dannose: blocco dell'accesso alle informazioni, disabilitazione della protezione dal surriscaldamento durante la ricarica rapida.
  • Nascondere l'attività dannosa significa creare componenti dannosi completamente invisibili e inamovibili eseguiti a livello del firmware.
  • Allegare tag per tracciare un utente, ad esempio aggiungere tag discreti a un'immagine o a un video per determinare se i dati pubblicati sono collegati all'utente.

I dettagli della vulnerabilità in MediaTek Audio HAL non sono stati ancora divulgati, ma le altre tre vulnerabilità nel firmware DSP sono causate da un controllo dei limiti errato durante l'elaborazione dei messaggi IPI (Inter-Processor Interrupt) inviati dal driver audio audio_ipi al DSP. Questi problemi permettono di provocare un buffer overflow controllato nei gestori forniti dal firmware, in cui l'informazione sulla dimensione dei dati trasferiti veniva presa da un campo interno al pacchetto IPI, senza verificare l'effettiva dimensione situata nella memoria condivisa.

Per accedere al driver durante gli esperimenti sono state utilizzate chiamate ioctls dirette o la libreria /vendor/lib/hw/audio.primary.mt6853.so, che non sono disponibili per le normali applicazioni Android. Tuttavia, i ricercatori hanno trovato una soluzione alternativa per l'invio di comandi basata sull'uso delle opzioni di debug disponibili per le applicazioni di terze parti. Questi parametri possono essere modificati chiamando il servizio Android AudioManager per attaccare le librerie HAL MediaTek Aurisys (libfvaudio.so), che forniscono chiamate per interagire con il DSP. Per bloccare questa soluzione alternativa, MediaTek ha rimosso la possibilità di utilizzare il comando PARAM_FILE tramite AudioManager.

Fonte: opennet.ru

Aggiungi un commento