Torniamo ancora una volta a parlare di sicurezza dei dispositivi Android.
In particolare oggi ci concentriamo su un malware scoperto durante i primi mesi del 2024 da alcuni ricercatori della società di cybersecurity Promon: Snowblind.
Si tratta di un banking trojan che ha colpito principalmente le banche del sudest asiatico. Ciò che lo distingue dagli altri malware per Android, tuttavia, è la sua capacità di sfruttare a proprio vantaggio una funzionalità del kernel di Linux (il sistema operativo su cui Android è basato) per poter agire indisturbato.

Snowblind malware Android
  1. Come i malware per Android cercano di violare la sicurezza di smartphone e tablet
  2. La caratteristica peculiare di Snowblind
  3. In che modo Snowblind elude i sistemi anti-tampering

Come i malware per Android cercano di violare la sicurezza di smartphone e tablet

La maggior parte dei malware Android abusa dei servizi di accessibilità per ottenere le credenziali inserite dall’utente come username e password, oppure per prendere da remoto il controllo delle applicazioni installate e compiere operazioni fraudolente.
Essendo questa una modalità di attacco molto utilizzata, sono state implementate nelle applicazioni dei protocolli di sicurezza per verificare se i servizi di accessibilità sono affidabili.

Se viene individuato un servizio non attendibile, allora le applicazioni avvertono l’utente dell’eventuale pericolo. Per bypassare queste contromisure, i cybercriminali hanno iniziato ad eseguire attacchi di repackaging. Essi servono a modificare la porzione di codice dell’applicazione che ha il compito di individuare i servizi di accessibilità malevoli per far sì che questi servizi non vengano individuati.

Per impedire dunque che gli attacchi di repackaging vadano a segno, sono stati implementati all’interno delle app dei meccanismi di anti-tampering.
In aggiunta, sono state offuscate tutte le parti di codice che gli attaccanti cercano di modificare. Gli attaccanti, pertanto, hanno dovuto trovare ancora una volta un modo per eludere questi sistemi di sicurezza.

La caratteristica peculiare di Snowblind

Il metodo di attacco repackaging utilizzato da Snowblind è alquanto originale.
Esso sfrutta una funzionalità presente nel kernel del sistema operativo Linux denominato seccomp (abbreviazione di secure computing), implementato nei dispositivi Android a partire dalla versione 8.
Seccomp è un filtro di sicurezza che impedisce alle applicazioni di effettuare specifiche chiamate di sistema. Questo aiuta a ridurre la superficie di attacco del dispositivo in caso di minacce da parte di applicazioni malevole.
Snowblind, tuttavia, è in grado di sfruttare seccomp al fine di eludere il meccanismo di anti-tampering presente nell’applicazione installata.
Ciò significa impedire che si scopra che si sta cercando di effettuare un repackaging di una determinata applicazione.

In che modo Snowblind elude i sistemi anti-tampering

Di solito, un metodo molto utilizzato per individuare un tentativo di attacco repackaging è controllare i file APK presenti in memoria per capire se è stata eseguita un’operazione di tampering.

Per fare ciò è necessario aprire i file presenti nel disco di memoria del dispositivo e leggere il loro contenuto.
Tuttavia, se l’attaccante riesce a reindirizzare l’apertura dei file verso un’altra versione dell’applicazione non modificata, le misure di anti-tampering vengono bypassate.

I meccanismi di anti-tampering utilizzate dalle applicazioni, inoltre, vengono implementati all’interno di librerie native, le quali utilizzano le loro chiamate di sistema insieme a forti verifiche di offuscamento e integrità. Questo viene considerato il meccanismo di anti-tampering più difficile da violare.
Snowblind, tuttavia, è in grado di eluderlo senza problemi.

Le fasi dell’attacco sono le seguenti:

  • All’inizio, il malware, installa una seconda libreria nativa all’interno dell’applicazione bersagliata, la quale viene caricata prima che parta l’esecuzione del codice del meccanismo di anti-tampering.
  • La libreria aggiuntiva installa a sua volta un proprio filtro seccomp nel processo in cui viene caricato.
    Questo filtro abilita tutte le chiamate di sistema, ad eccezione della chiamata open() e di un paio di altre chiamate.
  • All’interno della chiamata open(), il filtro seccomp fa in modo che essa restituisca il valore SECCOMP_RET_TRAP. Questo valore fa interrompere al kernel la chiamata di sistema. Invece della sua esecuzione, viene generato un segnale SIGSYS.
  • Attraverso un apposito gestore per questo tipo di segnali installato direttamente da Snowblind, è possibile ispezionare e manipolare i registri del thread.
  • La manipolazione di questi registri consente di modificare l’argomento della chiamata open() in modo che punti ad un file che è la versione originale dell’app priva di modifiche.
  • Infine, viene eseguita la chiamata open() con l’argomento manipolato, senza che venga attivato il meccanismo di antimanomissione.

Inoltre, per accelerare l’operazione di attacco, il filtro seccomp inserito da Snowblind fa in modo che il kernel produca il segnale solo se la chiamata di sistema proviene dalla libreria che implementa il meccanismo di anti-tampering. È stato anche scoperto, infine, che il malware può perfino disabilitare l’autenticazione a due fattori e la verifica biometrica in modo da agire senza farsi individuare.
Essendo stato sviluppato come banking trojan, il principale obiettivo di Snowblind è quello di impossessarsi dei dati bancari della vittima per eseguire transazioni a sua insaputa.

In questo articolo abbiamo visto come Snowblind sia la testimonianza di un lavoro costante da parte dei cybercriminali nel neutralizzare con mezzi sempre più elaborati i sistemi di sicurezza implementati da programmi e applicazioni.
Abbiamo anche visto quanto sia pericolosa la strategia di attacco adottata dal malware. Infatti permette di filtrare, analizzare e manipolare qualsiasi chiamata di sistema. In aggiunta, Snowblind può anche filtrare le chiamate di sistema basandosi sulla provenienza della chiamata stessa o sugli argomenti che le vengono passati.

Si teme, perciò, che il modus operandi di Snowblind possa essere applicato anche in altri attacchi informatici. Questo può rappresentare un grave pericolo, in quanto quello utilizzata da Snowblind è un tipo di attacco ancora poco conosciuto, nonostante si sia iniziato a prendere provvedimenti per proteggere i dispositivi dal malware.
Infine, non si sa ancora con quale mezzo Snowblind si insinua nei dispositivi.
Generalmente, i malware per Android si nascondono all’interno di applicazioni scaricate da distributori non ufficiali, da link inoltrati tramite tecniche di social engineering o da pagine web sospette.

Dunque, quello che bisogna fare per evitare che il proprio smartphone o tablet Android possa essere infettato da un malware è scaricare applicazioni solamente da distributori autenticati, come il Google PlayStore, oppure il sito web ufficiale del software che si vuole installare. Si consiglia anche di tenere attivo il servizio Play Protect in modo da individuare più facilmente potenziali app dannose.
Il mondo Android è da anni nel mirino: lo dimostrano anche FluBot e Xenomorph.



    Dichiaro di aver letto e compreso l'Informativa sul trattamento dei dati