Come contrastare la minaccia degli attacchi overlay

Giovanni Verhaeghe VASCO Data SecurityL'autenticazione a due fattori è da tempo considerata un modo sicuro per impedire ai criminali informatici di sfruttare le debolezze del mobile banking, tecniche o umane che siano. 

Di recente, tuttavia, è apparsa una nuova forma di attacco che combina elementi di social engineering con lo sfruttamento di debolezze di sicurezza intrinseche nelle stesse applicazioni di mobile banking.

Utenti di applicazioni bancarie in tutto il mondo sono stati vittime di un metodo di attacco particolarmente insidioso da alcuni anni a questa parte. Questi cosiddetti “overlay malware”, o malware di “sovrapposizione”, rilevano l’avvio di un’applicazione bancaria, la spingono all’esecuzione in background e presentano all’utente un ambiente sovrapposto quasi identico a quello reale. Tutti i dati che l’utente inserisce, come password e codici, vengono rubati e quelli delle transazioni vengono modificati in modo che l’utente le indirizzi involontariamente ai criminali che si celano dietro il malware. Nella maggior parte dei casi, il malware di sovrapposizione prende la forma di un Trojan, un’applicazione apparentemente legittima scaricata da un sito o da un app marketplace legali.

BankBot

Un esempio recente di tale tipo di malware è BankBot. Il malware, che ha come obiettivo applicazioni Android, in passato ha preso di mira principalmente clienti di banche russe, ma ha poi ampliato notevolmente il proprio raggio d’azione colpendo 420 banche in Germania, Francia, Austria, Paesi Bassi, Turchia, Stati Uniti e anche in Italia.

Fingendosi una normale applicazione scaricabile da Google Play, BankBot utilizza il principio di attacco overlay per ingannare gli utenti e indurli a rivelare, tra le altre cose, username, password, codici pin e dettagli delle carte. Può anche intercettare messaggi di testo sms, un secondo fattore di autenticazione comunemente utilizzato dalle applicazioni bancarie per autorizzare i pagamenti. L’utente non realizza nulla di tutto ciò finché non si scopre che il suo conto è stato saccheggiato o che i pagamenti sono stati reindirizzati ai conti dei criminali.

Approcci multipli di attacco

La caratteristica di BankBot e di altri attacchi overlay è che essi fondamentalmente combinano due classici modi di agire dei criminali informatici.

Da un lato ci sono elementi di social engineering, con cui gli hacker ingannano gli utenti per ottenere accesso ai loro sistemi. Così come con tutti i malware Trojan, l’utente non si rende conto di installare qualcosa di dannoso. BankBot, ad esempio, in un primo momento aveva le sembianze di un’applicazione per le previsioni meteo e successivamente quelle di una serie di applicazioni video, in entrambi i casi scaricabili dal Play Store di Google, finché non sono state scoperte. Dopo l’installazione, il malware richiede i diritti di amministrazione all’utente. Sebbene questo dovrebbe essere un campanello di allarme (le applicazioni meteo non necessitano di diritti di amministratore per il loro normale funzionamento), molti utenti consentono di procedere. Infine, la sovrapposizione è un modo per ingannare gli utenti inducendoli a fare cose che in realtà non vorrebbero fare, come la condivisione di dettagli bancari o addirittura l’autorizzazione di transazioni che non intendono eseguire.

Dall’altro lato, i malware overlay non sfruttano solo l’inesperienza o la mancanza di conoscenza dell'utente, ma funzionano anche a causa delle debolezze della piattaforma mobile stessa e delle applicazioni in esecuzione su di essa. Ad esempio, possono essere installati tramite cosiddetti “download drive-by”, il che significa che all’utente basta semplicemente aprire una determinata pagina web per essere compromesso. Tipicamente i malware overlay spingono le applicazioni bancarie all’esecuzione in background, cosa che la maggior parte delle applicazioni da sole non rilevano. L’applicazione continua a funzionare normalmente e accetta gli input dell’utente, anche quando tecnicamente non può essere un essere umano a gestire l’applicazione.

Protezione multilivello

L’incremento degli attacchi overlay ha aumentato la necessità di attuare una protezione multilivello, poiché anche una robusta autenticazione a due fattori non può proteggere da sola i dispositivi Android. È qui che entra in gioco la responsabilità degli istituti che forniscono le applicazioni, le quali dovrebbero essere dotate anche di una qualche forma di protezione integrata che rilevi quando esse vengono spinte all’esecuzione in background. La reazione standard a una situazione di questo tipo dovrebbe essere che qualsiasi input dell’utente venga bloccato e che la sovrapposizione sia eliminata, a prescindere da quale specifica applicazione (o piuttosto malware) la stia inserendo. Gli attacchi di overlay dovrebbero quindi essere impediti come metodo, piuttosto che come parte di un’azione di blocco di un determinato componente di malware. Nuovi malware compaiono in ogni momento e BankBot non è né il primo né l’ultimo che cercherà di utilizzare tali approcci. In futuro, malware più evoluti potrebbero, ad esempio, sfruttare debolezze delle piattaforme finora sconosciute. Una sicurezza efficace deve assicurare che lo sfruttamento di una sola e specifica debolezza non basti a compromettere l’utente.

Questa protezione multilivello può essere messa in atto con la tecnologia RASP (Runtime Application Self-Protection), che integra la sicurezza direttamente nelle applicazioni mobile. Invece di dover violare un solo livello di sicurezza per riuscire a compromettere un dispositivo, un hacker dovrà violarne diversi che saranno difficili da superare. Inoltre, la tecnologia RASP rileva un comportamento piuttosto che un codice specifico, arrestando sul nascere gli attacchi di overlay. Essa, a prescindere dalla specifica forma di malware, blocca qualsiasi applicazione che tenti di attuare una sovrapposizione.

Accanto a ciò, inoltre, l’autenticazione a due fattori rimane una parte fondamentale delle difese dell’utente. I cyber-criminali che riescono a rubare le credenziali o addirittura i dettagli della carta, per esempio, potranno farci ben poco se è necessario anche il possesso di un dispositivo fisico o una chiave di crittografia. Questi possono assumere la forma di token basati su hardware o su software che ricevono un determinato codice ogni volta che l'utente desidera eseguire un’azione potenzialmente sensibile. Impossessarsi di una password o di un codice PIN non è più sufficiente per i criminali informatici.

Con ciò, le istituzioni finanziarie dispongono di tutti gli strumenti per proteggere i propri clienti e spetta a loro assumersi questa fondamentale responsabilità.