Attacco a Zygote: una nuova fase nell’evoluzione delle minacce mobile

Storia di un piccolo Trojan “di successo”

Contenuti

zygote

Vedi la versione completa dell’articolo (in inglese)

Non può essere di sicuro sottovalutata la notevole pericolosità insita nelle applicazioni che, all’insaputa dell’utente, sono in grado di ottenere l’accesso di root al dispositivo mobile. Il pericolo maggiore consiste proprio nel fatto che tali applicazioni possano in seguito fornire l’accesso al dispositivo infetto a programmi malware ancor più avanzati e temibili, provvisti di un’architettura decisamente sofisticata. Temevamo già, in effetti, che i Trojan in grado di ottenere in maniera furtiva i diritti di superutente – e di utilizzare poi questi ultimi per l’installazione di altre applicazioni, oppure per far sì che l’utente visualizzi determinati contenuti pubblicitari – potessero iniziare ad installare, oltre alle applicazioni legittime, anche applicazioni dannose. Purtroppo, proprio attraverso tali programmi ha iniziato a diffondersi, di recente, il Trojan mobile in assoluto più complesso fra tutti quelli a noi noti.

I malware in grado di acquisire i privilegi di root

Nel nostro precedente articolo avevamo riferito in merito alla crescente popolarità dei programmi nocivi destinati all’OS Android in grado di ottenere furtivamente l’accesso privilegiato al dispositivo mobile, ed utilizzare poi lo stesso per realizzare l’installazione di applicazioni e fare in modo che l’utente visualizzi messaggi pubblicitari proposti in maniera aggressiva. Spesso, trascorso un po’ di tempo dal momento in cui un simile malware riesce ad introdursi nel dispositivo, l’utilizzo di quest’ultimo diviene estremamente difficile, a causa dell’abbondanza di pubblicità fastidiose e invadenti, e del gran numero di applicazioni in esso installate.

Da quando è stato scritto il nostro primo articolo (agosto 2015), purtroppo, tutto è cambiato… in peggio! Il numero delle famiglie di malware a cui appartengono tali software nocivi è difatti passato da 4 a 11; inoltre, i programmi nocivi in questione si diffondono in maniera sempre più attiva e, per di più, sono in grado di realizzare in maniera ancor più efficace l’acquisizione dei privilegi di root. In base alle nostre stime, nella seconda metà del 2015 è stato attaccato da Trojan capaci di ottenere i diritti di superutente circa il 10% degli utenti dei dispositivi mobile dotati di sistema operativo Android. Si sono persino registrati dei casi in cui tali programmi risultavano già preinstallati su dispositivi nuovi di zecca, provenienti dalla Cina.

Occorre d’altra parte sottolineare come i dispositivi provvisti di sistema operativo superiore alla versione 4.4.4 presentino un numero decisamente minore di vulnerabilità attraverso le quali si rivela possibile, per i malintenzionati, ottenere l’accesso di root. Il target principale di programmi malware del genere è quindi rappresentato dai dispositivi mobile dotati della versione 4.4.4, o inferiore, del sistema operativo Android. Questo non significa, tuttavia, che la suddetta minaccia IT non sia attuale e ben rilevante: in effetti, nella maggior parte dei dispositivi degli utenti risultano tuttora installate le versioni meno recenti dell’OS mobile in causa. Il grafico qui sotto inserito evidenzia la ripartizione degli utenti del nostro prodotto in base alla specifica versione del sistema operativo Android da essi utilizzata. Come si può vedere, circa il 60% degli utenti si avvale di dispositivi sui quali i suddetti programmi Trojan potrebbero potenzialmente acquisire privilegi di superutente.

Attacco a Zygote: una nuova fase nell'evoluzione delle minacce mobile

Versioni del sistema operativo Android attualmente in uso presso gli utenti dei nostri prodotti

