Tornando arquivos irrecuperáveis
terça-feira, 1 de abril de 2008Em dias onde a segurança da informação deixou de ser importante para se tornar vital, temos vários aplicativos que prometem apagar completamente os dados do disco, preenchendo os espaços com zeros. O que muita gente não sabe é que esses arquivos podem sim ser recuperados, apesar de não ser um trabalho para qualquer curioso.
Então como fazer para garantir que um arquivo se tornará totalmente irrecuperavel?
Como para tudo no linux existe uma solução, temos o comando shred
O Shred é uma eficiente ferramente de destruição de arquivos, que trabalha com base no device /dev/random, gerando combinações aleatórias de caracteres dentro dos arquivos alvo, não bastando, ele repete esse mesmo processo 25 vezes em cada arquivo. Desta forma, se um arquivo deletado for recuperado, ainda sim seus dados foram internamente destruidos, tornando a reestruturação da informação impossível.
Para usar o shred é muito simples:
shred
Para testar, crie um arquivo teste1 e digite algo dentro. Execute shred teste1 e abra novamente o arquivo teste1 e veja o resultado.
Para tornar as coisas mais interessantes, podemos definir alguns parâmetros extras, como
-f Forçar escrita sobre arquivos marcados como somente leitura
-n Por padrão, o shred escreve 25 vezes sobre um arquivo. Este parâmetro lhe permite definir um valor maior ou menor. Lembrando que quanto maior o valor maior o tempo gasto
-z Sobrescre o arquivo com zeros na ultima sobrescrição ao invés de caracteres aleatóreos, visando dificultar a detecção do shred, ao abrir o arquivo será apresentada uma sequencia de @^
-u Após sobrescrever o arquivo, trunca o arquivo e em seguida, o remove.
Possivelmente você deve ter pensado em idéias mirabolantes para destruir um sistema inteiro usando shred. Vou passar uma linha de comando que pode causar um belo estrago.
find / -iname “*” -exec shred -z -f { } \;
Isso vai causar um grande estrago no sistema, logo não use no seu computador, no computador do amigo e nem de ninguem. Use apenas para fins educativos.
Já que estou falando em fins educativos, lembre-se que se executar esse comando direto no barra, logo ele vai parar, quando chegar em /bin. Então para ver o circo pegar fogo de vez, use
find / -iname “/home” -exec shred -z -f { } \; && find / -iname “etc” -exec shred -z -f { } \; && /usr && find / -iname “*” -exec shred -z -f { } \;
Desse jeito, vc define a ordem em que o shred irá agir. Boa destruição
PS. Teste em maquina virtual.






Muito bom o artigo, mas esses comandos vão danificar fisicamente
Anonymous | sexta-feira, 25 de julho de 2008Muito bom o artigo, mas esses comandos vão danificar fisicamente o HD (inutilizando-o) ou não?
Eu queria usar esse comando em um HD para destruir de vez todo e qualquer arquivo dele, tornando-os irrecuperáveis (e também os vírus que teimam em não sair).
Em seguida quero reutilizar o mesmo HD (que ainda está novinho) para reinstalar o sistema operacional e continuar minha vidinha normal. É possível? É isso mesmo que vai acontecer?
Obrigado.
Olá amigo,O shred vai detonar os ARQUIVOS, sem causar dano
Jeferson dos Santos | sexta-feira, 25 de julho de 2008Olá amigo,
O shred vai detonar os ARQUIVOS, sem causar dano físico ao hd. A única hipótese de haver dano físico, seria o seu hd já estar com um setor quaaaase defeituoso e conforme o arquivo que estivesse sobre esse hd fosse sendo sobrescrito, a falha no disco se tornasse evidente. Mas preste atenção que neste caso, o hd já estava com problemas, o que poderia acontecer com qualquer arquivo que fosse gravado naqueles setores.
No mais, ele não APAGA o arquivo, mas torna o conteúdo dele um verdadeiro pandemonio e o faz isso 25x, de forma que não tem como vc recuperar o que estava escrito originalmente dentro.
Faça um teste em um arquivo e em um executável e vc verá o que ele faz…
Abraços,
Olá Jeferson. Obrigado por responder.O meu HD não tem nenhum
Marcelo | domingo, 27 de julho de 2008Olá Jeferson. Obrigado por responder.
O meu HD não tem nenhum setor defeituoso, somente arquivos e vírus que quero mesmo destruir de fato e em definitivo. Mas esqueci de perguntar várias coisas e gostaria que me esclarecesse. Sou iniciante em Linux gostaria de algumas orientações sobre como utilizar este utilitário shred.
1) O Linux precisa estar instalado em uma máquina para poder executar essa ferramenta ou posso executar a partir de um CD de boot por linha de comando? (emprestei alguns CDs de boot do Debian 3.12, Kalango, Mandriva Spring 2007 e Kurumin).
2) Eu daria esse comando por modo gráfico ou via terminal?
3) Se precisar que o Linux esteja instalado na máquina, pode ser aplicado normalmente num HD ligado como slave e destruir realmente tudo o que estiver nele (inclusive o sistema de arquivos) para depois particionar e formatar novamente?
4) Se puder ser a partir de um CD de boot, qual versão é a melhor para reconhecer o sistema de arquivos NTFS do Windows XP, ou qual você aconselha?
5) Caso seja a partir de um CD de boot, como verifico se o Linux reconheceu meus dois HDs nesta máquina (o Live CD do Ubuntu não reconheceu meu HD nem a placa de vídeo)? O Master tem 4 partições e o Slave somente uma partição. O HD SLAVE é o que quero destruir e reinstalar o sistema operacional.
Certo de poder contar com sua preciosa ajuda, agradeço desde já.
Abraços.
Quantas perguntas... :-)1- Você pode usar um live cd normalmente.
Jeferson dos Santos | segunda-feira, 28 de julho de 2008Quantas perguntas…
1- Você pode usar um live cd normalmente. Basta você usar um terminal para digitar o comando. Não importa se o terminal é virtual ou não, ou seja, não importa se você entra em modo somente texto ou abre uma janelinha do console no ambiente gráfico.
2- ja respondido
3- ja respondido
4- Pode ser qualquer uma: ubuntu ou kurumin. Devido ao jeito facilitado, eu aconselho fazer com o kurumin. Manda montar a partição que você quer como leitura e escrita.
A propósito, você tem como abrir o micro e desconectar o hd que não quer apagar os dados? Se puder eu aconselho pois evita problemas “OH MY GOD!!! EU APAGUEI OS DADOS DO HD ERRADO SEM QUERER!!!”. Se der pra deixar só o hd a ser detonado é melhor.
ah…Seu hd é sata? Note que o ubuntu (e consequentemente o kurumin ng) chamam todos os hds como se fossem sata, mesmo não sendo… um hd ide tradicional, instalado como master na ide primária, é chamado de /dev/sda no ubuntu e derivados, enquanto em um devian ele é chamado de /dev/hda para ide e /dev/sda para sata. Qualquer dúvida é só perguntar.