Limpar é muito lento. Muito pouca entropia?

15

Eu tenho que entregar um laptop, incluindo o disco rígido. Como não estava criptografado, queria apagá-lo pelo menos rapidamente. Eu sei que isso não é ideal em SSD, mas eu pensei melhor do que simplesmente legível.

Agora eu estou executando a limpeza de um pendrive ao vivo e é dolorosamente lento. Eu me pergunto por que isso é. É claro que quase nada está acontecendo no computador além de limpar esse dispositivo, então imagino que a entropia possa ser baixa (entropy_avail diz que é 1220). Seria igualmente bom apenas ligar

dd if=/dev/random of=/dev/sda1 bs=1k

quatro vezes? Ou há uma maneira de chamar algo que aumenta a aleatoriedade? Ou o gargalo de uma garrafa é completamente diferente?

    
por user857990 11.06.2015 / 17:37

4 respostas

49

Não tente "limpar" um SSD com ferramentas projetadas para girar discos rígidos magnéticos. Na verdade, você não destruirá todos os dados e apenas reduzir a vida útil do SSD.

Em vez disso, use uma ferramenta de exclusão projetada especificamente para SSDs, que pode usar o flash interno da unidade (descarte) para descartar todos os blocos, incluindo os que você não pode acessar. O fornecedor de SSD normalmente fornece uma ferramenta que é garantidamente compatível com as unidades desse fornecedor.

Você também pode tentar fazê-lo você mesmo com o utilitário Secure Erase . Os programas que fazem o Secure Erase funcionam com discos rígidos giratórios e SSDs. Além disso, alguns BIOS de sistema (principalmente em laptops comerciais) têm a funcionalidade Secure Erase incorporada. Observe que um Secure Erase levará horas em um disco rígido, mas apenas alguns segundos em um SSD; em um disco rígido, cada setor deve ser gravado, mas em um SSD ele descartará todos os blocos de uma só vez e / ou alterará a chave de criptografia interna da unidade.

(E observe que o apagamento seguro não funcionou corretamente em alguns dos SSDs de geração mais antiga; nesses casos, você deve simplesmente jogar a unidade em um britador.)

    
por 11.06.2015 / 19:18
5

Usar /dev/urandom deve tornar tudo mais rápido. Eu não limparia um SSD assim. Os SSDs geralmente possuem um avançado nivelamento de desgaste no lugar. Basicamente, em vez de escrever sobre os dados existentes, a unidade escreve sobre partes não utilizadas. Demora um pouco de tempo para embaralhar corretamente todos os dados. A essa altura, você já teria usado um SSD, embora seja apenas um pouquinho.

    
por 12.06.2015 / 09:28
3

/dev/random gera dados aleatórios por entropia coletada pelo seu sistema (atrasos de tempo entre atalhos de teclado, tempo de rede medindo as chegadas de pacotes com precisão de nanossegundos, etc). Se não houver entropia suficiente, este dispositivo bloqueia a saída enquanto coleta mais entropia.

/dev/urandom usa aso a entropia coletada, mas também usa um gerador pseudo-aleatório. Então não tem muita entropia, ao contrário de /dev/random , mas é muito rápido. Sua saída tem entropia alta o suficiente, portanto, você pode usá-la em todos os lugares se não tiver algumas restrições de segurança muito altas (normalmente, geração de chaves).

Se você sobrescrever um SSD no nível de bloco com uma porcaria de alta entropia, você sobrescreverá seu flash no nível muito baixo (e na maioria dos casos, inacessível). Isso ocorre porque o SSD que controla o IC não tem nenhuma possibilidade de investigar, seus dados realmente são ruins ou não, então seu mecanismo de desduplicação de dados é facilmente evitado.

Mas os flash rams têm uma gravação máxima de bloco e você a envia com uma ação mais próxima à expiração de sua vida útil. Mas um SSD pode ser substituído em torno de 10000 a 100.000 vezes antes de começar a morrer, e a limpeza de dados não precisa acontecer com tanta frequência, então ainda está tudo bem.

    
por 14.06.2015 / 09:53
1

Em resposta aos comentários à minha resposta, devo admitir que a limpeza não é, em geral, uma boa ideia para os SSDs.

Além das respostas acima, eu gostaria de recomendar o frandom

É ainda mais rápido que o urandom. O urandom é muito mais rápido que aleatório, mas ainda assim muito lento. Frandom é a minha escolha para limpar discos e apenas para limpar discos. Não produz a mesma entropia aleatória e urinária, mas para limpar o disco deve ser suficiente. Como MadHatter apontou, o algoritmo usado tem pontos fracos. Mas, para limpar o disco, você só quer garantir que não seja possível reconstruir os bits restantes possíveis.

Se você tiver problemas com o runnning, o ArchWiki tem uma boa documentação. O ArchWiki também abrange muito mais detalhes sobre como remover discos.

    
por 28.07.2015 / 08:52