Sobre a criação e destruição de dados sensíveis em sistemas linux / unix

5

Em sistemas de arquivos modernos (e em SSDs modernos) não há garantia de que, se você escrever sobre um arquivo usando um utilitário tradicional (como dd), os dados serão substituídos no local e os backups registrados serão destruídos. Como resultado, os dados poderiam ser recuperados. Então, depois de uma pequena pesquisa, percebi que montar um ramfs temporário (o tmpfs era descartado devido ao potencial de troca) seria o caminho a seguir:

# mkdir -p /mnt/tmp/ram
# mount -t ramfs -o size=[size, but ramfs grows as needed] ramfs /mnt/tmp/ram
# [create the sensitive data, secure it, copy out secured data]
# umount /mnt/tmp/ram

Q1: Desmontar um ramf destrói os dados contidos nele?

Q2: Se não for garantido que os dados serão destruídos, existe alguma maneira possível de recuperar esses dados (ou eu estou apenas sendo paranóico)?

Q3: se os dados forem recuperáveis,

# dd if=/dev/zero of=/mnt/tmp/ram/[filename]

destruir os dados corretamente ou não é garantido que os ramfs sobregravem arquivos no local?

Restrições: O sistema não pode ser forçado a reinicializar antes / durante / após essas operações.

Caso você esteja curioso, os "dados confidenciais", neste caso, são os nomes de usuário + senhas sem hassel para um banco de dados de pam. Os "dados seguros" são o banco de dados salgado / com hash, que acabaria na unidade principal. Eu não quero que os dados confidenciais toquem na unidade (já que estou usando ext3 - que não pode garantir que os dados serão irrecuperáveis sem limpar toda a partição, tanto quanto eu entendo).

Se você conhece uma maneira melhor de fazer isso, por favor me esclareça, obrigado.

    
por Schives 24.03.2016 / 00:17

1 resposta

5

Q1: sim

Q2: não é viável recuperar os dados. No entanto, se você quer ser radical, você pode fazer assim:)

  1. Crie algum espaço no RAM: %código%
  2. Crie algum arquivo preenchido aleatoriamente que criptografamos nesse espaço de RAM. Sendo preenchido com dados aleatórios, será impossível estabelecer limites entre dados aleatórios e criptografados. %código%
  3. Configuração da inscrição %código%
  4. Formate e monte o novo espaço seguro: %código%
  5. Umir securedir / e depois ram / perder os dados até o final dos tempos. %código%
por 24.03.2016 / 06:24