Keegan Ryan, ricercatore di sicurezza di NCC Group, ha scoperto una grave vulnerabilità nei processori Qualcomm Snapdragon utilizzati in milioni di smartphone e tablet nel mondo. Il bug permette di recuperare dati da un’area privata dei chip che non dovrebbe essere accessibile. L’azienda californiana ha rilasciato la patch che Google ha incluso nell’aggiornamento distribuito il 1 aprile.
Nei processori Snapdragon è presente un’area isolata in cui vengono elaborati dati sensibili, come password e chiavi crittografiche. La tecnologia è denominata QSEE (Qualcomm Secure Execution Environment). Né il sistema operativo né altre app possono accedere ai dati, tranne l’app che li ha inviati. Il ricercatore ha invece scoperto che ciò è possibile a causa dell’errata implementazione dell’algoritmo di firma ECDSA (Elliptic Curve Digital Signature Algorithm) a 256 bit. L’estrazione delle chiavi crittografiche può essere ottenuta tramite un attacco “side-channel”.
Per i test è stato usato un Nexus 5X con processore Snapdragon 808 e il tool Cachegrab per analizzare la memoria cache alla ricerca di “leak” nel processo di firma implementato sui chip QSEE. Il ricercatore ha quindi recuperato con successo la chiave a 256 bit. Per sfruttare la vulnerabilità (CVE-2018-11976) è necessario ottenere l’accesso root, ma questo non è un problema perché l’obiettivo si può raggiungere con diversi malware, alcuni dei quali possono essere nascosti in app pubblicate sul Google Play Store.
Il bug è presente in oltre 40 processori, tra cui i popolari Snapdragon 630/636/660/710/845. Il ricercatore ha segnalato la vulnerabilità a Qualcomm il 19 marzo 2018. La patch è stata rilasciata all’inizio di aprile 2019. Purtroppo i produttori di smartphone sono molto lenti nella distribuzione degli aggiornamenti (ci sono poche eccezioni) e per i modelli più vecchi la probabilità di ricevere il fix è prossima allo zero.