Sommario:
- Una nuova svolta a un vecchio approccio
- Anomaly Detection
- Contenimento del malware
- Risultati del test
- Vantaggi del PREC
- La sfida
I mercati delle applicazioni Android sono un modo conveniente per gli utenti di ottenere app. I mercati sono anche un modo conveniente per i malintenzionati di distribuire malware. I proprietari del mercato, a loro merito, cercano di annusare le app dannose utilizzando misure di sicurezza come Google Bouncer. Purtroppo, la maggior parte - incluso Bouncer - non è all'altezza del compito. I cattivi quasi immediatamente hanno capito come dire quando Bouncer, un ambiente di emulazione, stava testando il loro codice. In una precedente intervista, Jon Oberheide, co-fondatore di Duo Security e la persona che ha notificato il problema a Google, ha spiegato:
"Per rendere efficace Bouncer, deve essere indistinguibile dal dispositivo mobile di un utente reale. Altrimenti, un'applicazione dannosa sarà in grado di determinare che è in esecuzione con Bouncer e non eseguire il suo payload dannoso."
Un altro modo in cui i cattivi pazzi di Bouncer è usare una bomba logica. Nel corso della loro storia, le bombe logiche hanno devastato i dispositivi informatici. In questo caso, il codice della bomba logica elimina silenziosamente i controllori del malware, proprio come l'incapacità di Bouncer di attivare il payload fino a quando l'app dannosa non viene installata su un dispositivo mobile reale.
La linea di fondo è che i mercati di app Android, a meno che non diventino efficienti nel rilevare payload di malware nelle app, sono, di fatto, un importante sistema di distribuzione per malware.
Una nuova svolta a un vecchio approccio
Il team di ricerca della North Carolina State University di Tsung-Hsuan Ho, Daniel Dean, Xiaohui Gu e William Enck potrebbe aver trovato una soluzione. Nel loro documento PREC: Practical Root Exploit Contenimento per dispositivi Android, il team di ricerca ha introdotto la versione di uno schema di rilevamento delle anomalie. PREC è costituito da due componenti: uno che funziona con il rilevatore di malware dell'app store e uno che viene scaricato con l'applicazione sul dispositivo mobile.
Il componente dell'app store è unico in quanto utilizza ciò che i ricercatori chiamano "monitoraggio delle chiamate di sistema classificate". Questo approccio può identificare in modo dinamico le chiamate di sistema da componenti ad alto rischio come librerie di terze parti (quelle non incluse nel sistema Android, ma fornite con l'applicazione scaricata). La logica qui è che molte app dannose usano le proprie librerie.
Le chiamate di sistema dal codice di terze parti ad alto rischio ottenuto da questo monitoraggio, oltre ai dati ottenuti dal processo di rilevamento dell'app-store, consentono a PREC di creare un modello di comportamento normale. Il modello viene caricato nel servizio PREC, rispetto ai modelli esistenti per precisione, sovraccarico e robustezza per gli attacchi di mimetismo.
Il modello aggiornato è quindi pronto per essere scaricato con l'applicazione ogni volta che l'app viene richiesta da qualcuno che visita l'app store.
Questa è considerata la fase di monitoraggio. Una volta che il modello PREC e l'applicazione sono stati scaricati sul dispositivo Android, il PREC entra nella fase di imposizione - in altre parole, rilevamento delle anomalie e contenimento del malware.
Anomaly Detection
Una volta che l'app e il modello PREC sono integrati sul dispositivo Android, PREC monitora il codice di terze parti, in particolare le chiamate di sistema. Se la sequenza delle chiamate di sistema è diversa da quella monitorata nell'app store, il PREC determina la probabilità che il comportamento anomalo sia un exploit. Quando il PREC determina che l'attività è dannosa, passa alla modalità di contenimento del malware.Contenimento del malware
Se compreso correttamente, il contenimento del malware rende PREC unico quando si tratta di anti-malware Android. A causa della natura del sistema operativo Android, le applicazioni anti-malware Android non sono in grado di rimuovere malware o metterlo in quarantena perché ogni applicazione risiede in una sandbox. Ciò significa che l'utente deve rimuovere manualmente l'app dannosa individuando prima il malware nella sezione Applicazione del Gestore di sistema del dispositivo, quindi aprendo la pagina delle statistiche dell'app malware e toccando "disinstalla".
Ciò che rende unico il PREC è ciò che i ricercatori definiscono un "meccanismo di contenimento a grana fine basato sul ritardo". L'idea generale è quella di rallentare le chiamate di sistema sospette utilizzando un pool di thread separati. Questo costringe l'exploit al timeout., Risultante in uno stato di "Applicazione non rispondente" in cui l'app viene infine chiusa dal sistema operativo Android.
Il PREC potrebbe essere programmato per interrompere i thread delle chiamate di sistema, ma potrebbe interrompere le normali operazioni dell'applicazione se il rilevatore di anomalie commette un errore. Piuttosto che rischiare, i ricercatori inseriscono un ritardo durante l'esecuzione del thread.
"I nostri esperimenti dimostrano che la maggior parte degli exploit di root diventano inefficaci dopo aver rallentato il thread nativo dannoso fino a un certo punto. L'approccio basato sul ritardo può gestire i falsi allarmi in modo più armonioso poiché l'applicazione benigna non subirà arresti anomali o terminazioni a causa di falsi transitori allarmi ", spiega il documento.
Risultati del test
Per valutare il PREC, i ricercatori hanno costruito un prototipo e lo hanno testato su 140 app (80 con codice nativo e 60 senza codice nativo) - più 10 app (quattro applicazioni di exploit root conosciute dal progetto Malware Genome e sei applicazioni di exploit root riconfezionate) - che conteneva malware. Il malware includeva versioni di DroidDream, DroidKungFu, GingerMaster, RATC, ZimperLich e GingerBreak.
I risultati:
- Il PREC ha rilevato e arrestato con successo tutti gli exploit root testati.
- Ha generato zero falsi allarmi sulle applicazioni benigne senza codice nativo. (Gli schemi tradizionali generano falsi allarmi del 67-92% per app.)
- Il PREC ha ridotto il tasso di falsi allarmi sulle applicazioni benigne con codice nativo di più di un ordine di grandezza rispetto agli algoritmi di rilevamento anomalie tradizionali
Vantaggi del PREC
Oltre a comportarsi bene nei test e ad inoltrare un metodo praticabile per contenere malware Android, il PREC aveva numeri decisamente migliori quando si trattava di falsi positivi e perdita di prestazioni. Per quanto riguarda le prestazioni, il documento afferma che "lo schema di monitoraggio classificato del PREC impone un sovraccarico inferiore all'1% e l'algoritmo di rilevamento delle anomalie SOM impone un sovraccarico fino al 2%. Nel complesso, il PREC è leggero, il che lo rende pratico per i dispositivi smartphone".
Gli attuali sistemi di rilevamento malware utilizzati dagli app store sono inefficaci. Il PREC offre un alto grado di accuratezza del rilevamento, una bassa percentuale di falsi allarmi e contenimento del malware, cosa che attualmente non esiste.
La sfida
La chiave per far funzionare PREC è il buy-in dai marketplace delle app. Si tratta solo di creare un database che descriva come funziona normalmente un'applicazione. Il PREC è uno strumento che può essere utilizzato per raggiungere questo obiettivo. Quindi, quando un utente scarica un'applicazione desiderata, le informazioni sulle prestazioni (profilo PREC) vanno con l'app e verranno utilizzate per basare il comportamento dell'app mentre è installata sul dispositivo Android.