Per capire il problema DOI più a fondo, il team di Android Security mette in correlazione i tentativi di installazione di un’app con i dispositivi DOI per trovare le applicazioni che possono danneggiare i dispositivi al fine di proteggere gli utenti. In un banale esempio, se su dieci installazioni di un’app questa diventa un’app DOI perchè dopo la sua installazione il software di verifica viene bloccato su nove dispositivi, l’app è da considerarsi pericolosa. Con questi fattori in mente, il team prende in considerazione anche i dispositivi ‘retention’. Un dispositivo viene considerato ‘trattenuto’ se continua a svolgere periodiche scansioni tramite l’app di Verifica dopo il download di un’app, quindi se ‘Verify apps’ continua a funzionare e non è stata fermata. Se la funzione di verifica non si attiva dopo il download di un’app, il device è considerato potenzialmente morto o insicuro (DOI). A questo punto entra in gioco anche il "tasso di retention di un’applicazione" che è la percentuale di tutti i dispositivi su cui l’app di verifica funziona ancora considerando le installazioni in un solo giorno. Poiché il numero di dispositivi ‘retention’ è un forte indicatore dello stato di salute di un dispositivo, il tam lavora per massimizzare i tassi di retention nell’ecosistema.
Google a questo punto utilizza un punteggio per identificare le applicazioni DOI sulla base del presupposto che tutte le applicazioni dovrebbero avere un tasso di retention simile. Se il tasso è inferiore rispetto alla media di alcuni punti, viene contrassegnato come DOI. Un modo per calcolare il punteggio e verificare se un’app rientra nella media è chiamato Z-score. L’equazione per ottenere lo Z-score è la seguente, dove "N" è il numero di dispositivi che hanno scaricato l’applicazione, "x" è il "numero di dispositivi trattenuti che hanno scaricato l’applicazione, e "p" è la Probabilità di un dispositivo di scaricare qualsiasi applicazione che potrà essere trattenuta. Z rappresenta il punteggio DOI.
Equazione per ottenere lo Z-score
Se lo Z-score o il punteggio DOI scende al di sotto -3.7, significa che su un gran numero di telefoni o tablet è stata fermata l’app di verifica nel momento in cui è stata installata un’app. Google poi controlla più attentamente per stabilire se l’app è veramente dannosa prima di invitare l’utente ad eliminarla e prevenire futuri download togliendola dallo store.
L’azienda dice che questo metodo ha permesso al team di sicurezza di trovare un sacco di applicazioni caricate con il malware Hummingbad scoperto nell’estate del 2016.
Differenza tra app regolare e app DOI scaricata sullo stesso device
Google per evitare l’inserimento di applicazioni e giochi nel suo Play Store per Android sappiamo che effettua dei controlli, ed in passato qualche software è riuscito ad eludere i controlli e ad essere scaricato dagli utenti che hanno poi scoperto contenere del codice malevolo. Anche se un’app supera i controlli preliminari per l’inserimento nel Play Store, Google continua ad esaminare il suo comportamento dopo che è stata scaricata e installata sul dispositivo dell’utente. Vi siete mai chiesti come, piu’ nel dettaglio, funziona il metodo di verifica delle app di Android? Come avviene la scansione di un software da parte dei sistemi di Google per controllare che non vi siano malware al suo interno? In un post sul blog degli sviluppatori Android la società lo ha spiegato. E’ un sistema abbastanza complicato, ma proviamo a spiegarvelo.
"In Android Security siamo costantemente al lavoro per capire meglio come rendere i dispositivi Android operativi in modo più efficiente e sicuro" si legge nel blog. Una soluzione di sicurezza in dotazione su tutti i dispositivi con Google Play è ‘Verify apps’, un’app che verifica le applicazioni installate sul device e controlla se ci sono potenzialmente app dannose sul dispositivo, le quali vengono chiamate PHA. Se viene trovata una PHA (quindi una app dannosa), l’app avvisa l’utente e gli consente di disinstallarla.
Dal momento che alcune applicazioni dannose possono impedire allo strumento di analisi di Google di lavorare come dovrebbe, l’azienda ha dovuto trovare un modo alternativo per capire se un telefono ha smesso di usare l’app di Verifica delle app perché non più utilizzato o se la colpa è di un pericoloso malware che si nasconde nel dispositivo.
Quando un dispositivo ferma l’app di Verifica viene considerato "morto o insicuro" (Dead or Insecure, o DOI). Un’applicazione associata ad una percentuale abbastanza elevata di dispositivi DOI è considerata una applicazione DOI. Google utilizza la metrica DOI, insieme con altri sistemi di sicurezza, per aiutare a determinare se un’app è una app dannosa (PHA) per proteggere gli utenti Android. Inoltre, quando si scopre una vulnerabilità, Google si impegna a distribuire patch di sicurezza tramite il suo sistema di aggiornamento della protezione.