Blog do Julio

Hacks, tutoriais e dicas

Apagando HD

| Comments

Acabo de vender meu notebook mais antigo pelo Mercado Livre (incrível como ele desvalorizou de R$ 2700,00 para R$ 700,00 em apenas 3 anos).

Algo que eu (um paranóico) considero importante antes de vender um notebook é apagar todos os arquivos pessoais, arquivos confidenciais, senhas salvas e qualquer outra informação que possa te prejudicar se cair nas mãos de alguém mal intencionado. Uma boa solução seria formatar o disco, certo? Errado.

Após uma formatação comum, os blocos que possuíam conteúdo são simplesmente marcados como disponíveis na tabela de endereços, ou seja, os dados permanecem no disco e podem ser recuperados utilizando alguma ferramenta específica, como o extundelete sobre o qual eu escrevi em outro artigo.

A forma mais eficiente de limpar completamente o disco e tornar os dados irrecuperáveis sem causar danos ao disco é a técnica conhecida como disk wiping utilizando um disk scrubbing, que basicamente sobrescreve todo o disco com zeros e/ou uns.

O método mais tradicional e simples de fazer um disk scrubbing em sistemas Unix é utilizar o dd ou o cat.

  1. Dê boot por um live disk
  2. Opcionalmente delete todas as partições com o gparted ou o fdisk
  3. Verifique badblocks com o badblocks ou fsck: badblocks -wvs /dev/sda fsck -f /dev/sda

    Acredito que utilizar o -w com o badblocks já é suficiente para não permitir a recuperação de dados do disco, pois ele escreve várias vezes em todos os blocos do disco. Para fazer o programa repetir a verificação várias vezes, utilize a opção -p. O processo demora algumas horas, uma forma de acelerar é aumentar o número de blocos testados por vez com a opção -c.

  4. Utilize um dos seguintes métodos, repetindo quantas vezes achar necessário; 2 vezes deve ser suficiente, a menos que o disco seja analisado por especialistas muito determinados.

  5. Método 1

    Escrever zeros em todo o disco: dd if=/dev/zero of=/dev/sda

  6. Método 2

    Escrever zeros e uns aleatoriamente (recomendado): dd if=/dev/urandom of=/dev/sda

  7. Método 3

    Mesma função dos comandos anteriores, mas utilizando o cat. Escreve bits aleatórios duas vezes e zeros na terceira vez. cat /dev/urandom > /dev/sda; cat /dev/urandom > /dev/sda; cat /dev/zero > /dev/sda

    Em um HD de 250GB rodei com algumas mensagens para ter noção de tempo, mas mesmo após 10h não saiu na primeira: # echo “Inicio em date”; cat /dev/urandom > /dev/sda; echo “Escrita #1 finalizada em date”; cat /dev/urandom > /dev/sda; echo “Escrita #2 finalizada em date”; cat /dev/zero > /dev/sda; echo “Escrita #3 finalizada em date

    Portanto acho melhor utilizar algum programa que exiba o andamento

  8. Método 4

    Shred: Já vem instalado em várias distribuições. Exemplo de uso: shred -n 3 -z -v /dev/sda

  9. Método 5

    Baixe algum outro programa. Existem vários softwares gratuitos especialmente para essa finalidade que gravam zeros e uns em todo o disco e automaticamente repetem o processo várias vezes.

    Em uma busca rápida encontrei os seguintes programas: Dban, Autoclave, Wipe, KillDisk.

    Aparentemente, o mais utilizado para essa função é o DBAN, um boot disk de 11MB que pode ser baixado em http://www.dban.org/

    O processo é um pouco demorado e depende do HD, em média deve levar algo em torno de 2 minutos por GB.


Links:

Comments