La biometria è più sicura – come il malware deruba gli utenti di Android

Questo post è stato ispirato da un’ottima presentazione di Jan Seredynski al THS 2023.

La sicurezza informatica non è una questione binaria: non ci sono soluzioni che garantiscano una sicurezza al 100%. In realtà si tratta più di valutazione del rischio e di scegliere soluzioni che siano meno suscettibili agli attacchi. Un esempio di questa valutazione nel contesto bancario è il fatto che la conferma delle transazioni tramite applicazioni mobili è più sicura dei popolari codici SMS, anche se ci sono metodi di attacco efficaci anche in questo caso. Potrebbero essere, per esempio, false applicazioni che si spacciano per quelle bancarie, oppure che sfruttano exploit (come Pegasus). Tuttavia, uno degli attacchi più interessanti alla mobilità bancaria si basa sull’installazione sul telefono della vittima di un’applicazione apparentemente innocua che abusa dei permessi di Android.

Lo schema d’infezione spesso inizia con la vittima che installa un’applicazione da una fonte non attendibile. Viene incoraggiata dalle informazioni che questa versione che installerà ha le funzioni premium sbloccate gratuitamente.

youtube premium malware
duolingo premium malware

Purtroppo, capita anche che applicazioni presenti nel Google Play ufficiale siano dannose. Inizialmente non contengono funzionalità dannose, ma le acquisiscono nelle successive aggiornamenti. I cybercriminali creano applicazioni apparentemente innocue. Ad esempio, una semplice applicazione torcia o uno strumento per gestire la fotocamera. Tali applicazioni chiedono permessi per varie funzionalità sul dispositivo. Per diversi mesi funzionano secondo le dichiarazioni, senza causare alcun problema. Gli utenti spesso rilasciano recensioni positive, il che rafforza la reputazione dell’applicazione e incoraggia altri utenti a scaricarla. Tuttavia, dopo un po’ di tempo, i cybercriminali modificano l’applicazione, aggiungendo codice dannoso o cambiando i permessi, in modo da poter rubare i dati. Questo aggiungimento ritardato del codice dannoso consente ai criminali di superare con successo il processo di verifica nel Google Play Store.

latarka malware w google play

Come funzionano i servizi di accessibilità e le sovrapposizioni nel contesto del malware?

I servizi di accessibilità (Accessibility Services) consentono, tra le altre cose, di leggere le informazioni visualizzate sullo schermo del telefono ad alta voce e di riempire i campi nei moduli per l’utente.

działanie ułtawień dostępu

Un’applicazione dannosa, sfruttando i meccanismi di accessibilità pensati per le persone con disabilità, può registrare tutto ciò che accade sullo schermo, ottenendo accesso ai codici inseriti. In questo modo è in grado di conoscere la password dell’applicazione mobile e di effettuare e confermare autonomamente un trasferimento. L’assegnazione di permessi sospetti avviene utilizzando un altro trucco ingegnoso, cioè le sovrapposizioni schermo (Overlay). L’utente spesso non si rende nemmeno conto di accettare permessi pericolosi.

Un esempio di “Overlay Services” è il pop-up che appare con un messaggio di Messenger.

działanie dymków facebook

Nel caso mostrato di seguito, una sovrapposizione di schermo falso copre parte dello schermo reale (nascondendolo alla vista dell’utente), e poi chiede alla vittima di inserire informazioni (di solito confidenziali, come dati bancari, codici PIN o risposte a domande di sicurezza). La vittima pensa di inserire informazioni riservate in un’applicazione affidabile, ma in realtà le invia direttamente all’attaccante.

jak malware wykradana przez nakładki dane dostępowe użytkownika

Lo scopo di questo tipo di attacchi con sovrapposizioni schermo è spesso il settore bancario mobile, fintech, l’e-commerce, i giochi o le applicazioni retail. Quando l’attaccante conosce il pin di conferma delle transazioni, può, utilizzando i servizi di accessibilità, aprendo l’app bancaria reale, accedere automaticamente, effettuare e confermare un trasferimento.


Esempi di attacchi reali finora rilevati

  • BrasDex è un tipo di malware focalizzato sugli attacchi ai sistemi Android, con particolare attenzione alle applicazioni bancarie in Brasile. Quando infetta un dispositivo, BrasDex individua e attacca solo applicazioni selezionate. Utilizza le funzioni di accessibilità di Android per monitorare lo schermo, controllare il tocco, gestire la tastiera e compiere altre azioni dannose. L’obiettivo principale di BrasDex è rubare i dati di accesso durante l’uso delle applicazioni bancarie e compiere transazioni all’insaputa dell’utente.
brasdex
  • ERMAC 2.0 è un trojan per la piattaforma Android, utilizzato per rubare le credenziali d’accesso degli utenti e trasmetterle ai cybercriminali. I ladri utilizzano questi dati per prendere il controllo degli account bancari e delle criptovalute delle vittime e per commettere varie frodi. Un esempio tipico del suo funzionamento era un’applicazione contraffatta, che poteva essere trovata su un sito legittimo di un fornitore di cibo. Questa applicazione contraffatta richiedeva fino a 43 permessi, tra cui l’accesso ai servizi di accessibilità e alle sovrapposizioni, il che consentiva di rubare le credenziali di accesso.
