Crittografia delle impostazioni / credenziali nelle app mobili - quali minacce protegge da questo?

3

Di recente ho decompilato app Android. In un campione di 37 app, 12 utilizzano una forma di crittografia / occultamento personalizzato per memorizzare le impostazioni e le credenziali sul dispositivo.

Per necessità, l'app stessa ha la chiave per crittografare e decifrare. Per 11 di queste app, la chiave / metodo è interamente codificata. Una delle app genera e archivia la chiave al primo avvio insieme ai dati crittografati.

La mia comprensione del sistema Android è che nessuna app dovrebbe essere in grado di accedere ai dati di un'altra app. Ciò impedirebbe ad altre app di leggere i dati.

Per tutti questi, il ripristino del metodo di crittografia / decrittografia è banale.

Di quali minacce protegge la crittografia in questo modo?

    
posta Cybergibbons 24.07.2015 - 16:32
fonte

1 risposta

3

Il problema con le chiavi hardcoded è che puoi trovarli (come hai fatto tu). Come hai affermato, la crittografia e la decrittografia dei dati sono banali. L'isolamento del processo di Android è solido (non perfetto), ma fornisce un buon grado di separazione tra le applicazioni.

Ci sono tre scenari in cui posso pensare che una minaccia possa trarne vantaggio.

  1. App Android dannosa con root
  2. compromissione fisica del telefono
  3. L'app ha accesso completo ai suoi dati

Ci sono molte app e 3 app r> che richiedono root per eseguire tutte delle sue funzionalità. Se il telefono è rootato e si scarica un'app dannosa, l'isolamento del processo non farà la differenza. I dati privati possono essere letti, decrittografati ed ex-filtrati.

Se il tuo telefono viene rubato, può succedere la stessa cosa. È possibile utilizzare un exploit per eseguire il root del telefono e scaricare i dati dell'app privata. Con le chiavi hardcoded i dati possono essere decodificati.

Questo non vuol dire che questo sia banale da eseguire. Il blocco del telefono (si spera) costringerà l'utente malintenzionato a collegare il telefono tramite USB. Non conosco le specifiche di tutti i metodi per ripristinare un telefono, ma credo che la maggior parte di essi rimuoverà tutti i dati utili dal telefono. Come utente Android paranoico eviterei di usare le app che conosco con chiavi hardcoded, ma se non fossi paranoico non mi interesserebbe molto. Il livello di sforzo per eseguire lo sfruttamento è piuttosto alto. Vogliono affrontare tutti questi problemi per vedere il mio punteggio Candy Crush ... cercalo 1 .

Il terzo scenario è probabilmente più preoccupante. Se utilizzano le chiavi hardcoded, ciò impedisce loro di inviare le informazioni sensibili (che potrebbero essere crittografate) al proprio server privato. Conoscono la chiave hardcoded, quindi possono solo decifrare i tuoi dati.

Il modello di minaccia qui dipende davvero dal tipo di dati che queste app stanno proteggendo. Se preferisci ricevere notifiche ... allora forse non ti interessa. Se si tratta di conversazioni private, contatti, messaggi, immagini, ecc., Questa sarebbe una minaccia più grande.

By necessity, the app itself has the key to encrypt and decrypt.

Non necessariamente. Esistono diversi modi in cui l'app è in grado di crittografare i dati privati in modo sicuro senza la necessità di una chiave hardcoded. L'app potrebbe richiedere una password utente che generi la chiave di crittografia o decrittografi una chiave privata che viene poi utilizzata per decrittografare i dati. Oppure le app potrebbero semplicemente utilizzare lo storage sicuro di Android poiché sai ... è fornito, documentato e facile.

1 Non sto cercando di dire che le chiavi hardcoded sono una buona idea o che non influenzano la sicurezza. Sto solo cercando di sottolineare che il livello di difficoltà di sfruttamento sarebbe alto.

    
risposta data 24.07.2015 - 17:01
fonte

Leggi altre domande sui tag