Anche tu, Bruto! Ecco come certi Trojan riescono a manipolare Google Play

Contenuti

Per i virus writer, Google Play è una sorta di terra promessa. Una volta penetrata all’interno del noto negozio online, in effetti, un’applicazione malevola può subito contare su un pubblico potenzialmente più vasto, riscuotere la fiducia degli utenti e fare affidamento sulla naturale accondiscendenza da parte dei sistemi di sicurezza implementati a livello di sistema operativo (molto spesso, l’ostacolo di maggiore rilevanza, per il malware, è rappresentato proprio dal divieto – abilitato per impostazione predefinita – di installare applicazioni provenienti da fonti che non siano il negozio ufficiale). Fare il proprio ingresso nello store Google Play si rivela essere, tuttavia, un’impresa tutt’altro che semplice: una delle principali condizioni necessarie per poter essere presente all’interno di quest’ultimo è in effetti costituita dall’accurata verifica preliminare del programma, da parte di vari sistemi di analisi – sia automatici che manuali – riguardo ad eventuali comportamenti indesiderati dell’applicazione.

Alcuni virus writer, “disperati” per il fatto di non poter eludere i severi controlli effettuati, hanno così “imparato” ad utilizzare l’applicazione client del negozio online per i propri loschi fini. In questi ultimi tempi, osserviamo spesso programmi Trojan in grado di “sfruttare” l’applicazione Google Play nell’ambito di specifiche campagne pubblicitarie, sia allo scopo di realizzare il download, l’installazione e la successiva esecuzione sullo smartphone (a totale insaputa del proprietario del dispositivo) di una determinata app disponibile nel negozio online – sia per lasciare apposite recensioni ed esprimere le abituali valutazioni “a stelle” riguardo all’app stessa. In genere, le applicazioni installate dal Trojan non arrecano danni diretti, all’utente; la vittima, tuttavia, può perdere facilmente del denaro dal proprio account mobile, dovendo di fatto pagare del traffico particolarmente costoso. I Trojan in questione, inoltre, sono in grado di scaricare ed installare non solo app gratuite, ma anche applicazioni a pagamento, costringendo in tal modo l’utente a dover sborsare somme ancor più consistenti.

Esamineremo, qui di seguito, i metodi malevoli attraverso i quali vengono effettuate simili manipolazioni nei confronti del celebre store online Google Play.

Livello 1. N00b: per newbie

Il primo metodo consiste nell’obbligare il client ufficiale di Google Play ad eseguire le azioni che si rivelano “necessarie” per il malintenzionato. Nella circostanza, il concetto generale che si intende mettere in pratica è quello di utilizzare il programma Trojan per lanciare l’esecuzione del client, ed aprire all’interno di quest’ultimo la pagina relativa all’applicazione “desiderata”, per poi ricercare ed interagire, a livello di programma, con vari elementi dell’interfaccia (pulsanti), allo scopo di generare il download, l’installazione e l’avvio dell’applicazione. Gli elementi dell’interfaccia in questione sono stati evidenziati in rosso nelle immagini qui di seguito inserite:

goo_1 goo_2 goo_3

Le modalità adottate per interagire con l’interfaccia possono essere di vario genere; di solito, vengono impiegate le seguenti tecniche malevole:

  1. Utilizzo dei servizi di Accessibilità forniti dal sistema operativo (ne fanno uso i moduli malevoli di cui è provvisto il malware denominato Trojan.AndroidOS.Ztorg).
  2. Simulazione degli input effettuati dall’utente (questa tecnica viene utilizzata da Trojan-Clicker.AndroidOS.Gopl.c).
  3. Apposite iniezioni malevole realizzate nel processo del client di Google Play, allo scopo di modificare la logica di funzionamento di quest’ultimo (tecnica utilizzata da Trojan.AndroidOS.Iop).

Andremo ad esaminare in dettaglio, qui di seguito, il “lavoro” svolto da simili programmi Trojan, prendendo, in qualità di esempio, il malware classificato come Trojan.AndroidOS.Ztorg.n. Questo software nocivo sfrutta i servizi di Accessibilità, originariamente previsti per la creazione di applicazioni in grado di aiutare le persone con disabilità (ad esempio, le applicazioni adibite al comando vocale dell’interfaccia grafica). Il Trojan riceve dal proprio server di comando un task specifico, contenente il link destinato a condurre all’applicazione “desiderata”; il malware provvede poi ad aprire quest’ultima in Google Play e lancia, infine, l’esecuzione del seguente codice:

goo_4

Tale codice si rivela necessario per monitorare, innanzitutto, la comparsa sullo schermo del dispositivo dell’elemento dell’interfaccia “occorrente” al malintenzionato, e generare, quindi, un apposito click, realizzato dal software malevolo, proprio su tale pulsante. In tal modo, viene di fatto eseguita, in sequenza, la pressione dei pulsanti “BUY” (sull’immagine, come si può vedere, risulta indicato il relativo prezzo in rubli), “ACCEPT” e “CONTINUE”. Tutto questo, in pratica, si rivela sufficiente per effettuare l’acquisto dell’applicazione, nel caso in cui l’utente-vittima sia in possesso di una carta di credito, provvista di fondi sufficienti, collegata al proprio account Google.

Livello 2. Professional

Alcuni virus writer, tuttavia, non cercano di percorrere il cammino più facile ed agevole. In effetti, anziché ricorrere all’utilizzo di un metodo semplice ed “affidabile”, come quelli descritti qui sopra, essi realizzano addirittura un proprio client per il negozio di applicazioni in causa, avvalendosi di un’API HTTPS.

Anche tu, Bruto! Ecco come certi Trojan riescono a manipolare Google Play

(Sto per scrivere il codice del mio Google Play, con Trojan ed accesso di root)

La particolare complessità di tale approccio risiede nel fatto che, per il buon esito del funzionamento di un simile client – in pratica “self-made” – occorre essere in possesso di determinate informazioni (quali, ad esempio, login e password dell’utente, token utilizzati da quest’ultimo per la procedura di autenticazione), informazioni di solito inaccessibili, per le normali applicazioni. Per grande fortuna dei malintenzionati, tutti i dati occorrenti vengono custoditi sul dispositivo in maniera non criptata, nel “comodo” formato SQLite. L’accesso a tali informazioni viene esclusivamente limitato dal modello di sicurezza di Android; le applicazioni in questione, però, possono riuscire a violare quest’ultimo, ad esempio attraverso l’acquisizione dei privilegi di root sul dispositivo, ed ottenere così, senza problemi, l’accesso ai dati qui sopra menzionati.

Alcune versioni del noto malware denominato Trojan.AndroidOS.Guerrilla.a, distribuito mediante l’utilizzo di Leech – software nocivo in grado di acquisire i privilegi di root – possiedono, di fatto, un proprio client per Google Play. Tale client esegue con successo i task relativi al download e alla successiva installazione di app sia gratuite che a pagamento; esso è inoltre in grado di valutare le applicazioni, e di lasciare le relative recensioni nell’ambito dello store online di Google.

Una volta avviato, Guerrilla inizia ad effettuare la raccolta delle informazioni occorrenti:

  1. I dati necessari per eseguire la procedura di autenticazione, relativamente all’account posseduto dall’utente su Google Play.
  2. Come è noto, per compiere operazioni all’interno di Google Play si rivela indispensabile ricorrere all’utilizzo di appositi token, creati nel momento stesso in cui l’utente effettua l’autenticazione. Nel caso più semplice, se l’utente risulta già autorizzato ad operare su Google Play, il Trojan può far uso dei token presenti nella cache locale. Questo viene realizzato tramite una semplice ricerca eseguita sul database situato in /data/system/users/0/accounts.db:

    Anche tu, Bruto! Ecco come certi Trojan riescono a manipolare Google Play

    Mediante l’utilizzo del codice qui sotto riportato, il Trojan verifica se nel dispositivo infetto sono presenti dei token già pronti, ovvero se l’utente risulta di fatto autorizzato, e può quindi effettuare operazioni nell’ambito di Google Play:

    Anche tu, Bruto! Ecco come certi Trojan riescono a manipolare Google Play

    Se i token in questione non vengono rilevati, il malware ottiene login e password (hashed) dell’utente, ed esegue autonomamente la procedura di autenticazione, attraverso il protocollo OAuth:

    Anche tu, Bruto! Ecco come certi Trojan riescono a manipolare Google Play

    Anche tu, Bruto! Ecco come certi Trojan riescono a manipolare Google Play

  3. Android_id – identificatore univoco del dispositivo.
  4. Google Service Framework ID – identificatore univoco del dispositivo nell’ambito dei servizi Google.
  5. In primo luogo, il malware cerca di ottenere tale identificatore per mezzo di strumenti standard; tuttavia, se per qualche motivo ciò non risulta possibile, esso provvede ad eseguire il codice seguente:

    Anche tu, Bruto! Ecco come certi Trojan riescono a manipolare Google Play

    Anche tu, Bruto! Ecco come certi Trojan riescono a manipolare Google Play

  6. Google Advertising ID – si tratta dell’identificatore univoco relativo alla visualizzazione delle pubblicità, assegnato dai servizi di Google Play.
  7. Guerrilla lo ottiene nel modo seguente:

    Anche tu, Bruto! Ecco come certi Trojan riescono a manipolare Google Play

    Anche tu, Bruto! Ecco come certi Trojan riescono a manipolare Google Play

  8. In modo analogo, il malware ottiene i dati relativi al dispositivo, sotto forma di hash, dal file “/data/data/com.google.android.gms/shared_prefs/Checkin.xml