ermac
  • Xenomorph è un malware che continua ad essere utilizzato negli attacchi, nonostante abbia debuttato più di due anni fa. Inizialmente era distribuito tramite il Google Play Store come applicazione per migliorare le prestazioni. Gli utenti che installavano queste applicazioni infettavano inconsapevolmente i loro dispositivi, pensando che il miglioramento delle prestazioni richiedesse permessi così estesi. Xenomorph è in grado di intercettare i messaggi di testo, consentendo di raccogliere dati utilizzati per confermare le transazioni. Inoltre, utilizza i permessi di accessibilità per creare sovrapposizioni discrete sullo schermo.
xenomorph

Consigli per gli sviluppatori per difendersi dal malware che sfrutta i servizi di accessibilità:

  • Bloccare tutti i servizi di accessibilità: Questa opzione è la meno user-friendly per gli utenti con varie disabilità, ma è uno dei modi più semplici per proteggersi dall’abuso dei permessi.
  • Consentire solo i servizi della whitelist: Un approccio più amichevole per le accessibilità, che utilizza l’API per elencare tutti i servizi di accessibilità, identificare i loro identificatori di pacchetto e consentire l’esecuzione solo di alcuni servizi affidabili dall’applicazione. Tuttavia, le applicazioni installate esternamente possono imitare qualsiasi identificatore di pacchetto, quindi questa difesa protegge solo dalle minacce provenienti dal Google Play Store.
  • Consentire i servizi con permessi ragionevoli: Puoi utilizzare il flag (android:importantForAccessibility) che identifica gli elementi importanti dell’interfaccia utente per le accessibilità. Impostalo su “false” per tutti i campi sensibili nella tua applicazione e restringi i servizi di accessibilità che dichiarano interesse a leggere campi non importanti. Puoi farlo controllando la proprietà del flag e verificando FLAG_INCLUDE_NOT_IMPORTANT_VIEWS.
  • Utilizzare la biometria e i dialoghi di sistema: Richiedere e utilizzare l’autenticazione biometrica per transazioni importanti può aiutare a prevenire l’utilizzo da parte dei cybercriminali dei servizi di accessibilità per condurre transazioni non autorizzate nell’applicazione dell’utente. Richiedere anche che le transazioni siano effettuate mediante i dialoghi di sistema dell’applicazione può bloccare efficacemente le sovrapposizioni. Le nuove versioni di Android non consentono alle sovrapposizioni di funzionare sulle finestre di sistema.
  • Utilizzare Android API 34: Questo aggiornamento assicura che solo i servizi di accessibilità verificati possano visualizzare e accedere alle informazioni sensibili nell’applicazione.

Raccomandazioni per il rilevamento delle sovrapposizioni

Google ha introdotto alcune API utili per aiutare a rilevare e contrastare gli attacchi del malware che sfruttano le sovrapposizioni:

  • API 9: Quando è abilitato il filtro del tocco (setFilterTouchesWhenObscured(boolean)), il sistema ignora i tocchi dell’utente quando la finestra della vista è oscurata da una sovrapposizione. In questo caso, riguarda un’altra finestra visibile (o messaggio/toast/dialogo) che si trova nel punto del tocco.
  • API 29: Questo aggiornamento consente una rilevazione più accurata dei tocchi parzialmente oscurati utilizzando il flag (FLAG_WINDOW_IS_PARTIALLY_OBSCURED), che indica quando una finestra riceve un evento di movimento che è parzialmente o completamente oscurato da un’altra finestra visibile. È importante notare che l’evento è segnato con il flag se il movimento non passa direttamente attraverso la sovrapposizione.
  • API 31: Questo aggiornamento fornisce agli sviluppatori l’opzione setHideOverlayWindows(true), che nasconde e rimuove automaticamente le sovrapposizioni non di sistema. Attualmente, questo è l’approccio più efficace ed efficiente.

Come utente medio, è importante sapere che i servizi di accessibilità (Accessibility Services) non hanno accesso ai dati biometrici e non sono in grado di imitarli. Per questo motivo è consigliabile utilizzare metodi biometrici invece dei tradizionali codici PIN/password. Accedere alle applicazioni tramite impronta digitale o riconoscimento facciale, e confermare le transazioni con questi metodi, è molto più sicuro. La biometria aggiunge un ulteriore livello di sicurezza, in quanto è unica per ogni utente e più difficile da copiare o ottenere rispetto ai tradizionali password o codici PIN. Pertanto, soprattutto nel contesto delle operazioni finanziarie e dell’accesso alle applicazioni importanti, l’uso della tecnologia biometrica è sicuramente la soluzione migliore.

Aggiornamento 1: Un lettore non specialista ha osservato che sono già emerse nuove varianti di trojan che hanno meccanismi integrati per indurre la vittima a utilizzare un metodo di autenticazione diverso dalla biometria. Il trojan clicca automaticamente il pulsante “annulla” quando rileva l’autenticazione biometrica, costringendo l’utente a utilizzare metodi alternativi, i cui dati saranno acquisiti.

Chcesz wiedzieć więcej?

Zapisz się i bądź informowany o nowych postach (zero spamu!). Dodatkowo otrzymasz, moją prywatną listę 15 najbardziej przydatnych narzędzi (wraz z krótkim opisem), których używam przy testach penetracyjnych.

Nigdy nie podam, nie wymienię ani nie sprzedam Twojego adresu e-mail. W każdej chwili możesz zrezygnować z subskrypcji.

Taggato , , , , , , . Aggiungi ai preferiti : permalink.

Condividi la tua opinione sull'articolo.