Como posso limpar com segurança um SSD? [duplicado]

40

Esta pergunta já tem uma resposta aqui:

Um de nossos clientes está solicitando o método DOD-7 Pass Erase para SSDs.

Tentamos limpar um SSD de 256 GB (Samsung Make) via Tabernus lan, mas está demorando muito.

Por favor, me guie como limpar o SSD da versão Tabernus lan 7.3.1.

insira a descrição da imagem aqui

Baskar Kumar
fonte
5
1 passagem normalmente deve ser suficiente se a NSA não estiver atrás de você. Mas os SSDs não têm alguma forma do comando TRIM que torna os dados inacessíveis sem realmente excluí-los (salvando ciclos de gravação)?
Paul Stelian
5
Você deve consultar o software "Magician" da Samsung (um disco inicializável que permite executar o comando "exclusão segura"). Agora, se o TRIM ou o "Secure Erase" de um SSD atendem à conformidade com o DoD é outra coisa ... eu não saberia.
Kinnectus
5
@PaulStelian - não se esqueça, este é o SSD do qual o OP está falando - apagar um SSD é uma coisa completamente diferente de um HDD mecânico tradicional.
Kinnectus
16
o mais seguro (mas mais caro) é para derretê-lo com fogo
Sarge Borsch
7
O Departamento de Defesa nem usa mais esse padrão antigo. É totalmente irrelevante e destrutivo se executado em um SSD.
Michael Hampton

Respostas:

63

Breve:

Um apagamento de substituição de várias (7) passagens não faz o que você espera que ele faça em um SSD. Se necessário, você pode implementá-lo e informar ao cliente que o fez, mas não espere que ele limpe todos os dados .

Fundo:

Para limpar dados de um disco rígido convencional, você tinha as seguintes soluções:

  • Limpe o índice (por exemplo, limpeza do disco). Fácil de recuperar.
  • Substitua o disco inteiro. Isso o limpa para usuários normais. Se você tiver acesso a um hardware muito sensível, do tipo que apenas os governos têm acesso, poderá recuperar alguns dados. Pense nisso como apagar notas escritas a lápis e escrever novo texto. Uma sombra permanece.
  • Sobrescreva o disco várias vezes com padrões variados, derrotando até os atacantes mais capazes.

SSDs funcionam de maneira diferente. Eles possuem vários blocos agrupados. Gravações só podem acontecer com um grupo. Pense nisso como um livro onde você só pode escrever em uma página. Se você quiser adicionar uma frase, o controlador do SSD lerá a página inteira e gravará uma nova página (com a frase extra) em um local diferente. Ele marcará a página antiga como vazia e atribuirá o número da página antiga à nova página.

Isso significa que não há mapeamento direto entre o que o sistema operacional vê são setores (páginas) e o que está em disco.

Você pode preencher o disco inteiro com um novo arquivo (por exemplo, um contendo apenas zero) e o espaço de reserva não será tocado. Portanto, ainda há dados recuperáveis. Você pode fazer isso 7 vezes e ainda ter os mesmos dados recuperáveis.

Boas notícias

A boa notícia é que os SSDs geralmente são fornecidos com criptografia de disco. Jogue fora a chave de criptografia e os dados não valerão nada.

Uma notícia ainda melhor é que essa criptografia de dados sempre pode ser usada. Mesmo quando você não ativou explicitamente a criptografia. Nesse caso, o disco ainda grava dados criptografados com uma chave armazenada em algum lugar no SSD. Diga para jogar fora essa chave e substituí-la por uma nova e pronto. É rápido e seguro.

Existe até um comando para fazer isso ( exclusão segura do ATA ).

Esta é a única solução técnica correta . Faça isso mesmo se eles insistirem em 7 substituições de passagem (fazendo apenas o último para que você se adapte às demandas deles e o primeiro para a intenção dessas demandas).

Lentidão do mau método

Não tenho experiência com tabernus lan. Mas quase todo SSD aceita gravações sustentadas acima de 100 MB / s. Com essa velocidade, mesmo um SSD muito lento deve terminar em uma hora. Um SSD médio rápido deve terminar com menos de um quinto desse tempo.

