Come eliminare un file specifico in Android in modo che non possa essere recuperato?


9

Dalla mia esperienza, un file cancellato da un filesystem di un computer può spesso essere recuperato a meno che non venga sovrascritto con un programma speciale (che di solito si chiama "shredding").

Uno smartphone HTC basato su Android è diverso? Come è possibile eliminare un file specifico da tale smartphone in modo che il file non possa essere recuperato?


Stai cercando solo opzioni ospitate sul telefono o accetteresti suggerimenti sull'eliminazione del file quando il telefono è collegato come unità disco?
Bernhard Hofmann,

@ Bernhard Hofmann: Beh, se il collegamento come unità rende tale azione più semplice, è molto meglio di niente.
sharptooth,

Risposte:


8

Purtroppo non è così facile.

Poiché non esiste un'API per l'eliminazione sicura dei file, per ottenere l' accesso a livello di blocco al dispositivo di archiviazione è necessario il root per "app di eliminazione sicura" . Solo l'accesso ai blocchi del file eliminato alla fine consente a un'app di sovrascrivere gli avanzi del file con dati casuali. Alla fine, perché il dispositivo di archiviazione flash potrebbe eseguire il livellamento dell'usura . In tal caso, il blocco # 42 non sarebbe sempre lo stesso blocco fisico, il che rende inefficaci le chiamate di sistema.

Penso che sia per questo che non esiste ancora una soluzione di eliminazione sicura per Android. Almeno non sono riuscito a trovarne uno su XDA .


Un programma potrebbe forse aprire un file esistente, sovrascriverlo tutto con il cestino, chiudere il file ed eliminarlo?
sharptooth,

Si potrebbe programmare questo. Ma sarà inutile, perché non è garantito che la sovrascrittura avverrà sugli stessi blocchi fisici dei dati esistenti.
Flusso

1
Vuoi dire che il filesystem o qualche altra entità trasferirà in modo trasparente i nuovi dati scritti in una nuova posizione e contrassegnerà la posizione precedentemente occupata libera?
sharptooth,

1
Sì, è la scelta del sistema operativo in cui desidera scrivere nuovi dati per vari motivi (frammentazione, ecc.) E ciò che quasi tutti i sistemi operativi moderni fanno. Anche in caso contrario, c'è ancora lo strato in cui potrebbe verificarsi il livellamento dell'usura.
Flusso

3

Una soluzione semplice sarebbe quella di eliminare il file, quindi riempire la memoria con qualsiasi altro dato in modo che lo spazio precedentemente posseduto dal file eliminato venga sicuramente sovrascritto.

Una volta riempita la memoria, i file utilizzati per il riempimento possono essere rimossi, rilasciando nuovamente lo spazio: solo ora i tentativi di recupero troveranno solo il file di riempimento, non il file originale eliminato.

Si noti che questo è destinato solo a combattere semplici strumenti di recupero della casa come testdisk. In teoria potrebbero esserci ancora modi per recuperare almeno parti, o addirittura l'intero file originale, tuttavia richiederebbero alcuni sofisticati metodi di analisi di fascia alta. Un esempio di tale metodo sarebbe quello di analizzare se alcuni dei dati sono conservati a causa del livellamento dell'usura del flash . Tuttavia, ciò non è facile e AFAIK richiederebbe di collegare la scheda di memoria a un dispositivo lettore personalizzato di qualche tipo e potrebbe anche richiedere di smontare il dispositivo di memoria.


Indossare il livellamento sulla maggior parte dei supporti Flash non garantirà sempre che la sovrascrittura del file scriva sulla stessa posizione fisica nella memoria. en.wikipedia.org/wiki/Wear_leveling
Chahk,

@Chahk, Sì, sono d'accordo, ecco perché ho incluso la dichiarazione di non responsabilità "Metodi sofisticati". Il punto è che è banale recuperare un file normalmente cancellato usando strumenti domestici come testdisk. Se ci sono alcuni strumenti domestici facili da usare per recuperare i contenuti risparmiati a causa del livellamento dell'usura, non ne ho mai sentito parlare. Si noti che non ho mai detto che questa inondazione di dati sarebbe un metodo assoluto , ma molto probabilmente qualcosa di abbastanza forte per le esigenze del richiedente.
Ilari Kajaste,

Ho aggiunto ulteriori dettagli al disclaimer per migliorare la mia risposta, e ora menziono l'analisi del livellamento dell'usura del flash come esempio di un possibile vettore di attacco rimanente.
Ilari Kajaste,

1

Se si collega il dispositivo come unità disco, è possibile utilizzare un'utilità come sdelete su Windows per eliminare in modo sicuro i file. http://technet.microsoft.com/en-us/sysinternals/bb897443

Dalla pagina Web: "SDelete implementa il Dipartimento della Difesa eliminando e disinfettando lo standard DOD 5220.22-M, per darti la sicurezza che, una volta eliminati con SDelete, i tuoi dati dei file siano andati per sempre."


Aiuterà contro il livellamento dell'usura menzionato in questa risposta android.stackexchange.com/questions/14739/… ?
sharptooth,

In tutta onestà, non ne ho idea. Non so nemmeno se ci sono dispositivi Android che implementano il livellamento dell'usura. Dal momento che sovrascrive i settori originali, mi aspetto che non venga influenzato dal livellamento dell'usura.
Bernhard Hofmann,

Bene, se il livello di usura è compromesso, questo programma è interessato: non fa magia, apre semplicemente il file per la scrittura (come farebbe qualsiasi altro programma) e scrive immondizia lì, quindi chiude il file. Se il livellamento dell'usura non è possibile, il programma non può saperlo: utilizza le solite primitive del sistema operativo.
sharptooth,

Mi chiedo se l'uso dell'opzione clean alcune volte fornirebbe protezione contro il livellamento dell'usura. Poiché è al di fuori del nostro controllo, la pulizia dello spazio libero alcune volte dovrebbe "trovare" i settori liberati e cancellarli.
Bernhard Hofmann,

Forse, ma suppongo che ci vorrebbe molto tempo.
sharptooth,

1

Se il file si trova su una sdcard, è possibile inserire la sdcard nel lettore di schede del notebook e utilizzarla srm, sdeleteo qualunque cosa si usi abitualmente sul desktop per l'eliminazione sicura dei file.

Se il file si trova nella memoria interna, probabilmente l'unico modo affidabile per eliminarne completamente qualsiasi traccia (e tutto il resto sul telefono) sarebbe abilitare la crittografia completa del telefono in Impostazioni> Sicurezza, attendere fino a quando tutto è crittografato (circa un'ora ), quindi ripristinare le impostazioni di fabbrica.

Ci sono anche app nel Play Store che presumibilmente possono cancellare lo spazio libero con algoritmi di livello DoD, ma non ho idea di quanto siano bravi o di come funzionano.

E a proposito, tieni presente che la memoria flash ha un numero limitato di cicli di lettura / scrittura, quindi eseguire queste app troppo spesso può potenzialmente ridurre la durata del chip di memoria.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.