Eu sou bastante novo na tecnologia SSD, então não sei como ela se compara aos discos rígidos quando se trata de apagar a unidade com segurança. É suficiente executar o Utilitário de Disco e apagar a unidade com a opção "substituir com zeros" ou foi projetada para discos rígidos? Existem outras ações que devem ser tomadas?
Não estou procurando segurança de nível NSA, apenas o tipo de limpeza que você faria se estivesse retornando ou vendendo o Mac.
Respostas:
Depende do seu nível de paranóia. Devido à maneira como os SSDs lidam com a gravação de dados, fazer um zero uma vez em um SSD não é tão bom quanto em um disco rígido.
Quando você escreve uma página de dados específica em um HD, os novos dados são simplesmente gravados nos dados antigos, substituindo-os. Escreva zeros em todo o disco e todos os dados antigos desaparecerão. Os SSDs, por outro lado, não podem simplesmente sobrescrever páginas individuais. Para substituir os dados em uma página, os dados antigos devem ser apagados primeiro e os SSDs não podem apagar páginas individuais; eles precisam apagar blocos inteiros que consistem em muitas páginas.
Então, o que acontece quando você solicita que um SSD substitua, digamos, a página 5, é que o SSD deixa os dados na página 5 sozinho, mas marca-os como inválidos, aloca outra página em branco no momento (digamos, 2305), escreve os novos dados da página 2305 e toma nota de que, da próxima vez que o sistema operacional solicitar a página 5, ele deverá receber a 2305. Os dados da página original nº 5 ficam lá até mais tarde, quando a unidade precisa de mais espaço, afasta as páginas válidas restantes do bloco e as apaga. Os SSDs têm mais capacidade de memória física do que expõem ao computador, para que possam manipular blocos como esse por um tempo antes de realmente apagar alguma coisa (e quando realmente apagam algo, não há uma boa maneira de prever quais blocos de dados restantes serão ser escolhido para apagamento). Veja esta revisão da AnandTech para mais detalhes (aviso: é bastante longo, e o material relevante está espalhado).
Resultado líquido: se você escrever zeros na unidade "inteira", na verdade não substituiu todos os dados antigos. Você já atualizou a tabela a tradução do controlador para que ele nunca vai retornar qualquer um dos antigos dados para o OS (essas páginas são todos inválido). Mas se alguém for suficientemente hardcore para ignorar o controlador, poderá recuperar alguns dos seus dados.
A substituição duas vezes provavelmente funcionará, mas depende da estratégia de alocação do controlador. Sobrescrever duas vezes com dados aleatórios (
diskutil randomDisk 2 /dev/diskN
) é um pouco mais provável de funcionar, mas ainda não é garantido. Ambos também têm alguns efeitos colaterais ruins: eles usam parte da vida útil da unidade e também aumentam a fragmentação lógica no SSD, diminuindo o desempenho de gravação.Observe que as versões recentes do Utilitário de disco gráfico do OS X desativam as opções de apagamento seguro nos SSDs (pelos motivos discutidos acima), mas a versão da linha de comando ainda permite. BTW, também vi várias recomendações para apagar com segurança os SSDs convertendo-os para o formato criptografado, mas isso é (se houver) um pouco menos seguro do que sobrescrever dados aleatórios.
A melhor maneira de apagar com segurança um SSD é chamar o recurso de apagamento seguro interno do controlador. Isso deveria (se os projetistas do controlador fizessem seu trabalho) realmente apagar todos os blocos e também ter o efeito colateral de redefinir o mapa de página lógica, essencialmente desfragmentando-o e restaurando seu desempenho original. Infelizmente, a maioria dos utilitários que vi para fazer isso (por exemplo, o HDDErase da CMRR ) é executada no DOS, que não inicializa no Mac. Eu encontrei uma postagem em macrumors com instruções (bastante complexas) para fazer uma exclusão segura de um CD de inicialização do GParted. Também pode ser possível usar o Parted Magic a partir de uma unidade flash inicializável , mas eu não tentei isso.
Pesquisadores do Laboratório de Sistemas Não Voláteis da UCSD testaram várias maneiras de higienizar SSDs "apagando" a unidade, desmontando-a para contornar o controlador e verificando os dados remanescentes ( resumo , artigo completo ). Seus resultados concordam principalmente com o que eu disse acima (e também mostram que o comando interno de exclusão segura nem sempre é implementado corretamente):
fonte
Abra um terminal e digite o seguinte comando:
Observe a primeira coluna correspondente à partição do SSD que você deseja apagar irreversivelmente. Vamos dizer que sim
/dev/disk1s2
.Digite o seguinte comando:
Onde
/dev/rdisk1s2
está o dispositivo bruto associado à sua partição no SSD. Este comando gravará completamente essa partição do 1º bloco disponível até o último. Este comando vai durar muito (~ 1/2 h para 100 Gbytes) sem uma boa barra de rolagem do progresso.Depois que esse comando retorna o prompt do seu shell, o disco foi apagado completa e irreversivelmente. Inicie
Disk Utility
e verifique esta partição. Ele lhe dirá que está danificado além de qualquer forma de reparo. E está certo.Apenas formate esta partição como desejar.
Aqui está o que está acontecendo no nível de blocos físicos:
fonte
dd
aqui é não apenas ignorar algum nível de cache (não temos como saber sua capacidade), mas esgotá-los parcialmente (esse é o estado da figura 3). O segundo passe realmente precisará encontrar novos blocos e apagá-los com segurança.O botão "Opções de segurança ..." no Utilitário de Disco está acinzentado para SSDs. De acordo com http://support.apple.com/kb/HT3680 , apagar um SSD normalmente pode ser seguro o suficiente:
Ainda é possível executar algo parecido
diskutil secureErase freespace 4 disk0s2
com o Terminal na partição de recuperação.Simplesmente ativar o FileVault 2 antes de apagar a unidade provavelmente é uma opção melhor. De acordo com esta resposta , executar uma limpeza remota também apenas apaga a chave de criptografia se o FileVault 2 estiver ativado:
http://training.apple.com/pdf/wp_osx_security.pdf :
fonte