I malintenzionati sono soliti realizzare profitti grazie alle pubblicità e all’installazione di applicazioni legittime. Sottolineiamo, nella circostanza, come i proprietari dei Trojan qui sopra descritti, quali, ad esempio, Leech, Ztorg, Gorpo (così come dei malware facenti parte della nuova famiglia Trojan.AndroidOS.Iop), agiscano in maniera congiunta. I dispositivi infettati da tali software nocivi entrano di solito a far parte di una sorta di “botnet pubblicitaria”, attraverso la quale i cosiddetti Trojan pubblicitari diffondono, allo stesso modo, anche le applicazioni di volta in volta “reclamizzate”. In pratica, soltanto pochi minuti dopo l’installazione di uno di questi Trojan, sul dispositivo mobile sottoposto ad attacco “operano” già tutti gli altri malware attivi che compongono tale “rete”.

Nel 2015, oltre alla diffusione di un considerevole numero di applicazioni “pulite”, attraverso la suddetta “botnet pubblicitaria” è stata realizzata la distribuzione di programmi nocivi che rappresentano una vera e propria minaccia diretta per gli utenti. Spicca, tra di essi, uno dei Trojan mobile in assoluto più complessi e sofisticati, tra tutti quelli da noi sottoposti ad analisi.

Un Trojan davvero unico

Tramite una “botnet pubblicitaria” viene quindi diffuso un Trojan davvero unico nel suo genere, che presenta le seguenti caratteristiche peculiari:

  1. Funzionalità modulari, abbinate ad un utilizzo particolarmente attivo dei privilegi di superutente;
  2. La maggior parte delle funzionalità di cui è provvisto il malware “esiste”, in pratica, soltanto nella memoria operativa del dispositivo;
  3. Il Trojan modifica in memoria il processo di sistema denominato Zygote, per ottenere la persistenza;
  4. Per creare il programma dannoso, a livello di sviluppo del software, è stato adottato un approccio di tipo “industriale”; questo significa, in sostanza, che gli autori del Trojan mobile sono altamente qualificati.

Il Trojan si installa nella cartella che contiene le applicazioni di sistema, avvalendosi di nomi che, di fatto, potrebbero essere stati assegnati alle app di sistema stesse (quali, ad esempio, AndroidGuardianship.apk, GoogleServerInfo.apk, USBUsageInfo.apk, etc.).

Nella fase iniziale del proprio “lavoro” il malware raccoglie le seguenti informazioni:

  • Nome del dispositivo
  • Versione del sistema operativo
  • Dimensione della scheda SD
  • Informazioni sulla memoria operativa del dispositivo (dal file “/proc/mem”)
  • IMEI
  • IMSI
  • Elenco delle applicazioni installate

Le informazioni raccolte vengono poi trasmesse al server allestito dai malintenzionati, che il Trojan individua in base allo specifico elenco previsto nel codice del malware. Nel caso in cui i server indicati risultino inaccessibili, il Trojan attinge dall’elenco dei server C&C di riserva, anch’esso inserito nel codice nocivo.

In risposta, il malware ottiene il file di configurazione, in forma cifrata, il quale viene poi salvato come “/system/app/com.sms.server.socialgraphop.db”. La configurazione viene regolarmente aggiornata, e si compone dei seguenti campi:

  • mSericode – identificatore del malware;
  • mDevicekey – identificatore del dispositivo, generato dal server (viene salvato in “/system/app/OPBKEY_< mDevicekey >”);
  • mServerdevicekey – identificatore del server corrente;
  • mCD – informazioni utilizzate dai cybercriminali per correggere il comportamento dei moduli;
  • mHeartbeat – intervallo di esecuzione dell’interfaccia “heartbeatRequest”;
  • mInterval – intervallo di tempo previsto per comunicare con il server di comando e controllo;
  • mStartInterval – intervallo di tempo previsto prima dell’esecuzione dei file DEX (moduli) caricati in precedenza;
  • mServerDomains – elenco dei domini principali;
  • mCrashDomains – elenco dei domini di riserva;
  • mModuleUpdate – link necessari per il download dei file DEX (moduli).

