C'è un'app di gestione password per Android che sto considerando di utilizzare, che legge un formato di database per un popolare gestore di password desktop. C'è una parte di questa app che mi sta dando una pausa; Ho contattato l'autore per il problema, ma l'autore non sembra molto preoccupato al riguardo. Voglio essere sicuro di non essere solo paranoico.
Per utilizzare questa app, gli dai la password principale per il tuo database delle password. L'app crea una chiave in due parti combinando un PIN di 4 cifre con una chiave casuale a 256 bit memorizzata in cloud di Google dati delle applicazioni basati su . Questa chiave viene quindi utilizzata per crittografare la password principale localmente. Quando si utilizza l'app, si inserisce il PIN, l'app recupera la chiave basata su cloud e utilizza entrambi per decrittografare la password principale e sbloccare il database. Non ci sono altre opzioni per sbloccare il database. La chiave basata su cloud non viene mai memorizzata sul dispositivo, viene sempre utilizzata solo in memoria. La password principale crittografata è memorizzata solo sul dispositivo, non viene mai caricata nel cloud.
Sono disposto a dare l'autenticità del dubbio qui e presumo che la chiave sia generata in modo sicuro, e per il gusto di argomentare darò a Google il beneficio del dubbio e suppongo che questa unica app sia davvero l'unica festa a loro daranno mai i dati. Sì, so che questo potrebbe non essere un presupposto realistico, ma un Evil Google non è in cima alla mia lista di dubbi. Se queste ipotesi sono valide, finché il mio telefono è protetto, solo l'app sul mio telefono può accedere direttamente alla chiave cloud e quindi solo l'app sul mio telefono può decodificare la mia password principale.
Tuttavia, ho pensato a questo scenario:
- L'attaccante ruba il telefono.
- Oooh, guarda! Un database di password! Drat ... è bloccato!
- Telefono di root degli attaccanti.
- L'attaccante lancia l'app di gestione password.
- L'attaccante inserisce un singolo PIN a caso.
- L'app scarica la chiave basata su cloud.
- L'attaccante utilizza i privilegi di root acquisiti sopra, per scaricare la memoria di processo per l'app.
- L'attaccante legge la chiave basata sul cloud dal dump della memoria.
- Le brute-forze dell'attaccante bloccano le combinazioni di codice PIN / chiave cloud offline.
- Il database delle password è sbloccato in millisecondi o meno.
Ho ragione di preoccuparmi di questo attacco, o è in qualche modo non plausibile / prevenibile? In questo momento è l'unica cosa che mi impedisce di provare l'app. Non sono un bersaglio di alto valore o altro.
Una domanda successiva: Sto cercando di convincere l'autore ad aggiungere un'opzione NON per memorizzare la password principale , e piuttosto a chiederlo ogni volta che apro l'app. Supponendo che la password sia sicura (utilizzo una frase di 7 parole scelte a caso, con i dadi, da un dizionario cartaceo integrale), e supponendo che la password non sia mai memorizzata da nessuna parte, questo probabilmente manterrebbe le mie password al sicuro da un attaccante che ottiene il mio telefono?
So che l'accesso di root su un telefono può attaccare qualsiasi gestore di password in esecuzione e sbloccato , ma in tal caso, ho semplicemente bisogno di (a) non effettuare il root del mio telefono, (b) fare attenzione non installare malware e (c) bloccare attentamente il mio database dopo l'uso. Tuttavia, per questa app, non sembra esserci nulla che potrei fare per prevenire l'attacco a meno che non mi accorga immediatamente che il mio telefono è mancante e che elimini immediatamente la chiave basata su cloud.