Isenção de responsabilidade: A maior parte deste aviso aplica-se a fiação de metal (HDDs convencionais) com dados não criptografados.
Quão paranóico você quer ser? Um invasor não sofisticado dificilmente conseguirá superar uma única passagem de zeros. Uma agência de três letras pode ter a capacidade de recuperar alguns dados mesmo depois de substituir padrões ou dados aleatórios. Ou não. Quem sabe, eles não falam sobre suas capacidades que eu conheço.
Mesmo que você tenha feito dezenas de passes com uma mistura de vários padrões e dados aleatórios, você pode ter alguns fragmentos de dados em setores ruins reatribuídos. Você provavelmente não será capaz de apagá-los sem poder falar com o firmware da unidade e com a ajuda do fabricante / ferramentas personalizadas. Se algum dado sensível já estiver na unidade sem criptografia, a única maneira de garantir que ele se foi é a destruição total da unidade (fragmentação mecânica, etc). Os equipamentos que lidam com dados confidenciais geralmente têm acordos de garantia especiais com os fabricantes de unidades, de modo que eles só precisam retornar a tampa superior da unidade.
IMHO, o melhor que você pode fazer hoje em dia para fiar metal é substituir pelo menos uma passagem de bits aleatórios. Se a criptografia completa da unidade tiver sido usada, provavelmente será mais do que suficiente. Se dados confidenciais estiverem na unidade sem criptografia e você estiver preocupado com um invasor sofisticado, considere a destruição total.
Como as pessoas estão apontando (rob), há um comando ATA secure erase. Provavelmente é bom contra um invasor não sofisticado.
Os SSDs são um tipo totalmente diferente de criatura, como Hennes apontou. Se o software fornecido pelo fabricante tiver algum tipo de recurso de apagamento, use-o (ou o comando ATA, esperamos que eles forneçam uma implementação personalizada adequada ao seu dispositivo). Sobrescrever os padrões vai interferir na vida útil do dispositivo, e quem sabe o que realmente está acontecendo no nível físico, o firmware fará o que quiser (usar nivelamento, células sobressalentes, otimização de gravação, etc.), então não há garantia de que você limpou todas as células.
Quanto às implementações, o DBAN (veja o post do ioSamurai) é provavelmente a solução de plataforma cruzada mais fácil, dependendo de como o dispositivo de destino está conectado. No Windows, usei o Eraser (heide.ie), mas há muitas opções. O mesmo para o OS X. O Linux é um pouco mais limitado, mas se nada mais você conseguir fazer o trabalho com dd e / dev / urandom no dispositivo bruto (ou, para aumentar a paranóia, use o RNG de sua escolha, usado ISAAC, OS X / dev / random usa Yarrow).