Como excluir um arquivo específico no Android para que ele não possa ser recuperado?


9

De acordo com minha experiência, um arquivo excluído de um sistema de arquivos de computador geralmente pode ser recuperado, a menos que seja sobrescrito por um programa especial (geralmente chamado de "destruição").

Um smartphone HTC baseado no Android é diferente? Como um arquivo específico pode ser excluído desse smartphone para que o arquivo não possa ser recuperado?


Você está procurando apenas opções hospedadas pelo telefone ou aceita sugestões sobre a exclusão do arquivo quando o telefone está conectado como uma unidade de disco?
Bernhard Hofmann

@ Bernhard Hofmann: Bem, se a conexão como unidade facilita essa ação - é muito melhor que nada.
Sharptooth 19/10/11

Respostas:


8

Infelizmente, isso não é tão fácil.

Como não existe uma API para a exclusão segura de arquivos, seria necessário o root para o "aplicativo de exclusão segura" para obter acesso em nível de bloco ao dispositivo de armazenamento. Apenas o acesso aos blocos do arquivo excluído , eventualmente, permite que um aplicativo para substituir as sobras do arquivo com dados aleatórios. Eventualmente, porque o dispositivo de armazenamento flash pode executar o nivelamento do desgaste . Se for esse o caso, o bloco 42 não seria sempre o mesmo bloco físico, o que torna as chamadas do sistema ineficazes.

Eu acho que é por isso que ainda não existe uma solução de exclusão segura para o Android. Pelo menos não consegui encontrar um no XDA .


Um programa poderia abrir um arquivo existente, substituir tudo com lixo, fechar o arquivo e excluí-lo?
Sharptooth 19/10/11

Você poderia programar isso. Mas será inútil, porque não é garantido que a substituição ocorrerá nos mesmos blocos físicos que os dados existentes.
Flow

11
Você quer dizer que o sistema de arquivos ou alguma outra entidade realocará de forma transparente os novos dados gravados em um novo local e marcará o local ocupado anteriormente como livre?
Sharptooth 19/10/11

11
Sim, é a escolha do sistema operacional em que ele deseja gravar novos dados por vários motivos (fragmentação etc.) e o que quase todo sistema operacional moderno faz isso. Mesmo se não houver, ainda existe a camada em que o nivelamento de desgaste pode ocorrer.
Flow

3

Uma solução simples seria excluir o arquivo e preencher a memória com outros dados, para que o espaço anteriormente pertencente ao arquivo excluído seja substituído.

Depois que a memória é preenchida, os arquivos usados ​​para o preenchimento podem ser removidos, liberando espaço novamente - somente agora as tentativas de recuperação encontrarão apenas o arquivo de preenchimento, não o arquivo excluído original.

Observe que isso se destina apenas ao combate a ferramentas simples de recuperação doméstica como testdisk. Em teoria, ainda pode haver maneiras de recuperar pelo menos partes ou mesmo todo o arquivo original - no entanto, eles exigiriam alguns métodos sofisticados de análise de ponta. Um exemplo desse método seria analisar se alguns dos dados são preservados devido ao nivelamento do desgaste do flash . No entanto, isso não é fácil, e o AFAIK exigiria a conexão do cartão de memória a um dispositivo de leitor personalizado de algum tipo e pode até exigir a desmontagem do dispositivo de memória.


O nivelamento de desgaste na maioria das mídias Flash nem sempre garante que a substituição do arquivo seja gravada no mesmo local físico da memória. pt.wikipedia.org/wiki/Wear_leveling
Chahk 19/10/11

@ Chahk, Sim, eu concordo, foi por isso que incluí o aviso de "métodos sofisticados". O ponto é que é trivial recuperar um arquivo normalmente excluído usando ferramentas domésticas como testdisk. Se existem algumas ferramentas domésticas fáceis de usar para recuperar o conteúdo poupado por causa do nivelamento do desgaste por flah, nunca ouvi falar delas. Note que eu nunca disse que essa inundação de dados seria um método absoluto , mas provavelmente algo forte o suficiente para as necessidades do solicitante.
Ilari Kajaste 19/10/11

Adicionei mais detalhes ao aviso para melhorar minha resposta e agora mencionei a análise do nível de desgaste do flash como um exemplo de um possível vetor de ataque restante.
Ilari Kajaste 19/10/11

1

Se você conectar o dispositivo como uma unidade de disco, poderá usar um utilitário como sdelete no Windows para excluir arquivos com segurança. http://technet.microsoft.com/en-us/sysinternals/bb897443

Na página da Web: "O SDelete implementa o padrão de limpeza e higienização do Departamento de Defesa DOD 5220.22-M, para dar a você a confiança de que, uma vez excluídos com o SDelete, seus dados de arquivo desaparecem para sempre".


Isso ajudará a evitar o nivelamento de desgaste mencionado nesta resposta android.stackexchange.com/questions/14739/… ?
Sharptooth # 24/11

Com toda a honestidade, não faço ideia. Nem sei se existem dispositivos Android que implementam o nivelamento de desgaste. Como ele substitui os setores originais, eu esperaria que isso não fosse afetado pelo nivelamento de desgaste.
Bernhard Hofmann

Bem, se houver um desgaste no nivelamento, este programa é afetado - não faz mágica, apenas abre o arquivo para gravação (como qualquer outro programa faria) e grava lixo lá, depois fecha o arquivo. Se houver um nivelamento de desgaste, o programa não pode saber - ele usa as primitivas usuais do sistema operacional.
Sharptooth # 25/11

Gostaria de saber se o uso da opção de limpeza algumas vezes forneceria proteção contra o nivelamento do desgaste. Como está além do nosso controle, limpar o espaço livre algumas vezes deve "encontrar" os setores liberados e apagá-los.
Bernhard Hofmann

Talvez, mas suponho que levaria muito tempo.
Sharptooth 28/10/11

1

Se o arquivo estiver em um sdcard então você poderia inserir o sdcard em seu leitor portátil de cartão e uso srm, sdeleteou o que você costuma usar em seu desktop para exclusão segura de arquivos.

Se o arquivo estiver na memória interna, provavelmente a única maneira confiável de excluir completamente qualquer vestígio dele (e tudo o mais no telefone) seria habilitar a criptografia completa do telefone em Configurações> Segurança, aguarde até que tudo esteja criptografado (cerca de uma hora ) e faça uma redefinição de fábrica.

Também existem aplicativos na loja de jogos que supostamente podem limpar o espaço livre com algoritmos de nível de DoD, mas não tenho idéia de como eles são bons ou como funcionam.

Por outro lado, lembre-se de que a memória flash possui um número limitado de ciclos de leitura e gravação, portanto, a execução desses aplicativos com muita frequência pode reduzir potencialmente a vida útil do chip de memória.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.