Se il campo <mModuleUpdate> risulta compilato, vengono eseguiti il download e il relativo salvataggio dei moduli. In seguito, mediante l’utilizzo di DexClassLoader.loadClass() viene realizzato l’upload, nel contesto del malware, dei file scaricati in precedenza. Una volta caricati, i moduli vengono rimossi dal disco; essi rimangono, in pratica, soltanto nella memoria operativa del dispositivo: questo complica notevolmente la loro individuazione ed eliminazione da parte dei programmi antivirus.

Un simile meccanismo garantisce all’applicazione adibita al download la possibilità di eseguire i moduli, provvisti di varie funzionalità nocive, effettuando, al tempo stesso, il coordinamento e la sincronizzazione degli stessi.

Le applicazioni sopra descritte, ed i moduli da esse caricati, utilizzano i file “androidbin”, “conbb”, “configopb”, “feedback” e “systemcore”, custoditi nella cartella /system/bin, per eseguire varie azioni all’interno del sistema, avvalendosi dei privilegi di superutente. Ovviamente, questi file non risultano presenti in un sistema “pulito”.

Considerando la particolare architettura modulare che contraddistingue il Trojan, e l’accesso privilegiato al dispositivo di cui esso dispone, si può facilmente comprendere come il malware in causa possa letteralmente fare qualsiasi cosa. Le funzionalità nocive dei suddetti moduli sono in pratica limitate soltanto dalla fantasia e dal grado di abilità dei virus writer.

Il malware qui esaminato, inoltre, riesce a nascondere perfettamente i propri moduli; questi ultimi, in effetti, non sono reperibili in nessuno dei seguenti elenchi: pacchetti installati nel dispositivo, applicazioni installate, servizi in esecuzione e applicazioni in esecuzione. In tal modo, il Trojan occulta la propria presenza e le attività dannose svolte all’interno del sistema; individuare e rimuovere i suoi componenti dal dispositivo mobile infetto, pertanto, si rivela essere un’operazione estremamente difficile.

Principale funzionalità del Trojan

L’applicazione-downloader, ed i moduli dannosi da essa caricati, sono riconducibili a varie tipologie di programma Trojan; ad ogni caso, tutti quanti sono stati inseriti all’interno dei nostri database antivirus con la denominazione comune di “Triada”. Al momento in cui è stata condotta l’analisi, la suddetta applicazione (da noi rilevata come Backdoor.AndroidOS.Triada) provvedeva al download e all’attivazione dei seguenti moduli:

  • Due moduli dotati di funzionalità parallele, in grado di generare il download, l’installazione e la successiva esecuzione di applicazioni (essi vengono rilevati come Trojan-Downloader.AndroidOS.Triada.a);
  • Un modulo in grado di inviare messaggi SMS su specifica richiesta del server di comando e controllo (viene rilevato come Trojan-SMS.AndroidOS.Triada.a);
  • Un modulo preposto ad attaccare le applicazioni che fanno uso degli SMS per effettuare acquisti di tipo “in-app” (intercettazione dei messaggi di testo in uscita). (Esso viene rilevato come Trojan-Banker.AndroidOS.Triada.a).

La principale funzionalità di cui è provvisto il Trojan è relativa al redirecting delle transazioni finanziarie eseguite tramite SMS, realizzate nel corso del processo di pagamento, da parte dell’utente, di contenuti extra di vario genere, inerenti ad app legittime.

Il Trojan modifica i messaggi SMS in uscita, inviati attraverso altre applicazioni. Riteniamo, da parte nostra, che i malintenzionati utilizzino questa particolare tecnica per carpire le risorse finanziarie degli utenti-vittima, all’insaputa di questi ultimi. Così, una volta effettuato il pagamento, da parte dell’utente, del contenuto extra prescelto – riguardante una determinata applicazione installata nel dispositivo mobile – il denaro non giungerà in alcun modo allo sviluppatore del software, ma finirà, invece, nelle mani dei cybercriminali.