Una volta terminata la raccolta delle informazioni qui sopra elencate, il Trojan inizia a ricevere i task relativi al download e alla successiva installazione delle applicazioni. La struttura di uno di tali task appare nel modo seguente:

Anche tu, Bruto! Ecco come certi Trojan riescono a manipolare Google Play

Il download dell’applicazione viene eseguito, da parte del Trojan, mediante l’utilizzo di apposite richieste POST, effettuate sulla base dei link qui sotto riportati:

  1. https://android.clients.google.com/fdfe/search – la ricerca viene eseguita in relazione alla specifica richiesta proveniente dai malintenzionati. Tale richiesta si rivela necessaria allo scopo di simulare l’effettiva interazione dell’utente con il client di Google Play (il principale scenario che si verifica, riguardo all’installazione delle app attraverso il client ufficiale, presuppone che l’utente, inizialmente, effettui una query di ricerca, per poi raggiungere, in seguito, l’apposita pagina riservata all’applicazione desiderata).
  2. https://android.clients.google.com/fdfe/details – attraverso tale richiesta vengono raccolte ulteriori informazioni riguardo all’applicazione di cui si intende realizzare il download.
  3. https://android.clients.google.com/fdfe/purchase – vengono scaricati il token e i dati relativi all’acquisto, utilizzati per la query successiva.
  4. https://android.clients.google.com/fdfe/delivery
    il Trojan ottiene URL e cookie necessari per poter scaricare il file .apk.
  5. https://android.clients.google.com/fdfe/log
    conferma dell’operazione di download (per aumentare, in tal modo, il numero dei download effettuati).
  6. https://android.clients.google.com/fdfe/addReview
    valutazione dell’app ed aggiunta di una recensione.

Nel formulare le proprie richieste, i malintenzionati hanno cercato di riprodurre nel modo più accurato possibile le analoghe query inviate attraverso il client ufficiale. In ognuna di esse, ad esempio, viene utilizzato il seguente insieme di intestazioni HTTP:

Anche tu, Bruto! Ecco come certi Trojan riescono a manipolare Google Play

Una volta effettuate le query, possono essere realizzati, a scelta, il download vero e proprio, l’installazione (tramite il comando ‘pm install -r’, il quale consente di installare l’applicazione senza l’esplicito consenso degli utenti) e l’esecuzione dell’app stessa.

Conclusioni

I Trojan che sfruttano l’applicazione Google Play allo scopo di scaricare, installare ed avviare l’esecuzione di determinate applicazioni – dal negozio online allo smartphone, a totale insaputa del proprietario di quest’ultimo – vengono diffusi, abitualmente, mediante l’utilizzo di malware che, in pratica, nell’ambito del dispositivo, hanno già acquisito i privilegi di root più elevati. Proprio tale specifica caratteristica consente loro di eseguire simili attacchi nei confronti dell’applicazione client di Google Play. Desideriamo sottolineare, a tal proposito, sulla base dei dati statistici raccolti riguardo al secondo trimestre del 2016, come i software nocivi in grado di acquisire i privilegi di root abbiano di fatto occupato più della metà delle posizioni disponibili all’interno della speciale TOP 20 riservata ai malware mobile maggiormente attivi; questo significa, semplicemente, che tale minaccia informatica non deve essere affatto sottovalutata. Per di più, i malware capaci di ottenere i privilegi di root sul dispositivo possono scaricare, poi, non solo i programmi nocivi in grado di compromettere l’ecosistema Android e di far spendere del denaro agli utenti per l’acquisto di applicazioni a pagamento del tutto inutili – ma anche ulteriori software dannosi particolarmente temibili.

Post correlati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *