De um artigo (muito longo, mas definitivamente vale a pena ler) sobre SSDs :
Quando você exclui um arquivo no seu sistema operacional, não há reação do disco rígido ou do SSD. Somente quando você sobrescreve o setor (em um disco rígido) ou a página (em um SSD) você perde os dados. Os programas de recuperação de arquivos usam essa propriedade a seu favor e é assim que eles ajudam a recuperar arquivos excluídos.
A principal distinção entre HDDs e SSDs, porém, é o que acontece quando você sobrescreve um arquivo. Enquanto um HDD pode simplesmente gravar os novos dados no mesmo setor, um SSD alocará uma nova página (ou usada anteriormente) para os dados substituídos. A página que contém os dados agora inválidos será simplesmente marcada como inválida e, em algum momento, será apagada.
Então, qual seria a melhor maneira de apagar com segurança os arquivos armazenados em um SSD? A substituição de dados aleatórios como estamos acostumados a partir de discos rígidos (por exemplo, o uso do utilitário "shred") não funcionará, a menos que você substitua a unidade inteira ...
fonte
Se a unidade SSD suportar o conjunto de recursos do modo de segurança ATA, ela possui a funcionalidade de exclusão segura integrada, que você poderá acessar usando algo como Apagar Seguro, documentado aqui e aqui .
fonte
Mesmo se você substituir a unidade inteira, não poderá ter certeza absoluta, pois os HDs e SSDs contêm setores sobressalentes que são substituídos quando ocorrem falhas ou, no caso de SSDs, para ajudar no nivelamento do desgaste .
Se você deseja ter certeza absoluta de que os dados não podem ser recuperados, é necessário destruir fisicamente a unidade além da recuperação. A substituição fornece uma segurança razoável nos HDs - nos SSDs, não há realmente uma maneira de conseguir isso. Se você preencher toda a unidade, ainda é possível que o bloco em que os dados foram inseridos tenha sido alterado para um bloco sobressalente para nivelamento de desgaste e reaparecerá mais tarde.
fonte
Devido à natureza da memória flash NAND, os SSDs não podem substituir diretamente os dados. A substituição repetida de um arquivo antes de excluí-lo não o apagará com segurança em um SSD - os dados seriam gravados apenas em outro local na NAND.
Para entender por que esse é o caso, é necessário explicar como os SSDs funcionam internamente.
Fonte - Classificador de música de cortesia na Wikipedia, CC BY-SA 3.0
Cada página pode ser gravada individualmente, mas as páginas não podem ser reescritas até serem apagadas, e a exclusão só pode ser feita em blocos inteiros. Isso significa que sempre que os dados são reescritos, o SSD deve marcar os dados nas páginas afetadas como inválidos e reescrevê-los em outro local, possivelmente em um bloco diferente. Em um momento mais apropriado, idealmente quando a unidade está ociosa e todas as páginas de um bloco são marcadas como inválidas, o SSD pode apagar os blocos que não estão mais em uso. Esse processo de limpeza é chamado de coleta de lixo .
Para que o SSD saiba quais blocos podem ser apagados, o sistema operacional deve informar quais blocos não contêm mais dados válidos. Isso é feito usando o comando ATA TRIM . O SSD fica livre para coletar o lixo desses blocos não utilizados.
Os SSDs tentam espalhar gravações uniformemente pela NAND para evitar falhas prematuras, um processo que depende do espaço livre disponível para a unidade.
Cada bloco NAND pode suportar apenas um número finito de ciclos de gravação / apagamento. Muitos dos SSDs de consumo de hoje usam NAND de 19 a 21nm, onde cada bloco é bom por cerca de 3.000 ciclos antes de se tornar inutilizável, embora SSDs empresariais e vários SSDs de consumo sofisticados que usam tipos mais duráveis de NAND estejam disponíveis comercialmente.
Em todos os casos, no entanto, os SSDs devem espalhar as gravações por toda a unidade para evitar o desgaste indevido de um único bloco, a fim de evitar falhas prematuras da unidade, através de um processo chamado nivelamento de desgaste . O nivelamento eficiente do desgaste só pode ser alcançado se houver uma certa quantidade de espaço ( excesso de provisionamento ) reservada para permitir a coleta eficiente de lixo, conforme necessário, mesmo que a unidade esteja quase cheia.
Sob condições extremas em que o SSD está sendo solicitado a gravar dados mais rapidamente do que pode apagar blocos antigos (comum em cargas de trabalho de datacenter com muita gravação), pode ser forçado a reescrever os dados em um bloco em outro bloco e depois apagar o bloco antigo imediatamente para abrir caminho para novos dados, antes que eles tenham a chance de executar a coleta de lixo.
A reescrita forçada de um bloco é inferior ao ideal, pois diminui o desempenho e contribui para a amplificação de gravação , onde mais dados são gravados na NAND subjacente do que a quantidade real que o inversor é instruído a gravar. O excesso de provisionamento adicional ajuda a reduzir a amplificação de gravação, fornecendo mais espaço livre para reescrever dados e apagar blocos antigos. É por isso que os SSDs corporativos de ponta, como o Samsung SSD 845DC PRO, vêm em tamanhos de 200 GB e 400 GB, embora a unidade realmente contenha mais perto de 256 ou 512 GB de NAND, respectivamente. Veja também: Por que os SSDs têm tamanhos estranhos?
A série de documentos técnicos SSD da Samsung fornece uma explicação completa do funcionamento interno dos SSDs. Escrever e apagar páginas e blocos da NAND e coleta de lixo é explicado no white paper 04 .
A única maneira de realmente apagar dados em um SSD é usar os comandos ATA Secure Erase.
O Secure Erase instrui a unidade a limpar todos os dados armazenados, incluindo os dados que podem permanecer nas regiões NAND provisionadas em excesso. Todos os blocos são apagados quando isso é feito, resultando em uma unidade intocada.
Em unidades com capacidade de criptografia automática, o Secure Erase pode ser simplesmente implementado limpando a chave de criptografia. Como os dados no NAND de uma unidade criptografada são ilegíveis sem a chave, não há necessidade de apagar todos os blocos, conforme seria necessário em uma unidade não criptografada.
fonte
secure_erase
comando faz parte do padrão ATA. Pode não estar presente em algumas unidades mais baratas, mas, se existir, deve funcionar corretamente. O motivo pelo qual ele funciona melhor do que outras opções é que restaura a unidade à sua configuração original de fábrica. Mesmo nos HDDs, é mais rápido e eficaz do que ferramentas como DBAN.Conforme afirmado pelo @teabot, o uso de software de criptografia de disco completo contornará a questão da exclusão segura, porque você não precisa mais. No entanto, conforme declarado em uma pergunta relacionada , isso terá enormes impactos no desempenho, pois evita muitos recursos do controlador, como compactação e TRIM, e foi relatado que diminui o desempenho até um nível em que um disco rígido normal é mais rápido que o caro SSD. Para dispositivos baseados em SandForce, existe uma solução melhor: esses dispositivos usam criptografia AES por padrão e a chave será apagada quando você usar o recurso de exclusão segura do ATA, tornando todos os dados inacessíveis, a menos que o invasor possa quebrar o AES (128 bits para 256 bits atuais) para as novas unidades lançadas em março de 2011).
fonte
Como você pensou, limpar todo o espaço livre para garantir que todos os blocos que costumavam conter os dados sejam limpos é a única maneira de ter certeza. Bem, além de tirar um nuking do site da órbita ...
Isso consumirá bastante tempo e reduzirá a vida útil dos chips flash, se você usar um fragmento de várias passagens.
A outra maneira de proteger os dados excluídos é armazená-los criptografados em primeiro lugar, usando um sistema de arquivos criptografado usando algo como truecrypt.
fonte