Il bug del telefono Xiaomi ha consentito la falsificazione dei pagamenti

Le transazioni mobili potrebbero essere state disabilitate, create e firmate dagli aggressori.

Il produttore di smartphone Xiaomi, il terzo produttore di telefoni al mondo dietro Apple e Samsung, ha riferito di aver corretto un difetto di gravità elevata nel suo "ambiente affidabile" utilizzato per archiviare i dati di pagamento che ha aperto alcuni dei suoi telefoni agli attacchi.

Ricercatori presso Check Point Research rivelato la scorsa settimana in un rapporto pubblicato al DEF CON secondo cui il difetto dello smartphone Xiaomi avrebbe potuto consentire agli hacker di dirottare il sistema di pagamento mobile e disabilitarlo o creare e firmare le proprie transazioni contraffatte.

Il potenziale pool di vittime era enorme, considerando che uno su sette degli smartphone nel mondo è prodotto da Xiaomi, secondo i dati del secondo trimestre del 2 Canalys. L'azienda è il terzo più grande fornitore a livello globale, secondo Canalys.
Newsletter per gli addetti ai lavori di Infosec“Abbiamo scoperto una serie di vulnerabilità che potrebbero consentire la contraffazione di pacchetti di pagamento o la disabilitazione del sistema di pagamento direttamente, da un'applicazione Android non privilegiata. Siamo stati in grado di hackerare WeChat Pay e implementato un proof of concept completamente funzionante", ha scritto Slava Makkaveev, ricercatrice di sicurezza con Check Point.

Ha detto, lo studio Check Point segna la prima volta che le applicazioni affidabili di Xiaomi sono state esaminate per problemi di sicurezza. WeChat Pay è un servizio di pagamento mobile e portafoglio digitale sviluppato dall'omonima azienda con sede in Cina. Il servizio è utilizzato da oltre 300 milioni di clienti e consente agli utenti Android di effettuare pagamenti mobili e transazioni online.

Il difetto

Non è chiaro da quanto tempo esistesse la vulnerabilità o se sia stata sfruttata da aggressori in natura. Il bug, tracciato come CVE-2020-14125, è stato corretto da Xiaomi a giugno e ha un livello di gravità CVSS elevato.

“In alcuni modelli di telefoni Xiaomi esiste una vulnerabilità di tipo Denial of Service. La vulnerabilità è causata da lettura/scrittura fuori limite e può essere sfruttata dagli aggressori per negare il servizio", secondo la vulnerabilità comune del NIST e descrizione dell'esposizione del bug.

Mentre i dettagli dell'impatto del bug erano limitati al momento in cui Xiaomi ha rivelato la vulnerabilità a giugno, i ricercatori di Check Point hanno delineato nel suo post mortem il bug corretto e il pieno potenziale impatto del difetto.

Il problema principale con il telefono Xiaomi era il metodo di pagamento dei telefoni cellulari e il componente Trusted Execution Environment (TEE) del telefono. Il TEE è l'enclave virtuale del telefono di Xiaomi, responsabile dell'elaborazione e dell'archiviazione di informazioni di sicurezza ultrasensibili come le impronte digitali e le chiavi crittografiche utilizzate per firmare le transazioni.

“Non aggiornato, un utente malintenzionato potrebbe rubare le chiavi private utilizzate per firmare i pacchetti di controllo e pagamento di WeChat Pay. Nel peggiore dei casi, un'app Android senza privilegi avrebbe potuto creare e firmare un pacchetto di pagamento falso", hanno scritto i ricercatori.

Secondo Check Point, potrebbero essere stati eseguiti due tipi di attacchi contro i telefoni con il difetto.

  • Da un'app Android senza privilegi: l'utente installa un'applicazione dannosa e la avvia. L'app estrae le chiavi e invia un pacchetto di pagamento falso per rubare i soldi.
  • Se l'autore dell'attacco ha in mano i dispositivi di destinazione: l'utente malintenzionato esegue il root del dispositivo, quindi esegue il downgrade dell'ambiente attendibile, quindi esegue il codice per creare un pacchetto di pagamento falso senza un'applicazione.

