Atualmente, não há como apagar com segurança arquivos no SSD sem apagar o conteúdo de toda a unidade ou acessar o firmware do SSD.
-
É impossível saber onde o SSD pode armazenar cópias anteriores de um bloco lógico.
-
Para piorar a situação, devido aos mecanismos journalling e copy-on-write do sistema de arquivos, pode ser impossível saber quais blocos lógicos podem conter uma cópia anterior de um determinado arquivo.
A única maneira de evitar o vazamento de arquivos excluídos para alguém com acesso direto à unidade é criptografá-los em primeiro lugar e manter a chave de criptografia protegida de olhares indiscretos.
Adendo:
Eu fiz algumas pesquisas e descobri que é possível apagar todos os arquivos excluídos anteriormente se você conseguir aprender todos os setores desocupados de um sistema de arquivos, o que geralmente é possível e oferecido por alguns ferramentas do sistema de arquivos (por exemplo, para a família ext *) e, em seguida, descartá-las (por exemplo, com blkdiscard(8)
conforme descrito nesta resposta à questão vinculada ), que retorna os blocos para a coleta de lixo até que são usados novamente e sobrescritos no processo.
Isso é seguro contra todos que não podem acessar as células flash diretamente, então todos que
- não possui um dispositivo de leitura de célula flash adequado e
- não pode falar o firmware da unidade para revelar o conteúdo de blocos não atribuídos (o que exigiria uma modificação significativa do firmware na maioria dos casos e comandos ATA personalizados, pois não há uma maneira padronizada).