Se você não chegar nem perto desse desempenho, suspeito que sua solução esteja executando uma gravação setor por setor. Isso é mau. Ele deve liberar setores o mais rápido possível, com uma profundidade de fila de 32. Sem isso, você acessa a analogia da página acima.

Começando com uma página inteira com 8 frases escritas.

  • Limpe a frase 1.

    • Leia a página inteira.
    • Excluir primeira frase
    • Escreva uma página inteira com 7 frases em um bloco / página diferente
  • Limpe a frase 2.

    • Leia a página inteira.
    • Excluir segunda frase
    • Escreva uma página inteira com 6 frases em um bloco / página diferente
  • Limpe a frase 3.

    • Leia a página inteira.
    • Excluir terceira frase
    • Escreva uma página inteira com 5 frases em um bloco / página diferente
  • Limpe a sentença 4.

    • Leia a página inteira.
    • Excluir quarta frase
    • Escreva uma página inteira com 5 frases em um bloco / página diferente
  • Limpe a frase 5.

    • Leia a página inteira.
    • Excluir quinta frase
    • Escreva uma página inteira com 3 frases em um bloco / página diferente
  • Limpe a frase 6.

    • Leia a página inteira.
    • Excluir sexta frase
    • Escreva uma página inteira com 2 frases em um bloco / página diferente
  • Limpe a frase 7.

    • Leia a página inteira.
    • Excluir sétima frase
    • Escreva uma página inteira com 1 frase em um bloco / página diferente
  • Limpe a frase 8.

    • Marque na página como excluída (mas não a apague até precisar de mais espaço)

Observe quanto tempo esse texto foi? A mesma coisa com a velocidade do SSD.

Hennes
fonte
Comentários não são para discussão prolongada; esta conversa foi movida para o bate-papo .
Sathyajith Bhat
1
" Existe até um comando para fazer isso (exclusão segura do ATA). Essa é a única solução técnica correta. " Observe que o ATA SE falha ao limpar com segurança alguns SSDs: usenix.org/events/fast11/tech/full_papers/Wei.pdf
Miles Wolbe
9

Aparentemente, o software usado NÃO está funcionando corretamente. Uma das suas capturas de tela mostra 97 MB / s como velocidade. Com essa velocidade, 7 passagens de substituição de disco completo em uma unidade de 256 GB devem levar cerca de 5 horas. Cálculo simples.

Você pode tentar o Blancco 5 . Como você pode ver, o link que era da Tabernus Erase LAN é redirecionado para o site. Você também pode considerar o DBAN mais recente , que parece ser a versão gratuita do Blannco.

Para ser sincero, nunca usei nenhuma peça do software acima. Duvido que eles estejam realmente fazendo um trabalho melhor do que uma simples substituição aleatória.

Pessoalmente, eu uso shred nos GNU coreutils:

shred -v -n 7 /dev/sdX

Eu realmente não vou usar -n 7embora. No máximo, deixarei como padrão: 3 passagens e talvez com um preenchimento zero extra de passagem única no final ( -z).

Ou, openssl:

openssl enc -aes-256-ctr -in /dev/zero -out /dev/sdX -pass file:/dev/urandom -nosalt

no qual você pode escrever um loop bash simples para fazer várias passagens. No entanto, não informa o progresso shred.

A propósito, de acordo com algumas fontes aleatórias na Internet (apenas Google, por favor), parece que o Departamento de Defesa dos EUA já obsoleta as especificações para a limpeza de dados. Agora, parece reconhecer apenas a destruição física.

Um dos motivos possíveis, que é da sua preocupação, é que a substituição simples pode não "alcançar" todo o espaço reservado nos bastidores em um SSD para o chamado excesso de provisionamento (feito no firmware) e / ou realocação de setores defeituosos . Infelizmente, várias passagens de preenchimento aleatório de dados são provavelmente a melhor coisa que você pode fazer, se o seu SSD não suportar criptografia de hardware.


