Os dados do gerador aleatório passam por vários lugares.
-
Começa no kernel. O gerador aleatório no kernel, como qualquer outro gerador aleatório, consiste em um gerador de bit aleatório (DRBG) determinístico que é propagado por fontes de entropia. O DRBG usado pelo Linux tem backtracking de resistência, o que significa que mesmo que um atacante consiga descobrir o estado do RNG em algum ponto (o que requer acesso no nível do kernel), eles não podem calcular os estados anteriores, então eles podem ' t encontrar saídas anteriores.
-
O kernel não mantém uma cópia dos dados que passa para o processo
cat
, ou mais tarde, através dos canais. -
Uma vez que o processo
cat
tenha terminado, sua memória é liberada de volta ao kernel. A memória liberada não é apagada imediatamente: o Linux limpa apenas a memória antes de entregá-la a um processo. (Isso ocorre porque limpar a alocação tem melhor desempenho do que apagar o lançamento.) Portanto, é possível que os dados ainda permaneçam na RAM por algum tempo após o término docat
. Obter esses dados exigiria acesso no nível do kernel e algumas habilidades forenses para encontrar a página certa na memória entre provavelmente centenas de milhares de candidatos. O mesmo vale para os outros processos (tr
,head
). -
Os canos não economizam memória em nenhum lugar. Os dados são copiados diretamente do processo para o processo.
-
Os dados são exibidos no terminal. Pode ser salvo em algum lugar na memória do emulador de terminal. Definitivamente é salvo desde que você possa rolar de volta para ele, e uma cópia pode permanecer na memória do processo mais tarde, dependendo de como o emulador de terminal gerencia sua memória. Encontrar os dados na memória do emulador de terminal requer acesso à sua conta.
-
Os dados exibidos no terminal não são armazenados em um arquivo, a menos que você tenha feito o logoff da sessão.
-
Os dados também podem permanecer na memória de vídeo (não na forma de texto, mas na forma de um grupo de pixels que foram exibidos em algum momento). Não há mecanismo para limpar a memória de vídeo e os fragmentos de imagens podem permanecer por muito tempo. Examinar a memória de vídeo requer acesso no nível do kernel.
-
Se você usar a área de transferência para copiar os dados do terminal, terá que se preocupar com onde os dados da área de transferência podem ser armazenados. Uma cópia pode permanecer na memória do servidor X por algum tempo, assim como uma cópia pode permanecer na memória do emulador de terminal. Encontrar essa cópia requer acesso em nível de raiz e habilidades forenses sérias.
-
Se você tiver um gerenciador de área de transferência (talvez como parte de seu ambiente de área de trabalho), precisará se preocupar onde ele pode armazenar um histórico do conteúdo da área de transferência.
Em resumo, o único risco prático é usar um gerenciador de área de transferência.