Chiunque oggi possieda uno smartphone è abituato, con cadenza quasi giornaliera, ad aggiornare le proprie app. Di tanto in tanto scarichiamo e installiamo con molta facilità anche nuove app, per provarle e beneficiare di ulteriori funzionalità e servizi sul nostro dispositivo mobile. Probabilmente pochi però prestano particolare attenzione nella fase di installazione, preoccupandosi di verificare il tipo di autorizzazioni, e permessi di accesso alle risorse del device, che queste app richiedono per poter funzionare.
Quando su dispositivi Android si usa lo store Google Play, per ciascuna app, a seconda delle necessità, prima dell’installazione è possibile leggere i dettagli sulle autorizzazioni richieste: ad esempio, i permessi per accedere alle risorse di archiviazione, al calendario, ai contatti, alla fotocamera, al microfono, alla posizione, agli sms, al telefono. Come detto, in parte è normale per le app richiedere tali permessi, ma vi sono casi in cui alcune di esse, a scopi commerciali, pubblicitari o, ancor peggio, con intenti fraudolenti, possono richiedere autorizzazioni non realmente necessarie per il funzionamento.
Identificare le app sospette con la ‘peer group analysis’
Già in passato Google aveva avuto problemi con app malevole individuate all’interno di Google Play. Oggi, sulla base degli insegnamenti tratti da quelle esperienze, la casa di Mountain View usa l’apprendimento automatico delle macchine (machine learning), la tecnica ‘peer group analysis’, e Google Play Protect per migliorare la sicurezza e la privacy delle app. In particolare Google Play Protect è un sistema di protezione delle app che, pur lasciando all’utente il controllo di quel che vuole installare, lo affianca in maniera costante, eseguendo in automatico un continuo monitoraggio del dispositivo, ed effettuando giornalmente la scansione di miliardi di app.
Grazie all’adozione di queste tecniche, attualmente Google applica un approccio proattivo al problema della protezione, indirizzato a limitare la capacità degli hacker di pubblicare app che, una volta installate sul dispositivo dell’utente, possano raccogliere più informazioni di quelle lecite.
Come funziona l’analisi per gruppi di applicazioni simili
La tecnica utilizzata da Google si basa in sostanza sull’analisi dei segnali anomali di privacy e sicurezza per ogni applicazione presente all’interno di Google Play, che viene confrontata con altre che presentano caratteristiche simili e vengono definite ‘peer funzionali’ (functional peers).
La creazione di gruppi di peer, quindi di categorie, permette di stabilire dei limiti e d’individuare con maggior facilità le applicazioni che registrano o inviano dati sensibili senza averne una chiara necessità. Si può inoltre controllare se le nuove app che vengono caricate nello store denunciano anomalie rispetto alla linea base standard, che denota una normale attività in una determinata categoria. Ad esempio, non c’è ragione che una app con funzione di torcia elettrica debba accedere ai contatti dell’utente, alla fotocamera o al GPS del dispositivo, quindi tale app sarà catalogata dall’analisi di gruppi di peer come qualcosa al di fuori della norma. È invece normale che le app di mappatura e navigazione del territorio richiedano il permesso d’accesso alla posizione dell’utente e di uso del GPS.
Per ottenere gruppi di app ‘peer’ si può creare un insieme fisso di categorie, in cui far rientrare le diverse app: ad esempio, le categorie strumenti, produttività, giochi. Questo modello risulta però troppo rigido e generico per catalogare in modo adeguato il ricco parco di app esistenti, in rapida evoluzione, e non è nemmeno una classificazione amministrabile in modalità manuale, sia per la velocità necessaria, sia per i possibili errori. Per risolvere questo problema, Google ha quindi sviluppato un algoritmo di machine learning che esegue il raggruppamento (clustering) delle applicazioni mobili con funzionalità simili.
Questo approccio usa tecniche di deep learning che, anche sfruttando i metadati di ciascuna app, sono in grado di identificare gruppi di applicazioni simili. Mettendo poi in relazione i diversi gruppi di peer e le deviazioni rispetto agli standard di sicurezza, Google arriva a determinare quali app promuovere sullo store, e quali invece studiare più in profondità, per sondarne gli aspetti di protezione e privacy dei dati.
Criteri di rafforzamento della security nelle app
Il machine learning è certamente un potente strumento per migliorare l’affidabilità e la sicurezza delle app che vengono scaricate dagli store online, ma è anche vero che, per fare ancora meglio le cose e innalzare ulteriormente la sicurezza, si possono adottare ulteriori misure. Ad esempio, fare in modo che le app debbano soddisfare determinati standard, prima di consentire la loro pubblicazione online. Alcuni di questi standard potrebbero ad esempio includere linee guida come quelle del NIST (National Institute of Standards and Technology) in materia di cybersecurity, o quelle dell’iniziativa OWASP Mobile Security Project, che mira a classificare i rischi di sicurezza in mobilità e a fornire agli sviluppatori e ai team di lavoro nel settore le risorse necessarie per costruire e manutenere applicazioni mobili sicure.
Ancora, si potrebbe stabilire che, prima di essere immesse online, tutte le app utilizzate in Unione europea, e non solo, soddisfino i requisiti del regolamento GDPR; oppure che quelle che gestiscono informazioni correlate alla salute dell’individuo siano verificate per accertare la conformità alle normative e agli standard di protezione e privacy vigenti in materia. Questo non sarebbe un meccanismo semplice da mettere in atto, in quanto, le app dovrebbero dimostrare requisiti di conformità in diversi ambiti e con diversi quadri di valutazione. Tuttavia questo metodo potrebbe contribuire a innalzare la qualità delle app che si caricano negli store online, e che il machine learning ha poi il compito di analizzare.