NÃO conte com o ATA DSM / TRIM se precisar que os dados sejam limpos com segurança. O TRIM PODE OU MESMO NÃO PODER fazer com que o SSD "pareça" (ou seja, hexdump) completamente apagado, mas na verdade não destrói os dados nos bastidores, como sobrescrever de qualquer maneira.

Também não se deve confiar no ATA Secure Erase 1 . Os padrões ACS apenas exigem que ele execute o preenchimento de padrão (passagem única). O modo normal deve ter zeros ou uns como padrão, enquanto o modo avançado deve ter um padrão específico do fornecedor (mas ainda é preenchimento de padrão) e apagar também "Dados do usuário realocados".

No entanto, há muito tempo que o conjunto de recursos é abusado pelos fornecedores para fazer coisas fora do padrão 3 , quando o ATA SANITIZE DEVICE não havia sido introduzido. Portanto, o comportamento do ATA Secure Erase pode ser TOTALMENTE específico do fornecedor, especialmente no SSD.

Em um SSD, o ATA Secure Erase geralmente é implementado da mesma maneira que o BLOCK ERASE do ATA SANITIZE DEVICE, que é praticamente uma equivalência do ATA TRIM de disco completo (em um SSD RZAT 2 ).

O preenchimento de padrão fixo (que pode ser incorporado em alguma implementação do "DOD erase" que não tem o SSD em mente) não vale a pena, porque os controladores "inteligentes" no SSD podem compactar e até ignorar essa substituição repetida.

Se realmente quiser ser feito, por algum motivo, suponho que OVERWRITE of ATA SANITIZE DEVICE é a melhor maneira de usar. (Como, esperançosamente , os fornecedores garantirão que o controlador não "seja inteligente" quando o usuário emitir isso para a unidade).


No HDD / SSD que possui a chamada criptografia de hardware, o modo aprimorado do ATA Secure Erase é frequentemente implementado da mesma forma que o CRYPTO SCRAMBLE do ATA SANITIZE DEVICE, que aciona uma regeneração da chave de criptografia e assim por diante. Pode ser o melhor método "rápido" a ser usado, se você quiser limpar a unidade com segurança, já que esse é basicamente o ponto principal da criptografia de hardware que não é Opal (enquanto as pessoas geralmente pensam erroneamente que seu ponto principal é trabalhar com ele). Senha ATA).

FWIW, é sempre necessário ativar o recurso de segurança do ATA primeiro (ou seja, "senha do usuário") antes de apagar, o que geralmente afeta a unidade devido a uma má implementação (bem ou PEBKAC). Se a unidade suportar o ATA SANITIZE DEVICE, ela deve ser realmente preferida. Infelizmente, ao contrário do ATA Security suportado no hdparm , parece que nenhum utilitário suporta o conjunto de recursos mais recente ainda. Uma lata na melhor das hipóteses formar manualmente um SCSI ATA PASS-THROUGH comando para isso e enviá-lo com sg_rawem sg3_utils .


Nota:

1 O nome do comando padrão do ATA Secure Erase é SECURITY ERASE UNIT, que é um comando obrigatório no conjunto de recursos do ATA Security

2 O retorno zera os dados após o corte; consulte os padrões ACS para obter sua definição exata

3 Especificação de SSDs Intel 530 SATA ; consulte "5.3 Conjunto de recursos do modo de segurança"; um exemplo de fornecedor principal "abusando" do conjunto de recursos do ATA Security

