Misure più efficaci per la sicurezza di Android

Le modifiche alle modalità di crittografia dei dati possono aiutare gli sviluppatori a prevenire le fughe di dati e l’espropriazione.

Google sta apportando alcune modifiche ai suoi strumenti per gli sviluppatori di dispositivi mobili Android per aumentare la sicurezza dei loro prodotti, un annuncio sullo sfondo dei recenti problemi di sicurezza derivanti da scarse pratiche di sviluppo.

Le modifiche crittografiche di questa settimana per Android Keystore offrono agli sviluppatori più modi per prevenire l’esposizione involontaria di dati sensibili ad altre applicazioni o al sistema operativo e aiutano a tenere a bada l’estrazione dei dati.

Keystore fornisce agli sviluppatori di app una serie di strumenti crittografici con radici hardware progettati per proteggere i dati degli utenti con un sistema basato su chiavi. Gli sviluppatori possono utilizzare Keystore per definire quali “segreti” applicativi sono crittografati e in quale contesto possono essere sbloccati.

Con il rilascio di Android Pie, l’ultimo sistema operativo mobile di Google, gli sviluppatori hanno ora la possibilità di proteggere meglio le informazioni sensibili impedendo alle applicazioni di decriptare le chiavi se l’utente non utilizza il dispositivo.

Questo viene fatto attraverso l’implementazione di chiavi crittografiche “keyguard-bound”, che può essere fatto per qualsiasi algoritmo scelto dallo sviluppatore. La disponibilità di questo tipo di chiave per eseguire la decrittografia dei dati è legata direttamente allo stato di blocco dello schermo; quindi, le chiavi diventano indisponibili non appena il dispositivo è bloccato, e vengono rese nuovamente disponibili solo quando l’utente sblocca il dispositivo.

Ora, quando lo schermo è bloccato, queste chiavi possono essere utilizzate in operazioni di cifratura o verifica, ma non sono disponibili per la decifratura. Se il dispositivo è attualmente bloccato con un PIN, una sequenza o una password, qualsiasi tentativo di utilizzare queste chiavi si tradurrà in un’operazione non valida.

Un’altra nuova funzione denominata Secure Key Import protegge i dati sensibili dall’essere visti dall’applicazione o dal sistema operativo, un cambiamento tempestivo date le vulnerabilità di trasmissione del sistema segnalate all’inizio dell’autunno.

Da un punto di vista tecnico, quando un server remoto cripta una chiave sicura utilizzando una chiave pubblica dal dispositivo dell’utente, Secure Key Import consente anche di contenere una descrizione delle modalità di utilizzo della chiave importata e garantisce che una chiave possa essere decifrata solo nell’hardware di Keystore appartenente al dispositivo specifico che ha generato la chiave.

Poiché le chiavi sono crittografate in transito e rimangono oscure per l’applicazione e il sistema operativo, questo impedisce loro di essere intercettate o estratte dalla memoria e quindi utilizzate per rubare i dati.

Uno dei problemi principali per gli sviluppatori riguarda la comunicazione tra i processi. Mentre le applicazioni su Android sono solitamente separate dal sistema operativo l’una dall’altra e dal sistema operativo stesso, esistono ancora meccanismi per condividere le informazioni tra loro quando necessario. Uno di questi meccanismi è l’uso di ciò che Android chiama “intent”.

Un’applicazione o il sistema operativo stesso può inviare un messaggio di “intent”, che è trasmesso a livello di sistema e può essere ascoltato da altre applicazioni. Senza adeguate restrizioni di accesso e permessi messi in atto intorno a questi “intent”, è possibile per le applicazioni dannose intercettare informazioni alle quali non dovrebbe avere accesso. Questo problema di “rottura delle API” ha dimostrato di aprire la porta a una serie di attività dannose, tra cui il tracking della posizione e gli attacchi alla rete locale WiFi.

Un altro problema di cross-processo è stato rivelato al DEFCON ( Conferenza annuale che si svolge a Las Vegas su Hacking e sicurezza ), dove i ricercatori hanno dimostrato che gli sviluppatori Android che non seguono le linee guida di sicurezza per l’archiviazione esterna potrebbero consentire a un malintenzionato di corrompere i dati, rubare informazioni sensibili o addirittura prendere il controllo di un telefono cellulare.

Il meccanismo di archiviazione esterna di Android è condiviso in tutto il sistema operativo, perché è progettato per consentire alle applicazioni di trasferire dati da un’applicazione all’altra. Quindi, se un utente scatta una foto e poi la vuole inviare a qualcuno utilizzando un’applicazione di messaggistica, l’archiviazione esterna è la piattaforma che permette che questo accada.

Se gli sviluppatori non bloccano il tipo di dati che vanno all’archiviazione esterna, un malintenzionato potrebbe dirottare le comunicazioni tra le applicazioni privilegiate e la memoria del dispositivo, bypassando le protezioni della sandbox per accedere alle funzioni delle app e causare potenziali danni.

Autore dell'articolo: Federico

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *