Como posso apagar com segurança um disco rígido?

210

Estou planejando vender um disco rígido externo USB que atualmente contém uma instalação antiga do Ubuntu com senhas armazenadas e informações bancárias.

Como posso apagar a unidade com segurança antes de vendê-la?

ændrük
fonte
2
Além disso, dê uma olhada nesta página da EFF para obter uma explicação abrangente sobre vários sistemas operacionais.
Tom Brossman
@Lekensteyn 'Remover os lotes de chaves'? Apenas procurei na AU e não obtive nada além destas perguntas e respostas parcialmente relacionadas . Devo fazer isso como uma nova pergunta ou é abordada aqui?
Tom Brossman
Se você tiver uma senha segura, o mundo não estará perdido quando você perder a unidade. No entanto, é recomendável limpar os lotes de chaves, conforme descrito em 5.3 do code.google.com/p/cryptsetup/wiki/… . Vá em frente e pergunte sobre como apagar discos criptografados.
Lekensteyn

Respostas:

226

Apagar com segurança um dispositivo de armazenamento

Existe um utilitário de linha de comando chamado shred, que substitui os dados em um arquivo ou em um dispositivo inteiro com bits aleatórios, tornando quase impossível a recuperação.

Primeiro de tudo, você precisa identificar o nome do dispositivo.

Isso pode ser algo como /dev/sdbou /dev/hdb(mas não como /dev/sdb1, isso é uma partição). Você pode usar sudo fdisk -lpara listar todos os dispositivos de armazenamento conectados e encontrar seu disco rígido externo lá.

Nota: Certifique-se de que é o dispositivo correto. Escolher o dispositivo errado o limpará.

Desmonte todas as partições atualmente montadas nesse dispositivo, se houver. Em seguida, execute o seguinte, substituindo /dev/sdXpelo nome do seu dispositivo:

sudo shred -v /dev/sdX

Isso substituirá todos os blocos no dispositivo com dados aleatórios três vezes; o -vsinalizador é detalhado e imprimirá o progresso atual.

Você pode adicionar a opção -nNpara fazer isso apenas N vezes, para economizar tempo em dispositivos de grande capacidade. Isso pode demorar um pouco, dependendo do tamanho do seu disco rígido externo (acho que leva mais ou menos vinte minutos para a minha unidade flash de 4 GB).

Você também pode definir todos os bits para zero após a última iteração, adicionando a opção -z, eu prefiro fazer isso.

sudo shred -v -n1 -z /dev/sdX

Depois disso, você teria que reparticionar o dispositivo. A maneira mais fácil é instalar o GParted e usá-lo:

sudo apt-get install gparted
gksu gparted

Escolha seu dispositivo na lista do canto superior direito. Em seguida, selecione Device -> Create partition tablepara criar uma tabela de partição no dispositivo.

Em seguida, adicione uma única partição que utilize todo o espaço não alocado no dispositivo, escolhendo fat32como sistema de arquivos. Aplique as alterações clicando no botão Aplicar (a marca de seleção verde) na barra de ferramentas.

Dicas

  • Leia a página de manual para shredonline ou digitando man shredno terminal.
  • Cuidado para que algumas partes do seu disco não sejam apagadas - use o comando "SECURE ERASE" do firmware da unidade, como via hdparm, para limpar adequadamente um disco.
Frxstrem
fonte
31
Prática recomendada aqui: desconecte todos os discos rígidos, conecte a unidade externa e faça o CD acima ao vivo para evitar até a possibilidade de fragmentar qualquer coisa que seja importante.
Nick Pascucci
30
Observe que esta resposta foi preterida pelo método SECURE ERASE de solicitar que a unidade se apague. Isso deve cuidar de todos os dados possíveis e não sobrecarrega desnecessariamente o seu sistema. Você pode executar uma exclusão segura, onde a unidade se apaga, usando o hdparmutilitário. Este método tenta apagar a unidade inteira, incluindo setores defeituosos. Além disso, é muito mais rápido do que sobrescrever da maneira normal. Também são os métodos recomendados para unidades SSD, onde shredé uma péssima idéia.
Maarten Bodewes 23/03
6
@owlstead: Você poderia elaborar? O que é o SECURE ERASE e como usá-lo? É apreciado se você fizer uma resposta separada, se tiver uma melhor.
Mads Skjern
17
O comentário sobre o uso do comando ATA Secure Erase é enganoso. Existem sérios problemas com o uso do SE (em relação à falta de suporte consistente dos fornecedores e à falta de transparência no processo). Relacionado: security.stackexchange.com/questions/62253
MV.
2
@Fiksdal Eu não sei, faz cinco anos desde que escrevi esta resposta e não me lembro das minhas motivações para expressá-la dessa maneira. Dito isto, acho que quis dizer isso na linha de "praticamente impossível hoje, mas plausivelmente possível no futuro, com melhorias tecnológicas suficientes".
Frxstrem 25/03
94

