Google ha pubblicato un documento che illustra la tecnica sfruttata dai cybercriminali per distribuire malware tramite app Android pubblicate sul Play Store. I controlli di sicurezza vengono aggirati perché il codice infetto viene scaricato successivamente all’installazione. L’azienda di Mountain View ha fornito alcuni consigli per limitare i rischi.
Malware nascosto con il versioning
Google sottolinea che meno dell’1% dei download dal Play Store sono PHA (Potentially Harmful Application). Il trucco più utilizzato per aggirare i controlli è denominato versioning. L’autore invia una versione “pulita” dell’app che supera le verifiche effettuate prima della pubblicazione. Quando il numero di download ha superato una certa soglia (per avere una maggiore probabilità di successo), il cybercriminale distribuisce un aggiornamento tramite server di terze parti che installa il codice del malware.
Questa forma più comune di versioning è denominata Dynamic Code Loading (DCL). In pratica viene effettuato il download di codice non presente nel pacchetto originario per aggirare sia i controlli pre-pubblicazione che l’analisi statica. Nel caso di Android è possibile scaricare codice nativo, Dalvik o JavaScript. Google ammette che la tecnica DCL è difficile da bloccare lato server.
Uno dei malware più noti che sfrutta questa tecnica è SharkBot, un trojan bancario che effettua trasferimenti di denaro non autorizzati usando il protocollo ATS (Automated Transfer Service). SharkBot viene solitamente nascosto in antivirus e utility apparentemente innocui. Oltre al versioning vengono sfruttate anche tecniche di offuscamento del codice.
Google consiglia di prestare sempre attenzione alle app scaricate. Le aziende possono utilizzare soluzioni MDM (Mobile Device Management) e implementare una allowlist per consentire solo il download delle app necessarie e di sviluppatori fidati.