Ad esempio, quando l’utente provvede all’acquisto di qualche elemento disponibile nello store in-game di un qualsiasi gioco per Android (se tale gioco utilizza l’SDK per il pagamento degli acquisti in-app tramite SMS — per esempio mm.sms.purchasesdk), i malintenzionati possono modificare il messaggio SMS in uscita, relativo al pagamento effettuato, in maniera tale che siano proprio loro stessi a ricevere l’importo trasferito dall’utente, e non gli sviluppatori del gioco. Di fatto, l’utente non sospetta, con ogni probabilità, che il suo denaro possa essere stato sottratto da persone malintenzionate. E visto che, ad ogni caso, egli non ottiene il contenuto extra già pagato, potrà pensare, verosimilmente, che si tratta di un semplice bug nel gioco stesso.

Esiste comunque una variante: il denaro va a finire nelle mani dei malfattori; l’utente, tuttavia, riceve il contenuto desiderato. In tal caso, il Trojan non compie il furto del denaro che appartiene all’utente, ma si impossessa della somma che spetterebbe, di diritto, agli sviluppatori del software legittimo.

Il Trojan qui preso in esame è ugualmente in grado di filtrare gli SMS in entrata. Il malware, infatti, verifica da quale numero telefonico proviene il messaggio, così come il testo contenuto nell’SMS. Nella fattispecie, vengono filtrati i messaggi inviati attraverso i numeri presenti in un determinato elenco, oppure gli SMS contenenti parole chiave (gli elenchi relativi ai numeri telefonici e alle keyword vengono trasmessi al Trojan tramite il centro di comando predisposto dai malintenzionati). Di conseguenza, il messaggio filtrato dal malware mobile non potrà essere “visualizzato” né dall’utente, né da alcuna delle applicazioni installate nel sistema sottoposto ad attacco.

Utilizzo nocivo del processo Zygote

Un tratto distintivo dell’app dannosa è rappresentato dall’utilizzo del processo di sistema Zygote per l’introduzione del proprio codice nocivo nell’ambito di tutte le applicazioni presenti nel dispositivo. Il processo Zygote è il processo padre per tutte le applicazioni Android; esso contiene le librerie di sistema ed i framework utilizzati, in pratica, da tutte le app. Tale processo costituisce una sorta di pattern per ogni nuova applicazione; questo significa che, non appena il Trojan penetra nel suddetto processo, esso diviene una parte di tale modello e, pertanto, andrà ad interessare qualsiasi applicazione eseguita sul dispositivo, alterandone la logica di funzionamento. Naturalmente, un simile scenario apre un ampio spettro di possibilità, per i malintenzionati.

Di fatto, è la prima volta che ci imbattiamo, in-the-wild, in una simile tecnologia; sinora, l’utilizzo di Zygote era stato messo in atto esclusivamente in qualità di Proof-of-Concept.

I cybercriminali, tuttavia, sembrano adottare un atteggiamento piuttosto prudente nei confronti di un’azione particolarmente complessa quale può rivelarsi, in sostanza, la modifica di Zygote, dal momento che qualsiasi attività incauta, nell’ambito del processo sopra descritto, può condurre all’immediato crash del sistema. Per tale motivo il Trojan esegue, inizialmente, una sorta di “giro di prova”, il quale consente di verificare l’effettivo funzionamento delle tecniche dannose sul dispositivo dell’utente-vittima.

zygote_it_2

L’architettura di Triada

La descrizione completa del Trojan è disponibile qui (inglese).

Conclusioni

Le applicazioni che, all’insaputa dell’utente, sono in grado di ottenere l’accesso di root al dispositivo mobile possono a loro volta fornire l’accesso al dispositivo infetto a software nocivi ancor più complessi e pericolosi. Proprio attraverso i programmi malware in grado di acquisire i privilegi di root viene diffuso Triada, il Trojan mobile in assoluto più sofisticato fra tutti quelli a noi noti. Una volta penetrato all’interno del dispositivo dell’utente-vittima, Triada si introduce, in pratica, in tutti i processi in esecuzione, continuando però ad “esistere” soltanto nella memoria operativa. Inoltre, tutti i processi del Trojan eseguiti separatamente vengono nascosti all’utente e alle altre applicazioni. Di conseguenza, il rilevamento e la successiva rimozione del Trojan divengono estremamente difficoltose, sia per l’utente che per le soluzioni di sicurezza IT create dalle società produttrici di antivirus.