Apenas 'zero' usando a ddferramenta:

  1. Inicie o Utilitário de Disco via System > Administration > Disk Utility
  2. Encontre seu disco no painel esquerdo, selecione-o e, à direita, localize o caminho do dispositivo (por exemplo, /dev/sdX)
  3. Execute o seguinte comando em um terminal gnome (Aplicativos> Acessórios> Terminal):

    sudo dd if=/dev/zero of=/dev/sdX bs=1M

    Certifique-se de usar o caminho correto do dispositivo e não apenas copiar esta linha!

Isso substituirá o disco inteiro com zeros e é consideravelmente mais rápido do que gerar gigabytes de dados aleatórios. Como todas as outras ferramentas, isso não trata dos blocos mapeados por qualquer motivo (erros de gravação, reservados, etc.), mas é altamente improvável que seu comprador tenha as ferramentas e o conhecimento para recuperar qualquer coisa desses blocos.

PS: Antes de você, os fãs de Bruce Schneier me criticaram: Quero uma prova de que é possível recuperar dados de um disco rígido rotacional não antigo que foi substituído por zeros. Nem pense em comentar o contrário! : P

htorque
fonte
6
+1 para Bruce Schneier (e DD o que realmente é uma excelente ferramenta)
n3rd
6
Não dizendo que esta é a "prova" mais forte, mas o método Gutmann existe por uma razão. Até onde eu sei, os discos rígidos modernos ainda são teoricamente suscetíveis de recuperar seus dados se forem substituídos por zeros. Se isso ainda é válido, espero que você possa admitir que não vai doer substituindo usando / dev / random ou um algoritmo específico para esse fim.
Cerin
13
Não, não vai doer, apenas levará muito tempo (especialmente se você usar / dev / random: P) com benefícios questionáveis. O último artigo sobre esse tópico que li (desculpe, sem detalhes, acho que foi de 2008) sugeriu - com base em dados de testes com hardware real - que a chance de recuperar um único bit é <50% → significa que você obtém uma menor taxa de erro ao "recuperar" cada bit usando um sorteio. Portanto, a menos que haja provas de que zerar não seja suficiente (não é "talvez" no momento, e sim "não é possível"), este é o método de escolha para mim.
htorque
12
@Cerin Meu entendimento é que nunca houve prova de que essas fantasias paranóicas de recuperação de dados sejam possíveis. Como apontado na seção "Crítica" do artigo que você vinculou, o próprio Guttman é crítico sobre como seu algoritmo foi usado " mais como uma espécie de encantamento de vodu para banir espíritos malignos do que o resultado de uma análise técnica das técnicas de codificação de unidades " . Os únicos motivos para fazer mais do que uma limpeza zero de uma unidade são emocionais ... ou seja, fazem você se sentir melhor ... não técnico.
irracional John
4
Legal, mas você poderia me explicar por que você colocou o bs=1Mparâmetro? Eu posso ler o manIIUC e você está limitando o buffer a 1 megabyte; por que é tão desejável?
gaazkam
20

Dê uma olhada nesta pergunta definitiva no Security Stack Exchange

Como posso apagar com segurança todas as informações em um disco rígido

Isso discute várias opções de exclusão segura, juntamente com a destruição física e a limpeza, para que você possa decidir qual opção pode ser sua melhor aposta.

Lembre-se, porém, de que o status atual de recuperação para armazenamento diferente é o seguinte:

  • Discos rígidos muito antigos: havia lacunas entre as faixas para que você pudesse captar sangramentos nessas lacunas (se você tivesse um microscópio eletrônico de varredura à mão). Substituir várias vezes foi potencialmente útil.
  • Novos discos rígidos: atualmente não existe tecnologia que possa ler após uma única substituição.
  • Discos rígidos de estado sólido: o nivelamento de desgaste significa que você não pode sobrescrever com segurança. Em vez disso, você criptografa o volume inteiro e descarta a chave para limpar ou destrói o dispositivo.
