Il CRAM (Centro Ricerche Anti-Malware) della TG Soft ha di recente scoperto e analizzato una nuova minaccia che colpisce gli utenti del sistema operativo Android. Si tratta del primo esempio di Rogue-Antivirus per Android analizzato dal CRAM. Un Rogue-Antivirus è un particolare tipo di FraudTool che si finge un software Anti-Virus che ha trovato una o più infezioni sul dispositivo della vittima.
L'obiettivo di questo tipo di malware è duplice. Da un lato infatti cerca di ingannare la vittima al fine di fargli comprare una teorica versione "Premium" al fine di pulire la falsa infezione. Dall'altro lato, generalmente, questi tipi di malware cercano di ottenere/rubare dati sensibili riguardanti la vittima.
Package: com.example.androiddefender2 |
 |
MD5: 1CA532F171A0B765A46AF995EBAAB1D2 |
Dimensione: 2.481.301 Byte |
Quando si prova ad installare questa app malevola, essa richiede i seguenti permessi:
- android.permission.ACCESS_NETWORK_STATE
- android.permission.CALL_PHONE
- android.permission.GET_TASKS
- android.permission.INTERNET
- android.permission.PROCESS_OUTGOING_CALLS
- android.permission.READ_CONTACTS
- android.permission.READ_EXTERNAL_STORAGE
- android.permission.READ_PHONE_STATE
- android.permission.RECEIVE_BOOT_COMPLETED
- android.permission.RECEIVE_SMS
- android.permission.VIBRATE
- android.permission.WRITE_EXTERNAL_STORAGE
In particolare, tra i vari permessi, segnaliamo
CALL_PHONE, che consente all'app di fare chiamate telefoniche senza la necessità di conferma da parte dell'utente,
PROCESS_OUTGOING_CALLS, che consente all'app di monitorare/modificare/chiudere le chiamate in uscita, e infine
RECEIVE_SMS, che consente all'app di monitorare gli SMS in arrivo al fine di memorizzarli o di eseguire operazioni su di essi.
Ricordiamo che è sempre buona norma LEGGERE ATTENTAMENTE i permessi che una app richiede prima di installarla!
Una volta installata, questa app malevola si presenta nel menù delle applicazioni con il nome di
"Android Defender".
Quando la si avvia, l'app mostra una finta scansione in cui pretende di trovare alcune minacce sul dispositivo della vittima (ovviamente trova di tutto e di più, tranne se stesso). Una vittima potrebbe essere ingannata da questa finta scansione, dato che alcune delle minacce mostrate hanno nomi di veri malware per Android (come ad esempio:
DroidKungFu) e altre hanno nomi di malware per Windows noti (come ad esempio:
Conficker e
ZeroAccess). Ovviamente, e qui la vittima dorvebbe iniziare ad essere un po' diffidente, al fine di eliminare queste minacce è richiesta una versione completa dell'Anti-Virus.

Se la vittima cade nel tranello e prova ad installare l'Anti-Virus è reindirizzato ad una pagina apposita.

Questa pagina è caricata dinamicamente dall'
URL:
http://pdblprotect.com/p/amd/droid/?ver=0001&affid=85000&group=amd&reject_url=[...]&ps=[...]
In particolare, il campo "rejected" contiene un altro
URL:
http://pdblprotect.com:80/p/decline/?affid=85000&ver=0001&group=amd&ps=[...]. Questo dominio risulta essere dislocato nei
Paesi Bassi, avere nome
customer.worldstream.nl e indirizzo
IP 217.23.5.104.
Ora, guardando le licenze disponibili si può vedere una
"lifetime license" (licenza a vita). Questa dovrebbe sicuramente innescare un po' di diffidenza nella vittima. Avete mai sentito parlare di una licenza per Anti-Virus “a vita”? A tal proposito, se ve lo state chiedendo, il codice di attivazione è cablato a codice nel malware stesso (nella classe
DefenderApplication).

In ogni caso, diamo un'occhiata a cosa c'è sotto al cofano.
Il malware supporta sia la lingua inglese che quella russa.
Possiamo trovare tutto ciò che ci serve per capire che si tratta di un FraudTool all'interno della cartella
assets. Infatti, qui c'è un file chiamato
VirusesDescription.xml che contiene il nome e la descrizione di 15 malware, usati da questo Rogue-Antivirus (che sono:
Trojan-SMS.AndroidOS.FakePlayer,
Geinimi,
Android.Plankton,
DroidKungFu,
Android.DDoS.1.origin,
ZeroAccess,
Downad/Conficker,
DroidCleaner,
Android.SmsSend,
Android.AntaresSpy,
Android.Anzhu,
Android.GoldDream,
Android.MailSteal,
Android.Moghava e
Android.Spy).
Dando uno sguardo alla classe
SystemFunctions, possiamo anche vedere un metodo chiamato
generateRandomCountVirus() che ritorna semplicemente un numero casuale, che sarà il numero di malware teorici che hanno infettato il device.
Inoltre, sempre all'interno della cartella
assets, vi sono anche un database SQLite (
AndroidDefender.sqlite) e un file chiamato
VirusesDescription.xml che contiene l'
URL menzionato in precedenza (sotto alla stringa
"buysite") così come un altro
URL a cui l'app si connette (sotto alla stringa
"statsapi"), che è:
http://219.235.1.127/api/dom/no_respond/?group=amd&ver=0001&ts=[...]&token=fya14oiYU&affid=85000
Il dominio risulta essere dislocato a
Pechino,
Cina, avere nome
host-219-235-1-127.iphost.gotonets.com e indirizzo
IP 219.235.1.127.
Riguardo al database SQLite, questo ha 5 tabelle (che sono:
android_metadata,
black_list,
scan_settings,
sqlite_sequence e
viruses_index). In particolare, all'interno di entrambe le classi
CallReceiver e
MessageReceiver, il malware usa la tabella
black_list al fine di controllare se un numero è nella lista nera o meno.
---------------------------------
Paolo Rovelli
Mobile Developer & Malware Analyst
CRAM (Centro Ricerche Anti-Malware) di TG Soft