È del tutto evidente come il Trojan denominato Triada sia stato sviluppato da cybercriminali che conoscono molto bene la piattaforma mobile sottoposta ad attacco. L’ampia gamma delle tecniche dannose di cui fa uso questo temibile Trojan non si incontra, di fatto, in nessuno dei malware per dispositivi mobile a noi noti. I metodi utilizzati da Triada a livello di occultamento e persistenza all’interno del sistema consentono a tale software nocivo di evitare in maniera davvero efficace il rilevamento e l’eliminazione di tutti i componenti del malware, una volta che questi ultimi sono stati installati sul dispositivo infetto; l’architettura modulare, da parte sua, consente ai malintenzionati di estendere e modificare agevolmente le funzionalità dannose, limitate unicamente dalle potenzialità del sistema operativo e dalle applicazioni effettivamente installate nel dispositivo mobile. Dal momento che il malware in questione penetra in tutte le applicazioni installate nel sistema, i malintenzionati, potenzialmente, possono modificare la logica di funzionamento delle stesse, allo scopo di implementare nuovi vettori di attacco e massimizzare i profitti realizzati.

A livello di complessità, Triada non è di certo inferiore ai malware destinati a colpire l’OS Windows; tale circostanza segna quindi una sorta di passaggio del Rubicone nel processo evolutivo delle minacce IT dirette alla piattaforma Android. Mentre, nel recente passato, la maggior parte dei Trojan appositamente sviluppati per attaccare tale piattaforma risultava essere piuttosto “primitiva”, fanno adesso la loro comparsa, sulla scena del malware mobile, nuove insidiose minacce, caratterizzate da un elevato livello di complessità tecnologica.

Post correlati

C'è 1 commento
  1. Antonio

    Cari Mikhail Kuzin e Nikita Buchka, grazie innanzitutto di questo articolo esplicativo e che pone in rilievo la vostra elevata competenza nel settore IT. Sono “incappato” su questa pagina in seguito ad una ricerca effettuata su Google circa un problemino capitatomi ieri, dopo aver installato Malwarebyte’s Antimalware sul mio nuovo phablet Leagoo M8 Pro consegnatomi il giorno prima ed acquistato dal noto store cinese GearBest. Mentre Avast non ha rilevato nulla, Malwarebyte’s, con mia somma meraviglia, trova un malware. Cerco di eseguire l’operazione di rimozione, ma l’app pre-installata dalla casa costruttrice, che si chiama Dual-Tag e che viene ampiamente pubblicizzata sul sito della Leagoo, responsabile dell’infezione, risulta assolutamente non disinstallabile!! Allora scrivo sia al supporto di Malwarebyte’s, che mi ha risposto e ha fatto richiesta dello screenshot dell’app, e a cui ho comunicato anche il nome del malware trovato, sia alla Leagoo, dicendogli che non è affatto chiaro come mai in un phablet nuovo di fabbrica si trovi installato un malware di quel tipo, che ne compromette seriamente ogni utilizzo in sicurezza! E qual è questo malware? Appunto Android/Backdoor.Triada.BT!!! Ora, potete immaginare la mia disperazione e delusione, nello scoprire che il mio primo smartphone, pur non essendo molto costoso, ma comunque pesando ugualmente sulle mie esigue finanze, sia infettato alla radice e che neanche con un’operazione di rooting possa essere restituito ad un funzionamento sicuro!! Allora, ho pensato di chiedere consiglio a voi, che avete dimostrato in questo testo di essere all’altezza di tali intricate problematiche e, magari, di diffondere tramite questo sito, questa informazione, in modo da evitare che altri acquistino questo ed altri prodotti simili. Spero che mi rispondiate e che si possa fare qualcosa per risolvere il mio problema. Grazie e cordiali saluti.

Lascia un commento

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