Rory Alsop
fonte
Qual é a definição de muito antigo, por exemplo, 30 anos atrás?
Motivado
10Mb unidades MFM de cerca de 20-25 anos atrás, sim
Rory Alsop
Como isso se relaciona às unidades em dispositivos como telefones celulares e tablets?
Motivado
@ Motivated Dado que telefones e tablets usam memória flash, provavelmente é a mesma resposta que para SSDs, mas não tenho certeza. Você pode pedir informações sobre o Superusuário .
wjandrea 25/01
20

Eu geralmente uso um teste destrutivo de leitura e gravação usando badblocks -w. As duas principais vantagens são

  • faz parte do sistema base e quase todos os sistemas de resgate, por isso está disponível, por exemplo, no shell de resgate do instalador do Ubuntu
  • você recebe um relatório no final se existem blocos defeituosos no disco

Observe que, se o relatório indicar um problema, eu não venderia mais o disco, pois provavelmente falhará em breve.

Exemplo de uso (se o seu disco for sdd):

sudo badblocks -wsv /dev/sdd

(adicionado svpara barra de progresso + detalhado)

Simon Richter
fonte
11

Agora, a ferramenta Disks ( gnome-disks) possui o ATA Secure Erase . Você pode usá-lo para apagar seu disco rígido. A mesma opção explicada nesta resposta usando a ferramenta de linha de comando hdparm.

  1. Ferramenta Abrir discos → Escolha o disco de destino
  2. No menu: Formatar disco ...
  3. Selecione na caixa suspensa Apagar: Apagar seguro aprimorado ATA
  4. Formato

Apagar seguro aprimorado ATA 1 Apagar seguro avançado ATA 2

user.dz
fonte
2
Embora essa seja a melhor opção em geral, ela não se aplica a USB (conforme solicitado na pergunta acima). Existem avisos e isenções de responsabilidade sobre isso em ata.wiki.kernel.org/index.php/ATA_Secure_Erase . No entanto, perguntei sobre isso na edição do Gnome .
colan 8/04
1
@colan Pelo que entendi, isso depende do suporte a recursos da pilha completa (Discos - Kernel - Driver - Controlador - Drive). Embora meu gabinete tenha sido bom para dois HDDs (WD USB3 HDD e WD com adaptador ativo SATA-USB3), confirmo que não é para todos os casos, vi alguns adaptadores SATA-USB3 com alinhamento de bloco codificado (leitura com 512b O bloco & 4k não cria imagens idênticas), alguns não suportam o SMART, que também possui alguns comandos exec longos. Algumas unidades USB têm uma implementação não padronizada / distorcida para partição protegida por senha / criptografada (o uso através de outro adaptador USB quebrá-lo)
user.dz
8
  • Você precisa criar um dispositivo de loopback que execute / dev / random em todo o conteúdo da unidade.
  • Isso preencherá toda a unidade com dados quase completamente aleatórios. Então, você pode definir todos os bits de volta para 0 com dd.

  • Na verdade, o dd deve poder aleatoriamente todas as informações.

  • Você disse que armazenou informações bancárias no seu disco rígido. Por isso, sugiro que execute qualquer um dos seguintes comandos em um CD ao vivo (onde hdX é o seu disco rígido).

    dd if=/dev/zero of=/dev/hdX

    dd if=/dev/random of=/dev/hdX

    dd if=/dev/urandom of=/dev/hdX

  • No entanto, levará muito tempo com base no tamanho do seu disco rígido.

Para a sua informação:

Veja os seguintes links,

Nota:

  • Random usa bits aleatórios e zero usa 0 bits.
  • Urandom é uma versão semi-aleatória do random.
karthick87
fonte
O acaso é realmente necessário? Não seria suficiente substituir todos os bits por 1 e depois por 0?
21415 Buck
7

você pode usar limpe

Instalação

sudo apt-get install wipe

Você pode usar esse software ou o seguinte comando:

shred -vfz -n ? (drive)