Due modi per scuoiare una TEE

Il controllo del TEE, secondo Check Point, è un componente del chip MediaTek che doveva essere presente per condurre l'attacco. Per essere chiari, il difetto non era nel chip MediaTek, tuttavia il bug era eseguibile solo nei telefoni configurati con il processore MediaTek.

“Il mercato asiatico”, hanno osservato i ricercatori, “è rappresentato principalmente da smartphone basati su chip MediaTek”. I telefoni Xiaomi che funzionano con chip MediaTek utilizzano un'architettura TEE chiamata "Kinibi", all'interno della quale Xiaomi può incorporare e firmare le proprie applicazioni affidabili.

“Di solito, le app affidabili del sistema operativo Kinibi hanno il formato MCLF” – Mobicore Loadable Format – “ma Xiaomi ha deciso di inventarne una propria”. All'interno del loro formato, tuttavia, c'era un difetto: l'assenza del controllo della versione, senza il quale "un utente malintenzionato può trasferire una vecchia versione di un'app attendibile sul dispositivo e utilizzarla per sovrascrivere il nuovo file dell'app". La firma tra le versioni non cambia, quindi il TEE non conosce la differenza e carica quella vecchia.

In sostanza l'attaccante potrebbe essere tornato indietro nel tempo, aggirando eventuali correzioni di sicurezza apportate da Xiaomi o MediaTek nell'area più sensibile del telefono.

Ad esempio, i ricercatori hanno preso di mira "Tencent soter", il framework incorporato di Xiaomi che fornisce un'API alle app di terze parti che desiderano integrare i pagamenti mobili. Soter è responsabile della verifica dei pagamenti tra telefoni e server back-end, per centinaia di milioni di dispositivi Android in tutto il mondo. I ricercatori hanno eseguito un viaggio nel tempo per sfruttare una vulnerabilità di lettura arbitraria nell'app soter. Ciò ha permesso loro di rubare le chiavi private utilizzate per firmare le transazioni.

La vulnerabilità di lettura arbitraria è già stata corretta, mentre la vulnerabilità del controllo della versione è "in corso di correzione".

Inoltre, i ricercatori hanno escogitato un altro trucco per sfruttare soter.

Utilizzando una normale applicazione Android senza privilegi, sono stati in grado di comunicare con l'app di fiducia tramite "SoterService", un'API per la gestione delle chiavi di memoria. "In pratica, il nostro obiettivo è rubare una delle chiavi private di Soter", hanno scritto gli autori. Tuttavia, eseguendo un classico attacco di overflow dell'heap, sono stati in grado di "compromettere completamente la piattaforma Tencent Soter", consentendo una potenza molto maggiore, ad esempio, per firmare pacchetti di pagamento falsi.

I telefoni rimangono non esaminati

I pagamenti mobili stanno già ricevendo Scopri di più scrutinio dai ricercatori di sicurezza, poiché servizi come Apple Pay e Google Pay stanno guadagnando popolarità in Occidente. Ma la questione è ancora più significativa per il Far East, dove il mercato dei pagamenti mobili è già molto avanti. Secondo i dati di S, quell'emisfero era responsabile di ben due terzi dei pagamenti mobili a livello globale nel 2021, circa quattro miliardi di dollari di transazioni in tutto.

Eppure, il mercato asiatico "non è stato ancora ampiamente esplorato", hanno osservato i ricercatori. "Nessuno sta esaminando le applicazioni affidabili scritte da fornitori di dispositivi, come Xiaomi, invece che dai produttori di chip, anche se la gestione della sicurezza e il nucleo dei pagamenti mobili sono implementati lì".

Come notato in precedenza, Check Point ha affermato che questa è stata la prima volta che le applicazioni affidabili di Xiaomi sono state esaminate per problemi di sicurezza.

Timestamp:

Di più da vulnerabilità