Dispositivo infetto: la nuova minaccia nel Google Play
Cinque anni fa, i ricercatori hanno fatto una scoperta inquietante: un’applegittima per Android nel mercato di Google Play che era stata trasformata in una minaccia grazie a una libreria utilizzata dagli sviluppatori per guadagnare entrate pubblicitarie. Questo ha portato all’infezione di 100 milioni di dispositivi, che si sono connessi a server controllati dagli aggressori per scaricare carichi segreti.
Oggi, questa storia si ripete. I ricercatori di Kaspersky, una rinomata azienda di sicurezza con sede a Mosca, hanno riferito di aver trovato due nuove app, scaricate 11 milioni di volte, contaminate dalla stessa famiglia di malware. Si ritiene che un kit di sviluppo software (SDK) malevolo, progettato per integrare capacità pubblicitarie, sia nuovamente responsabile dell’infezione.
Le SDKs sono strumenti utilizzati dagli sviluppatori per facilitare il processo di creazione delle app, semplificando compiti ripetitivi. Un modulo SDK non verificato incorporato nelle app supportava apparentemente la visualizzazione di annunci, ma in realtà forniva metodi avanzati per comunicazioni furtive con server malevoli, caricando dati degli utenti e scaricando codice dannoso in grado di essere eseguito e aggiornato in qualsiasi momento.
La famiglia di malware stealth in entrambe le campagne è nota come Necro. Questa volta, alcune varianti utilizzano tecniche come la steganografia, un metodo di offuscamento raramente visto nei malware mobili. Varianti specifiche impiegano metodi ingegnosi per fornire codice dannoso in grado di funzionare con diritti di sistema elevati. Una volta infettati, i dispositivi contattano un server di comando e controllo controllato dall’attaccante, inviando richieste web contenenti dati JSON crittografati che riportano informazioni su ciascun dispositivo compromesso e sull’applicazione ospitante il modulo malevolo.
Tecniche di occultamento e comunicazione del malware
Il server, a sua volta, restituisce una risposta JSON contenente un link a un’immagine PNG e i relativi metadati, che includono l’hash dell’immagine. Se il modulo malevolo installato sul dispositivo infetto conferma che l’hash è corretto, procede a scaricare l’immagine. Kaspersky ha spiegato che il modulo SDK utilizza un algoritmo steganografico molto semplice: “Se il controllo MD5 ha successo, estrae il contenuto del file PNG—i valori dei pixel nei canali ARGB—usando strumenti Android standard. Poi il metodo getPixel restituisce un valore il cui bit meno significativo contiene il canale blu dell’immagine, da cui inizia il processo nel codice.”
I ricercatori hanno aggiunto: “Se consideriamo il canale blu dell’immagine come un array di byte di dimensioni 1, allora i primi quattro byte dell’immagine rappresentano la dimensione del payload codificato in formato Little Endian (dal byte meno significativo a quello più significativo). Successivamente, il payload di dimensioni specificate viene registrato: si tratta di un file JAR codificato in Base64, caricato dopo la decodifica tramite DexClassLoader.” La Coral SDK carica la classe sdk.fkgh.mvp.SdkEntry in un file JAR utilizzando la libreria nativa libcoral.so, che è stata offuscata tramite lo strumento OLLVM. Il punto di partenza o entry point per l’esecuzione all’interno della classe caricata è il metodo run.
I payload secondari che vengono installati scaricano plugin malevoli che possono essere mescolati e abbinati per ciascun dispositivo infetto, consentendo di eseguire una varietà di azioni diverse. Uno di questi plugin permette al codice di funzionare con diritti di sistema elevati. Di norma, Android impedisce ai processi privilegiati di utilizzare WebView, un’estensione del sistema operativo per visualizzare pagine web nelle app. Per aggirare questa restrizione di sicurezza, Necro utilizza una tecnica di hacking nota come riflessione per creare un’istanza separata della fabbrica WebView.
Questo plugin può anche scaricare ed eseguire altri file eseguibili che sostituiranno i collegamenti resi attraverso WebView. Operando con diritti di sistema elevati, questi eseguibili hanno la capacità di modificare URL per aggiungere codici di conferma per abbonamenti a pagamento e scaricare ed eseguire codice caricato a link controllati dall’aggressore. I ricercatori hanno elencato cinque payload distinti che hanno incontrato nella loro analisi di Necro.
L’architettura modulare del malware Necro
Implicazioni per la sicurezza degli utenti Android
La scoperta di app infette da malware come Necro solleva gravi preoccupazioni riguardo alla sicurezza degli utenti Android. Con ben 11 milioni di download combinati per le app coinvolte, è evidente che un numero significativo di dispositivi è potenzialmente a rischio. Le conseguenze di tali infezioni possono essere gravi, portando alla compromissione dei dati personali e all’esposizione a ulteriori attacchi informatici.
La modalità operativa di Necro, con la sua architettura modulare, consente agli aggressori di adattare e aggiornare il malware su ciascun dispositivo compromesso. Questo non solo aumenta la difficoltà di rilevamento da parte dei software antivirus, ma permette anche un’interazione continua con i server di comando e controllo. Gli utenti potrebbero non rendersi conto di essere stati infettati fino a quando non inizia a verificarsi un comportamento anomalo del dispositivo, come l’aumento dell’utilizzo della batteria o l’attività di rete sospetta.
In aggiunta, il fatto che le app infette siano state disponibili su Google Play, uno dei principali marketplace mondiali per app, pone la domanda su quanto siano sicuri tali store. Anche se Google ha implementato misure di sicurezza rigorose, l’infiltrazione di malware attraverso SDK non verificati dimostra che esistono ancora vulnerabilità significative.
È quindi cruciale che gli utenti prendano coscienza delle potenziali minacce quando scaricano app da qualsiasi marketplace. La vigilanza e l’uso di strumenti di sicurezza credibili diventano essenziali per proteggere i propri dati e la propria privacy. Si raccomanda di monitorare attentamente le autorizzazioni delle app installate e di disinstallare quelle che richiedono accessi non necessari.
Le implicazioni di questa scoperta non interessano solo gli utenti individuali, ma anche sviluppatori e aziende, che devono prestare attenzione alla scelta di SDK affidabili e all’implementazione di pratiche di sicurezza nei loro processi di sviluppo software. Solo attraverso un approccio proattivo si possono limitare danni futuri e garantire una maggiore sicurezza nell’ecosistema Android.
Implicazioni per la sicurezza degli utenti Android
L’architettura modulare del malware Necro
La struttura modulare del malware Necro non solo complica la rimozione di eventuali infezioni, ma consente anche agli aggressori di personalizzare il comportamento del malware in base agli obiettivi specifici. L’architettura consente di installare payload diversi su ogni dispositivo compromesso, a seconda delle necessità. Questo significa che anche se un dispositivo viene già infettato, può ricevere aggiornamenti del malware che alterano il suo funzionamento e lo rendono più difficile da rilevare.
I ricercatori di Kaspersky hanno identificato come i vari moduli possano eseguire diverse funzioni malevole, tra cui il download di altri malware, l’applicazione di risorse di sistema avanzate e la raccolta di dati sensibili. La natura modulare rende impossibile l’individuazione di un singolo punto di attacco, poiché i moduli possono essere caricati e scaricati in modo dinamico, rendendo il malware adattabile e resiliente.
Inoltre, come accennato in precedenza, Necro utilizza tecniche sofisticate come la steganografia per mascherare le istruzioni del malware all’interno di file innocui, portando a un elevato grado di evasione dai controlli di sicurezza. I sistemi di protezione convenzionali potrebbero non essere in grado di identificare i payload malevoli poiché risiedono in file che sembrano normali.”
La modularità offre anche un’ulteriore dimensione: il livello di accesso al sistema operativo può aumentare progressivamente. Con la capacità di installare plugin che operano con diritti elevati, Necro ha il potenziale di compromettere l’intero dispositivo. Questo è particolarmente preoccupante in un contesto in cui le informazioni sensibili degli utenti, come dati bancari, password e file personali, possono essere rubate senza che l’utente possa facilmente rendersi conto di quanto stia accadendo.
Data la flessibilità e l’ingegneria meticolosa di Necro, è chiaro che affrontare questo tipo di minaccia richiede una vigilanza costante e l’implementazione di misure di sicurezza multi-strato. La comprensione del funzionamento interno di sistemi simili rappresenta un passo fondamentale per migliorare la sicurezza informatica e proteggere gli utenti da futuri attacchi.
Come proteggere il proprio dispositivo da infezioni malware
La protezione dei dispositivi Android da infezioni malware come Necro richiede un approccio proattivo e consapevole. Gli utenti devono adottare diverse strategie per salvaguardare la propria sicurezza digitale e minimizzare il rischio di infezioni malevole.
Per iniziare, è fondamentale scaricare applicazioni solo da fonti affidabili, come il Google Play Store. Tuttavia, anche in questo caso, è importante prestare attenzione alle recensioni e al numero di download. Le app con poche recensioni o download potrebbero essere sospette. Inoltre, è utile controllare attentamente le autorizzazioni che le app richiedono; se un’app chiede accesso a dati o funzioni non pertinenti, è meglio evitare di installarla.
In secondo luogo, tenere sempre aggiornato il sistema operativo e le app è cruciale. Le patch e gli aggiornamenti regolari non solo migliorano le funzionalità, ma risolvono anche vulnerabilità di sicurezza note. Gli utenti dovrebbero attivare gli aggiornamenti automatici quando possibile per garantire di avere sempre le versioni più recenti e sicure delle applicazioni.
È anche consigliabile utilizzare un software antivirus affidabile che offra protezione in tempo reale e scansioni periodiche. Questi strumenti possono rilevare e rimuovere malware prima che possa causare danni. Le applicazioni antivirus sono particolarmente utili per monitorare attività sospette e comportamenti anomali nei dispositivi.
Inoltre, gli utenti dovrebbero prestare attenzione a messaggi di phishing e collegamenti sospetti, evitando di cliccare su link di origine sconosciuta. Infine, eseguire backup regolari su un dispositivo separato o nel cloud può rivelarsi utile; in caso di infezione, i dati possono essere recuperati senza perdite significative.
Adottando queste pratiche di sicurezza, gli utenti possono migliorare significativamente la protezione contro le minacce rappresentate da malware come Necro e garantire una maggiore sicurezza per i loro dispositivi e dati personali.