Foram os "?" ou seja, coloque o número de vezes que você deseja destruir a unidade e, em seguida, onde "(unidade)" é, coloque a unidade que deseja destruir. Quando terminar, faça o que quiser com ele. Eu acho que esse método é mais eficaz, pois você pode controlar o que é feito em sua unidade e obter resultados imediatos.

Ligações

  1. http://wipe.sourceforge.net/
  2. http://www.howtogeek.com/howto/15037/use-an-ubuntu-live-cd-to-security-wipe-your-pcs-hard-drive/
  3. http://ubuntuforums.org/showthread.php?t=817882
Tachyons
fonte
6
Por que usar um sobre o outro, limpe ou desfie?
Mads Skjern
7

O melhor é usar a função de exclusão segura das unidades ATA. O apagamento seguro apaga a unidade no nível do firmware. Não é possível ficar mais seguro.

Primeiro verifique se a exclusão segura é suportada:

sudo hdparm -I /dev/sdX | grep -i security

(substitua sdX por sda / sdb / sdc, seja qual for o seu disco).

Se você não vir nenhuma saída, use dd:

sudo dd if=/dev/zero of=/dev/sdX bs=1M

Se você vir a saída, verifique se o dispositivo não está congelado:

sudo hdparm -I /dev/sdX | grep -i frozen

Se não estiver congelado, defina a senha como "Eins":

sudo hdparm --user-master u --security-set-pass Eins /dev/sdX

Opcional: você pode querer saber quanto tempo isso levará:

sudo hdparm -I /dev/sdX | awk '/for SECURITY ERASE UNIT/'

Em seguida, execute a exclusão:

sudo hdparm --user-master u --security-erase Eins /dev/sdX

Então espere. Aparentemente, para um disco de 1 TB, isso pode levar 3 horas ou mais.

Há um bom script que automatizou essas etapas .

Berend de Boer
fonte
6

Você pode usar o DBAN . Wikipedia :

O Boot and Nuke da Darik (comumente conhecido como DBAN) [...] foi projetado para apagar com segurança um disco rígido até que os dados sejam permanentemente removidos e não mais recuperáveis, o que é obtido sobrescrevendo os dados com números aleatórios gerados pelo Mersenne twister ou pelo ISAAC ( um PRNG). O método Gutmann, Quick Erase, DoD Short (3 passagens) e DOD 5220.22-M (7 passagens) também estão incluídos como opções para lidar com a remanência de dados.

O DBAN pode ser inicializado a partir de uma unidade de disquete, CD, DVD ou USB e é baseado no Linux. Ele suporta discos rígidos PATA (IDE), SCSI e SATA. O DBAN pode ser configurado para limpar automaticamente todos os discos rígidos que ele vê em um sistema, tornando-o muito útil para cenários de destruição de dados autônoma. DBAN existe para sistemas Intel x86 e PowerPC.

O DBAN, como outros métodos de apagamento de dados, é adequado para uso antes da reciclagem do computador para situações pessoais ou comerciais, como doação ou venda de um computador [2]. No caso de infecção por malware, o DBAN pode ser usado antes de retornar um disco à produção.

NN
fonte
3

Mais uma vantagem do shred over dd nesse cenário: Eu tenho um disco defeituoso e preciso retornar ao fornecedor para uma troca.

O dd é interrompido no primeiro bloco defeituoso e falha em impedir o restante (a menos que eu use dolorosamente skip = ... para pular adiante toda vez que ele parar).

shred ignora erros de gravação e continua feliz neste caso.

Jürgen Weigert
fonte
0

Ir root e

dd if=/dev/random of=/dev/(your usb drive device here); dd if=/dev/zero of=/dev/(your usb drive device here)

Certifique-se de que você tem o caminho certo!

Pete Ashdown
fonte
7
Nunca use / dev / random para tais operações. / dev / random gera dados aleatórios usando um conjunto de entropia e bloqueia a operação se esse conjunto de entropia estiver vazio. Portanto, se você não fizer nada com o computador para gerar nova aleatoriedade, a operação levará uma eternidade. Use / dev / urandom. Veja tambémman random
htorque
2
Você provavelmente precisaria prefixar o comando com sudo. Além disso, ddtende a concluir mais cedo quando um tamanho de bloco maior que o padrão é usado. Então, eu sugeriria usar muito cuidadosamente :sudo dd if=/dev/random bs=1m of=/dev/sdX
John irracional John
ah, queria que fosse sudo dd if=/dev/urandom bs=1m of=/dev/sdXOh, bem.
irracional John
0

