it-swarm-pt.tech

Como excluir com segurança os arquivos armazenados em um SSD?

De um (muito longo, mas definitivamente vale a pena ler) artigo sobre SSDs :

Quando você exclui um arquivo no seu sistema operacional, não há reação do disco rígido ou do SSD. Até você sobrescrever o setor (em um disco rígido) ou a página (em um SSD) que você realmente 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, no entanto, é 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? Substituir dados aleatórios como estamos acostumados a partir de discos rígidos (por exemplo, usando o utilitário "shred") não funcionará, a menos que você substitua a unidade INTEIRA ...

28
c089

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 questão 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 nível normal disco rígido é mais rápido que o caro SSD. Para dispositivos baseados em SandForce, existe uma solução melhor: esses dispositivos fazem a 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).

6
c089

Que tal criptografar o próprio volume? Os dados excluídos ainda estarão lá, mas devem estar inacessíveis para qualquer pessoa sem a chave apropriada.

22
teabot

Se a unidade SSD suportar o conjunto de recursos do modo de segurança ATA, ela possui a funcionalidade de exclusão segura, que você poderá acessar usando algo como Apagamento Seguro, documentado em aqui e aqui .

13
bk1e

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.

  • O flash NAND é dividido em blocos, cada um consistindo em um conjunto de páginas normalmente com 4 KB de tamanho (mais códigos de correção de erros). A maioria dos SSDs modernos usa NAND com blocos de 128 páginas para um tamanho de bloco de 512 KB, embora algumas unidades, especialmente as mais antigas, possam usar blocos de 256 KB ou menores. O diagrama a seguir assume blocos de 256 KB, mas o conceito é o mesmo, independentemente do tamanho do bloco.

Diagram of pages in a NAND block
Fonte - Cortesia Music Sorter 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 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 sustentar 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 estejam disponíveis comercialmente SSDs empresariais e vários SSDs de alto padrão que usam tipos mais duráveis ​​de NAND.

  • 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, por meio de um processo chamado nivelamento do 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), ele 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 gravação de amplificação, na qual mais dados são gravados na NAND subjacente do que a quantidade real da unidade é instruído a escrever. 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 última geração, como o Samsung SSD 845DC PRO, vêm em tamanhos de 200 GB e 400 GB, mesmo que 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?

  • White paper SSD da Samsung fornece uma explicação completa do funcionamento interno dos SSDs. A escrita e a exclusão de páginas e blocos NAND e a coleta de lixo são explicadas em 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.

11
bwDraco

Mesmo que você substitua 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 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 estavam os dados tenha sido alterado para um bloco sobressalente para nivelamento de desgaste e reaparecerá mais tarde.

10
Michael Borgwardt

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.

3
David Spillett