Procedura "Encrypt and wipe" su Android Lollipop?

11

So che molte persone stanno sostenendo una procedura di "criptazione e cancellazione" per la vendita di telefoni Android usati. Ma secondo il sito web AOSP, in Android 5.x Lollipop:

Created fast encryption, which only encrypts used blocks on the data partition to avoid first boot taking a long time.

Più specificamente, quando Lollipop crittografa un dispositivo precedentemente non criptato:

To enable inplace encryption, vold starts a loop to read each sector of the real block device and then write it to the crypto block device. vold checks to see if a sector is in use before reading and writing it, which makes encryption much faster on a new device that has little to no data.

In altre parole, Google ha fatto una scelta inquietante per crittografare solo qualsiasi spazio contrassegnato come "usato" nella memoria, non nessuno spazio libero, che potrebbe benissimo includere informazioni non crittografate cancellate prima di crittografia. A meno che non mi sbagli, questo è un enorme rischio per la sicurezza, rende la procedura "encrypt and wipe" nient'altro che un inutile placebo e rende la distruzione fisica l'unico modo per proteggere ragionevolmente un dispositivo Android Lollipop non crittografato.

Questa valutazione del sistema di crittografia di Lollipop è accurata?

Esiste un metodo per forzare Lollipop a utilizzare la crittografia a disco intero invece delle sciocchezze "crittografia veloce"?

    
posta Desmond 03.08.2015 - 19:20
fonte

2 risposte

3

Stai commettendo l'errore comune di porre la domanda sbagliata: "questo sistema è sicuro?" invece di "questo sistema è sicuro in questo scenario ?".

La scelta di Google di non crittografare lo spazio inutilizzato ha perfettamente senso nello scenario di utilizzo tipico in cui un utente decide di crittografare i propri dati e tutti i loro dati attuali e futuri sono crittografati. La scelta di non crittografare lo spazio inutilizzato ha un impatto minimo sulla sicurezza in questo scenario: su un dispositivo giovane, rivela quanto spazio è stato utilizzato. Alla fine, quando i blocchi vengono allocati e liberati, tutti i blocchi finiranno per essere crittografati, rendendo impossibile sapere quali sono attualmente in uso e quali sono semplicemente in uso in precedenza.

I dati che sono stati memorizzati sul dispositivo ma non sono più accessibili non sono crittografati da questa procedura. Questo è un progetto ragionevole, poiché si tratta di una funzione di crittografia, non di una funzione di cancellazione.

È ancora possibile sfruttare la funzione di crittografia per rendere una funzione di cancellazione prima attivando la crittografia, quindi riempiendo la partizione con i dati, tutti i dati. Ad esempio, se hai accesso alla shell di root, cat /dev/zero >/data/zero && cat /dev/zero >/cache/zero && rm /data/zero /cache/zero dopo aver attivato la crittografia cancella lo spazio libero sulle partizioni contenenti /data e /cache . Consulta i tuoi esperti Android preferiti su come eseguire questa operazione senza l'accesso root.

Nota che anche il pre-Lollipop, chiamando la procedura che descrivi "encrypt and wipe" è un termine improprio. Se ci fosse un vero wipe, la crittografia non sarebbe stata utile, i dati sarebbero andati comunque via. È davvero "criptare e resettare", dove il reset rende i dati inaccessibili con mezzi normali, ma non cancellati.

    
risposta data 04.08.2015 - 01:43
fonte
1

La crittografia sul posto di Android funziona molto bene per i file nuovi ed esistenti, ma il fatto che non cancelli lo spazio libero deve essere tenuto presente. Nota che anche se ha fatto una crittografia "full-disk" come dici tu, dove dichiara l'intera partizione come "crittografata", non aiuta, perché non sovrascriverebbe anche tutti i blocchi.

La maggior parte delle guide che ho visto includono i passaggi aggiuntivi 3. "configura nuovamente la crittografia, quindi riempi grandi dati finché non viene raggiunto il limite" e 4. "cancella di nuovo", 1. encrypt, 2. wipe. Il terzo passaggio riempirà e sovrascriverà la memoria libera della partizione /data .

Anche questi due passaggi non sovrascrivono tutto, poiché alcuni dati possono ancora rimanere nello spazio riservato, che tune2fs -l riporta come "Conteggio blocchi riservati", ma questo valore è solitamente impostato su 0 per i dispositivi Android (almeno il mio lo segnala in questo modo) e altre aree riservate al file system. L'unico modo per essere veramente sicuri che tutti i dati siano eliminati, è smontare la partizione / data (ad esempio quando il dispositivo è in modalità di ripristino) e cancellare l'intero file del dispositivo, quindi creare un nuovo file system ext4, se destinato a essere venduto.

Inoltre, tieni presente che un passaggio di crittografia 1. non è necessario, puoi riformattare direttamente l'unità, crittografare, riempire e cancellare.

    
risposta data 04.08.2015 - 02:55
fonte

Leggi altre domande sui tag