Eliminando dados com segurança
27 de maio de 2010 | Autor: antonini
É quase sempre possível recuperar dados deletados de HDs previamente
formatados. Isso cria um problema para quem precisa vender ou
descartar HDs usados. Afinal, você não vai querer que seus arquivos
pessoais, ou informações confidenciais da sua empresa sejam dadas
“de brinde” junto com o HD passado adiante.
Por Carlos Eduardo Morimoto
Muitos órgãos governamentais e militares possuem políticas estritas
quanto ao descarte de HDs. Em muitos casos um HD só pode ser
descartado depois de passar por um software de eliminação de dados
e, em outras, os HDs são realmente destruídos fisicamente, para
eliminar qualquer possibilidade de recuperação.
Destruir um HD é fácil. “Amacie” usando uma marreta de 20 kg, depois
incinere. Se preferir, você pode usar o HD como alvo em um clube de
tiro, ou destruir a superfície magnética dos discos com ácido. ;)
Claro, nada disso é realmente necessário se você sabe o que está
fazendo. Da mesma maneira que é possível recuperar dados usando as
ferramentas corretas, também é possível apagá-los de forma que seja
impossível recuperá-los.
A maneira mais rudimentar seria simplesmente reescrever todos os
dados. Uma boa opção neste caso é utilizar o comando dd, no Linux, o
mesmo que utilizamos para fazer imagens de baixo nível do HD. Dê
boot com a distribuição live-cd de sua preferência e use o comando
abaixo, logado como root:
# dd if=/dev/zero of=/dev/hda
(onde o /dev/hda é o dispositivo referente ao HD)
Aqui, todos os dados do HD são sobrescritos com bits zero e já não
poderiam mais ser recuperados por via normais. Entretanto, grandes
empresas de recuperação, como a Seagate, Ontrack, etc. possuem
aparelhos capazes de ler a carga residual das mídias. Como todo o HD
passa a armazenar bits zero, um resquício de carga positiva sob a
superfície indicaria que lá estava antes armazenado um bit um. Seria
um processo caro e demorado, mas ainda assim seria possível
recuperar grande parte dos dados.
Uma forma mais segura seria encher o HD com bits aleatórios,
modificando o comando para ler as informações de entrada a partir do
“/dev/urandom”, outro dispositivo virtual, que fornece bits
aleatórios, criados com base em interrupções, operações realizadas e
outras variáveis geradas pela atividade da máquina:
# dd if=/dev/urandom of=/dev/hda
Aqui, a recuperação fica muito mais complicada. Mas, em teoria,
ainda seria possível recuperar alguns trechos dos arquivos usando os
processos adequados. A Ontrack e alguns fabricantes oferecem
serviços de recuperação neste nível a preços exorbitantes (bem além
do custo de uma simples recuperação, que já é cara).
Para realmente eliminar qualquer possibilidade de recuperação, você
poderia executar o comando várias vezes. A cada passada a chance de
recuperar qualquer coisa fica exponencialmente menor.
Em vez de fazer isso manualmente, você pode usar o “shred“, um
pequeno utilitário encontrado na maioria das distribuições. Você
pode usá-lo também a partir de um CD de boot do Kurumin.
Um exemplo bem efetivo de uso seria:
# shred -n 5 -vz /dev/hda
Usado com estas opções, o shred vai encher o HD com bits aleatórios,
repetindo a operação 5 vezes (-n 5). Como o processo é demorado,
usamos a opção “-v” (verbose) para que ele exiba um indicador de
progresso, concluindo com o “z”, que faz com que, depois de
concluído o processo, ele encha o HD com zeros, para despistar e
esconder o fato de que você fez o apagamento.