Tom Yan
fonte
... ou você pode configurar um mapeamento simples de dm-crypt e usar ddrescue para substituir de / dev / zero no mapeamento, para obter progresso e qualidade criptográfica indistinguíveis de aleatórios.
um CVn
1
Como os SSDs implementam tantos movimentos de bloco sob o capô para desempenho e podem ser provisionados em excesso (mais espaço do que o anunciado para que ele possa fazer as manipulações acima), nunca é de presumir que gravar dados em um SSD para remover todos os dados. A redefinição do fornecedor é a única maneira de realmente limpar as células (e as limpa e não há como recuperá-las). Isso é diferente dos discos rígidos, onde pode haver resíduos magnéticos que podem ser lidos por um invasor (embora com densidade de dados em unidades modernas, até uma única gravação seja suficiente atualmente).
27575 Alan Cartao
1
@AlanShutko apenas se a unidade tiver criptografia de hardware. Caso contrário, SANITIZE BLOCK ERASE / ATA Secure Erase funcionaria apenas como TRIM (ou pelo menos poderia; até agora, todos os SSDs que eu vi os implementaram dessa maneira). A ressalva de usar comandos ATA para "proteger" com segurança sua unidade é igual a "confiar em seus fornecedores".
Tom Yan
1
Parece que isso não shred garante que os dados sejam apagados no SSD e para cada tipo de sistema de arquivos. Do seu autor CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. Você pode adicionar as referências sobre como o shred funciona (que comando envia) quando funciona em uma partição completa?
Hastur
1
@ Hastur está falando sobre shredarquivos em um sistema de arquivos, não quando você faz shreduma partição / disco.
Tom Yan
5

Nesta página do archlinux sobre limpeza de células de memória SSD, seguindo a página Apagar seguro do ATA , é recomendável

  1. Etapa 1 - Verifique se a segurança da unidade não está congelada
  2. Etapa 2 - Habilite a segurança definindo uma senha de usuário
  3. Etapa 3 - Emita o comando ATA Secure Erase

Alguns detalhes mais

  • Para a etapa 1, você pode verificar se a unidade não está congelada com

    hdparm -I /dev/sdX
    

    Se a saída do comando mostrar "congelada", não será possível continuar na próxima etapa. Alguns BIOS bloqueiam o comando ATA Secure Erase emitindo um comando "SECURITY FREEZE" para "congelar" a unidade antes de inicializar um sistema operacional.

  • Para a etapa 2, leia [ 1 ] para o aviso relativo aos computadores Lenovo:

    hdparm --user-master u --security-set-pass PasSWorD /dev/sdX security_password="PasSWorD"
    

    e deve responder algo como

    /dev/sdX:
    Issuing SECURITY_SET_PASS command, password="PasSWorD", user=user, mode=high
    

    depois verificar novamente

    hdparm -I /dev/sdX
    
  • Para o passo 3:

    hdparm --user-master u --security-erase PasSWorD /dev/sdX
    

    Existe o parâmetro --security-erase-enhanced para apagar a segurança aprimorada. É relatado [ 1 ] que "um curto período de tempo (como 2 minutos) indica que o dispositivo é auto-criptografado e sua função de bios limpará a chave de criptografia interna em vez de sobrescrever todas as células de dados" , enquanto um tempo solicitado mais longo deve indicar um dispositivo não criptografado.

    Em dispositivos criptografados, o mesmo tempo esperado pode ser relatado para a opção --security-erasee --security-erase-enhanced. Neste caso, supõe-se que será utilizado o mesmo algoritmo [ 3 ] . Observe que, para o HDD normal, o parâmetro aprimorado , entre outras diferenças, deve substituir até mesmo os setores que não são mais usados, porque acionaram um erro de E / S em algum momento e foram remapeados. Devemos assumir que ele também funcionará da mesma maneira para o SSD, mesmo porque o número desses blocos não deve ser grande o suficiente para ser refletido em uma diferença de tempo maior que um minuto. Leia mais nesta resposta sobre o Security SE .

    No caso de exemplo da página de limpeza de células de memória SSD, no entanto, para o SSD Intel X25-M 80GB, é relatado um tempo de 40 segundos.

    Aguarde até que o comando seja concluído. Este exemplo de saída mostra que demorou cerca de 40 segundos para um SSD Intel X25-M 80GB.

Nota: após as três etapas, a unidade é apagada e a segurança da unidade deve ser definida automaticamente como desativada (não exigindo uma senha para o acesso).


Atualizar

Na página Apagar segura do ATA :

Este procedimento descreve como usar o comando hdparm para emitir uma instrução Secure Erase ATA para um dispositivo de armazenamento de destino. Quando um apagamento seguro é emitido contra uma unidade SSD, todas as suas células são marcadas como vazias, restaurando-o para o desempenho de gravação padrão de fábrica.

AVISO LEGAL: Isso apagará todos os seus dados e não poderá ser recuperado nem pelos serviços de recuperação de dados.

