I'm the creeper

Sharkbot: cosa c’è di diverso nel nuovo trojan bancario di Android

Uno nuovo trojan bancario, Sharkbot, si sta diffondendo sui dispositivi Android attraverso una botnet soprattutto in Italia, Inghilterra e Stati Uniti. Il malware è stato identificato da Cleafy che aveva rilasciato a novembre scorso un dettagliato report dell’applicativo, analizzandone caratteristiche e metodologia d’attacco. Nonostante venga dipinto come particolarmente innovativo, Sharkbot è in realtà costruito su tecniche estremamente consolidate e che erano state già in passato oggetto di critiche verso Google. Lo scopo principale dell’applicazione è iniziare transazione bancarie non autorizzate compromettendo il sistema di doppia autenticazione tipicamente in funzione per questo tipo di operazioni.

Come funziona Sharkbot: il nuovo trojan bancario

Come ogni trojan che si rispetti Sharkbot viene installato sui dispositivi infettati grazie a una botnet e attacchi di phishing diretti verso una vasta platea di utenti. Infatti, è difficile che un’applicazione di questo genere venga rilasciata attraverso il PlayStore e possa essere installata direttamente dagli utenti finali. Una volta sul dispositivo il pattern d’attacco è tipicamente il seguente:

  1. Richiesta dei permessi: anche attraverso operazioni innocue, l’utente è indotto a concedere tutti i permessi di cui l’app necessita per operare;
  2. Connessione con il server di Comando e Controllo (C2): in questo modo sarà possibile convogliare le informazioni recuperate dal telefono della vittima e ricevere ordini da eseguire;
  3. Fase di latenza: l’applicazione cambia icona o ne inibisce la visibilità, rendendo difficile la propria individuazione;
  4. Monitoraggio e attacco: durante l’uso quotidiano dello smartphone le operazioni vengono monitorate ed entra in funzione in determinate circostanze (come durante l’uso di applicazioni bancarie).

Alla base dell’intera catena c’è un attacco estremamente semplice da realizzare quello degli Overlay: un oggetto delle librerie Android che consente di visualizzare contenuti che si sovrappongono a quanto già sullo schermo. In questo modo è estremamente semplice mostrare all’utente informazioni che lo inducano a premere alcune aree dello schermo ma tale azione verrà catturata dall’applicazione sottostante generando un evento non autorizzato.

Alcuni dettagli delle funzionalità più avanzate

Sharkbot, oltre a realizzare l’attacco sopra descritto, è dotato di una serie di ulteriori funzionalità per evadere le analisi dei tradizionali antivirus (si parla di un tasso di riconoscimento del 5%). Infatti, il malware offusca tutte le stringhe relative a comandi e informazioni importanti per rallentare le analisi statiche del codice. Inoltre, riesce a individuare l’ambiente d’esecuzione, disabilitandosi in caso di macchine virtuali (ad esempio per le esecuzioni in sandbox). Come anticipato l’app cambia icona per non farla riconoscere facilmente e adotta una tecnica di anti-cancellazione grazie ai servizi di accessibilità di Android.

La vera parte rilevante è quella di inserimento di testo nelle app bancarie ed elusione dell’autenticazione multifattoriale. Infatti, Sharkbot è in grado di identificare le schermate di inserimento dei bonifici SEPA ed è capace di sostituire l’IBAN del beneficiario con altri destinatari. Può anche accedere in lettura e scrittura agli SMS, di fatto sfruttando le One Time Password (OTP) ricevute per completare l’autorizzazione del pagamento. Infine, le tecniche di Overlay e gli strumenti di acquisizione delle schermate consentono di identificare informazioni personali quali la giacenza del conto, le credenziali di accesso e altri dati di questo tipo.

Le possibili contromisure

Naturalmente possiamo proteggerci da questo tipo di attacchi che, ad ogni modo, sono estremamente complessi e richiedono tanti interventi da parte dell’utente. Ricordiamo, quindi, che se vediamo comparire applicazioni strane che non ci aspettavamo o icone di stato non usuali, potrebbe esserci qualcosa di non lecito. Tipicamente, infatti, i malware non sono pensati per avere ottime prestazioni ma per trovare i dati di cui necessitano. Per far questo spesso consumano tanta batteria e inviano molti dati ai server di Comando e Controllo. Una semplice verifica è cercare quali applicazioni sono attualmente in esecuzione, analizzando se ne troviamo qualcuna strana che consuma tanti dati ed è particolarmente pesante. In questo caso, cancelliamola subito o procediamo con un ripristino del dispositivo.

Published by
Nicola Fioranelli