Trojan Android.MagicAd mostra annunci nonostante ogni restrizione
Notizie "calde" | Sulle minacce mobile | Tutte le notizie | Sui virus
Android.MagicAd.1 veniva distribuito attraverso lo store ufficiale delle app per dispositivi Xiaomi GetApps ed era nascosto in più di 50 vari giochi e programmi. Comparivano nello store per un breve periodo — il più delle volte, fino a un mese, dopodiché scomparivano, e al loro posto ne comparivano di nuovi. Probabilmente, i malintenzionati cercavano in questo modo di proteggere Android.MagicAd.1 dal rilevamento prematuro, mantenendo, allo stesso tempo, la sua attività, in quanto, dopo la rimozione dallo store, i programmi trojan rimangono sui dispositivi degli utenti e possono continuare a svolgere le operazioni malevole. Al momento, nessuna delle applicazioni con Android.MagicAd.1 da noi rilevate è disponibile per il download su GetApps, e gli sviluppatori che le distribuivano hanno smesso di pubblicare nuovi programmi con il trojan.
Lo studio effettuato dagli analisti dei virus Doctor Web ha mostrato che le prime versioni di Android.MagicAd.1 sono emerse nel 2025 e, oltre allo store di app GetApps, si trovavano anche su Samsung Galaxy Store.
Esempi di giochi e programmi dallo store di app GetApps che contenevano Android.MagicAd.1. Al momento della pubblicazione della nostra notizia, queste e altre varianti del trojan non sono più disponibili per il download
Parte delle funzionalità malevole di Android.MagicAd.1 si trova nei moduli dex che sono nascosti in librerie native cifrate nella directory con le risorse file del trojan. Nel corso del funzionamento, il malware decifra queste librerie, ne estrae i propri componenti e li esegue.
Prima di iniziare a visualizzare annunci pubblicitari, il trojan esegue una serie di controlli per assicurarsi che il suo ambiente sia sicuro. Ad esempio, cerca segni di operazione in ambiente virtuale, controlla se la sua installazione è stata organica e se l'indirizzo IP del dispositivo infettato non è presente sulla sua blacklist ecc.
Se Android.MagicAd.1 non rileva attività sospette, nasconde la propria icona dalla lista dei programmi nel menu della schermata principale. Quindi crea un canale di notifica, attraverso il quale avvia diversi servizi malevoli di persistenza, che sono necessari per il funzionamento in background con la finestra dell'applicazione malevola chiusa. In seguito, il pianificatore attività di Android.MagicAd.1 crea un task per il riavvio periodico dei servizi che controllano l'operazione del canale di notifica e, se necessario, riavviano questo canale. Inoltre, in caso di funzionamento su dispositivi con versioni di SO Android relativamente vecchie, il trojan avvia uno schermo virtuale per evitare che il sistema interrompa il funzionamento di uno dei suoi componenti.
Per visualizzare la pubblicità in modalità background quando la sua finestra è chiusa, Android.MagicAd.1 impiega una serie di tecniche che vengono selezionate in base al produttore del dispositivo infetto. Esse vengono implementate senza la richiesta esplicita dell'autorizzazione di sistema SYSTEM_ALERT_WINDOW, la quale permette a un'applicazione di essere visualizzata sopra altri programmi.
Indipendentemente dal metodo utilizzato, tutti i banner pubblicitari vengono caricati come activity traslucida, il che consente al trojan di disegnarli sopra le finestre esistenti.
Esempi di annunci visualizzati da Android.MagicAd.1
Una delle tecniche viene implementata tramite intent indirizzati ad altre applicazioni. Essa consente al trojan di aggirare le restrizioni delle versioni moderne di SO Android che impediscono ai programmi di avviare se stessi. A seconda del modello di dispositivo infetto, tramite questa tecnica Android.MagicAd.1 o mostra gli annunci esso stesso o "costringe" direttamente i programmi target a visualizzare i banner pubblicitari.
In una delle varianti di questo metodo, il target del trojan sono:
- il browser Mi Browser sui dispositivi Xiaomi;
- la shell grafica Miui SystemUI sui dispositivi Xiaomi;
- il launcher Amazon Fire TV Home Screen sui dispositivi Amazon TV.
Tutte queste sono applicazioni di sistema sui relativi dispositivi, pertanto sono in grado di elaborare intent anche quando non sono direttamente avviate dall'utente. Fino a quando questi programmi sono attivi e possono accettare intent, Android.MagicAd.1 può utilizzarli per la visualizzazione di annunci.
Va notato che se su un dispositivo Xiaomi Mi Browser è installato non come app di sistema, il trojan anche può utilizzare questo programma per la visualizzazione di pubblicità — fino a quando la finestra del browser non venga chiusa.
Quando Android.MagicAd.1 scopre Mi Browser su un dispositivo adatto, invia un intent differito per l'avvio della pubblicità al proprio componente dex (rilevato da Dr.Web come Android.MagicAd.1.origin). Quest'ultimo ne genera il proprio intent e lo passa al browser, il quale estrae l'intent originale e avvia la pubblicità in conformità ad esso.
L'interazione con gli altri due programmi è leggermente diversa — essi vengono utilizzati per reinvocare il trojan dalla modalità background. All'inizio Android.MagicAd.1 invia al modulo Android.MagicAd.1.origin l'intent differito per l'avvio della pubblicità, e quest'ultimo passa ai programmi target il proprio intent per il proprio risveglio. Se il target è l'app Miui SystemUI, essa invia in risposta il proprio intent per l'avvio del modulo. Il programma target Amazon Fire TV Home Screen, invece, avvia il modulo direttamente — in base al nome del pacchetto. Avendo ottenuto il controllo, il modulo Android.MagicAd.origin avvia la pubblicità che ha ricevuto nell'intent differito dall'applicazione malevola principale.
Se il trojan non ha potuto mostrare la pubblicità, cerca di adoperare questo metodo altre due volte e, se fallisce, prova a mostrare la pubblicità direttamente, senza più utilizzare gli intent differiti e il proprio modulo dex malevolo.
Un'altra variazione di questo metodo è simile a quella precedente e viene impiegata per sfruttare programmi sui dispositivi Vivo. La differenza è che l'avvio della pubblicità avviene tramite Android Binder — il componente di sistema che fornisce l'interazione tra processi. In questo caso, il trojan ha come target i seguenti programmi di sistema:
- iManager,
- Rubrica,
- Vivo Browser,
- Baidu IME Customized.
Android.MagicAd.1 li avvia tramite Android Binder inviando ad esso normali intent tramite il container di dati Parcel. Questi programmi quindi avviano il componente trojan Android.MagicAd.origin, il quale, dopo essere uscito dalla modalità background, mostra gli annunci.
In Android.MagicAd.1 sono anche previste alcune altre tecniche per la visualizzazione di pubblicità durante il funzionamento in background, tra cui l'utilizzo del lettore multimediale. A differenza dei metodi mirati ai dispositivi specifici, questo è un metodo universale e funziona sulla maggior parte dei modelli di vari produttori. Android.MagicAd.1 decifra dal suo corpo un file audio e lo salva nella directory di lavoro. Quindi il malware avvia la propria istanza del lettore multimediale di sistema, imposta in essa il volume al minimo e la associa al sistema di gestione multimediale globale di SO Android. Successivamente per l'avvio della pubblicità Android.MagicAd.1 registra un broadcast receiver che intercetta i clic in questo lettore. Il trojan quindi tramite un comando adb speciale simula le azioni utente facendo clic sul pulsante di registrazione nel lettore, dopodiché chiude subito la sua finestra. La pressione del pulsante provoca l'attivazione del media receiver di sistema, il quale consente ad Android.MagicAd.1 di intercettare il controllo e avviare la pubblicità.
Dr.Web Security Space per dispositivi mobili rileva e rimuove in modo affidabile tutte le versioni conosciute del programma malevolo Android.MagicAd.1, pertanto per i nostri utenti esso non rappresenta alcun pericolo.
Maggiori informazioni su Android.MagicAd.1
Maggiori informazioni su Android.MagicAd.1.origin