Hastur
fonte
On occasion, users may wish to completely reset an SSD's cells to the same virgin state they were manufactured, thus restoring it to its factory default write performance.É tudo o que faz, e "estado virgem" aqui NÃO significa que os dados são limpos com segurança.
22416 Tom Yan
você sentiu falta --security-erase?
Hastur
Suponho que você quis dizer --security-erase-enhanced. Quer saber, eu tenho o disco de exemplo exato (o malditamente bom clássico X25-M gen1 / 50nm 80GB). Ele não suporta criptografia de hardware ou TRIM. Parece que ele suporta o modo normal e o modo aprimorado de exclusão de segurança. Ambos têm o mesmo tempo estimado necessário (2min). Agora, suponha, eles fazem algo diferente? : P
Tom Yan
1
@ TomYan Você pode ler a resposta de um moderador de falha no servidor que se refere às mesmas especificações ATA nas quais se baseia a resposta acima. DISCLAIMER: This will erase all your data, and will not be recoverable by even data recovery services.
Hastur
1
@MichaelHampton É uma sentença relatada na mesma página do archlinux. Eu concordo com os 2 segundos para as teclas, mesmo que em dois minutos pareça um tempo muito curto para apagar todos os blocos, mesmo que seja um comando interno (velocidade máxima de gravação 70 MB / s * 120 seg ~ 8.4G = 1 / 10 de 80 GB). Além disso, em uma resposta no site de segurança da SE, eles disseram: _ "2 minutos não são suficientes para substituir o disco inteiro; portanto, se esse disco implementar alguma" exclusão segura "real, deve ser com o mecanismo de criptografia" _. Se você tiver algum referência sobre isso, por favor, adicione, será útil.
21716 Hastur
1

Como um SSD não se importa com quantas passagens de dados você coloca nele (exceto que se desgasta mais rapidamente) e a recuperação de dados não é possível após uma passagem completa (a menos que você coloque dados no espaço provisionado), basta escrever completamente com 1s removerá todos os dados existentes.

O problema que você enfrenta estará principalmente no armazenamento não acessível ao usuário, como qualquer espaço superprovisionado usado para nivelar o desgaste, qualquer cache e possível NVRAM que possa conter dados que identifiquem um sistema, sistema operacional ou algo assim.

Para limpar com segurança um SSD, ele precisa dar suporte explícito a ele e que ainda é específico do controlador e do firmware. O uso de software de apagamento seguro projetado para mídia magnética é inútil aqui, pois a maneira como os dados são apagados com segurança basicamente não tem relação entre armazenamento de estado sólido e armazenamento magnético. Com o armazenamento magnético, você poderia recuperar teoricamente estados anteriores de bits, mas com memória flash, um pouco não pode realmente ter um estado 'anterior' que você pode detectar. Ele possui um 0 ou um 1 e não um polo magnético com força variável, dependendo dos valores que ele possuía anteriormente.

Acabei de colocar o PCB em um liquidificador industrial e depois colocar o chip em pó. Não é possível obter dados disso. A revenda de SSDs usados ​​também não é uma coisa, já que eles ainda não têm um padrão de vida útil / uso conhecido como os HDDs. Na melhor das hipóteses, eles têm dados SMART com 'status de desgaste'.

John Keates
fonte
1

Se esses dados são realmente importantes que nunca devem ser recuperados, não é mais seguro usar o disco.

Como já foi dito, a substituição não funciona nos SSDs e, se o fabricante errar na criptografia (reduzir custos para economizar dinheiro, incompetência etc.), mesmo remover a chave não ajudará.

A partir de imediato, o DSS não aprovará mais os procedimentos de substituição para sanitização ou desatualização (por exemplo, liberação para controles de informações classificadas de nível inferior) dos dispositivos de armazenamento IS (por exemplo, discos rígidos) usados ​​para processamento classificado.

Se você trabalha com dados confidenciais (especialmente os que envolvem o governo), precisa de algo um pouco mais seguro. Eu recomendaria um maçarico:

Fonte, CNET

Tim
fonte