DBAN é um CD de inicialização de código aberto para limpar o disco rígido.

Carregamento de

http://www.dban.org/download

queime e inicie a máquina a partir do CD, só isso.

One Zero
fonte
1
Já sugerido: askubuntu.com/a/51979/8530
Matthew Leia
0

Aqueles que recomendam o uso de fragmentos estão dando maus conselhos. A própria página de manual do Shred diz que é efetivamente inútil em sistemas de arquivos com registro em diário, que é quase garantido que o Ubuntu esteja usando se você não alterar seus padrões de sistema de arquivos (ext3 e ext4 são registrados em diário. Assim como resierfs e Reiser4, bem como muitos outros sistemas de arquivos Linux comuns .).

Sem mencionar o shred, é completamente inútil para apagar ou aleatorizar completamente um disco, pois funciona apenas em arquivos ou conjuntos de arquivos individuais (no nível do sistema de arquivos, não no nível de dados brutos). Se você deseja limpar com segurança um disco, use dd no nó principal do dispositivo da unidade (por exemplo: / dev / sdc em vez de / dev / sdc1) enquanto nada estiver montado nele.

Vai demorar um pouco, mas, diferentemente do shred, ele limpará completamente e IRREVERSIVAMENTE um disco rígido do MBR para o setor final. Além disso, BIG WARNING no dd, certifique-se de usá-lo no dispositivo correto ou, pelo menos, LIMPAR PARCIALMENTE o disco errado. Isso pode ser desastroso se você acidentalmente usar o dd em uma unidade do sistema, o que não apenas a tornará impossível de inicializar, como também pode corromper irreversivelmente qualquer partição da unidade. Isso deu o apelido de "destruidor de disco".

O Shred NÃO é uma ferramenta confiável para limpar com segurança uma unidade. Se você estiver vendendo ou entregando seu computador, a maneira CORRETA de esvaziar a unidade é zerar ou randomizar com dd e nunca usar o shred, pois os periódicos do sistema de arquivos restauram efetivamente os arquivos fragmentados sem nenhum esforço.

Yaro Kasear
fonte
9
Você não aponta o fragmento para um arquivo. Você aponta para o dispositivo inteiro. O sistema de arquivos é irrelevante.
David Given
1
@DavidGiven Bem, tecnicamente, você pode destruir apenas um arquivo dentro de um sistema de arquivos, e é isso que a página de manual do shred fala sobre a maior parte. Os avisos de Yaro seriam válidos nesse caso. Mas sim, destruir uma partição inteira é uma coisa completamente diferente; nesse caso, o sistema de arquivos realmente não importa.
Alois Mahdal
0

A maneira mais fácil de fazer isso é usar:

sudo shred -fv /dev/xxx

onde xxx é dispositivo, para garantir que dispositivo você possui, digite:

sudo fdisk -l

O dispositivo são indicadas após disco palavra e para o carvão animal cólon : , como este:

Disk /dev/sde: 500.1 GB etc...

Não monte sistemas de arquivos do seu disco que deseja limpar etc. O Shred fará o que você quer em parte do tempo. A opção -z é para a última execução com 0 para ocultar a limpeza e não é necessário limpar os dados.

A melhor maneira é usar o dd como escreveu usuários anteriores:

sudo dd if=/dev/urandom of=/dev/xxx bs=1M

use o dispositivo urandom , pois é uma maneira mais moderna e melhor de obter um padrão aleatório.

Outras ferramentas neste momento podem ser mais antigas e menos pessoas se desenvolvem. Shred está no aplicativo principal do Linux.

Veja este exemplo: limpe 2009 http://lambda-diode.com/software/wipe/ . Mas é conhecido aplicativo. É possível usar o bleachbit, mas, como tentei, demorou muito tempo.

Daro da Polônia
fonte
-1

Se o dd cmd não estiver funcionando, você poderá usar o método de redirecionamento para limpar os dados.

Gostar,

cat /dev/urandom > /dev/sd**a**   # depends on your hdd location 

ou

Como alternativa, você pode usar cp (copy cmd) para substituir os dados anteriores.

cp /dev/urandom /dev/sd**a**      # depends on your hdd location 
kali doss
fonte