Por que criptografar a partição swap


Respostas:


19

A criptografia do espaço de troca é usada para proteger informações confidenciais. Considere um aplicativo que lida com senhas. Enquanto essas senhas permanecerem na memória física, essas senhas não serão gravadas no disco e serão limpas após uma reinicialização. Se o sistema operacional começar a trocar as páginas de memória para liberar espaço para outros aplicativos, as senhas poderão ser gravadas nos pratos dos discos sem criptografia. Criptografar o espaço de troca pode ser uma solução para esse cenário.

As partições de troca não são criptografadas por padrão e devem ser limpas de quaisquer dados confidenciais antes de continuar.

A partição de troca pode conter muitas informações confidenciais não criptografadas e o fato de persistir após o desligamento do computador pode ser um problema.

Para criptografar SWAP, consulte Partição de troca criptografada no Ubuntu

Leitura extra: criptografia de swap e Ubuntu - Como criptografar partição de swap

Fonte: C. Brüffer


2

Suponho que você esteja falando de um diretório inicial ou de uma instalação completa de criptografia de disco.

A troca é alocada em espaço no armazenamento persistente (porque é mais barato), fornecendo mais memória virtual ao sistema operacional. Todos os seus aplicativos são executados na memória virtual, mantendo todos os dados não criptografados para as operações. As chances são razoavelmente altas de que partes dos dados criptografados no disco terminem sem criptografia no armazenamento de troca. Também coisas temporárias na memória, como chaves de criptografia, podem ser movidas da memória física para serem trocadas por algum tempo (se o kernel assim o decidir). Com uma chave de criptografia simples, um invasor é capaz de decifrar todo o seu disco rígido.

Além disso, a troca não é apagada depois que você desliga o PC, diferente da memória física.

Observe também que, se você hibernar o sistema, toda a memória física será gravada para troca. Isso fornece uma quantidade ainda maior de dados para um possível invasor.

Resumido, no contexto da criptografia de dados em sua máquina, é uma coisa muito ruim não criptografar a troca se você manipular arquivos criptografados, do ponto de vista da segurança. Pode até violar a segurança completa que você está tentando alcançar.


2

É por isso que há muito tempo atrás eu fui convencido a realmente criptografar também minha partição de swap.

Tente os seguintes comandos:
Primeiro descubra o seu dispositivo de swap e, em seguida, descubra se a senha do usuário (ou qualquer sequência crítica para você) está armazenada em algum lugar na memória de swap:

  $ sudo swapon --summary  
  Filename                                Type        ...  
  /dev/mapper/vg_ubu476-lv_swap           partition   ...  

   $ sudo time strings < /dev/mapper/vg_ubu476-lv_swap | grep <any substring of your password>

Se a senha não for encontrada, o comando termina sem saída. Isso levou 40 segundos para mim, com meus 4 GiB de swap.
Tente isso com "| more" em vez de "| grep <...>"; isso mostrará se você limpou o disco desde o início, antes da criptografia, com ASCII aleatório ou não.

Cuidado com um problema: após esses comandos, a "substring da sua senha" permanecerá escrita no seu histórico do bash e você poderá sentir a necessidade de apagá-lo. Com "substring of password" você pelo menos não tem a senha completa lá ... E: somente o root pode procurar dentro dela.

Meu comando strings examinou a camada descriptografada do sistema, que vive apenas enquanto o sistema operacional é executado.

Abaixo desse, há o LVM, o contêiner LUKS descriptografado e, finalmente, o dispositivo criptografado (uma partição grande). Você pode tentar digitalizar todos eles com "strings".

Quando fiz essas "strings" na primeira vez, encontrei muitas senhas de root, pois estava usando "su - root" no lugar de "sudo su -". Agora, com o sudo, não encontro nenhum.

Desempenho - acredite: estou trabalhando com 1,3 terabytes de material criptografado (sistema + banco de dados de fotos grande) em três SSDs em um Thinkpad W520 sem sentir nenhum atraso. Mas pelo menos 8 GiB de memória podem ajudar um pouco.


Isso não funciona no Ubuntu 18.10 criptografado; Recebo "bash: <diretório>: permissão negada". no console.
Patrick Dark

1

Pelas mesmas razões, você desejaria criptografar a memória principal. Os programas têm cópias de texto não criptografadas de suas informações e são trocadas para o disco (partição de troca) pelo agendador de tempos em tempos. Se alguém estivesse suficientemente motivado e ativado, a troca poderia ser extraída por esses dados pessoais.

No entanto, a troca criptografada não importa muito se você não criptografou seu disco raiz.

criptografia não é barata, espere um impacto significativo no desempenho.

As únicas pessoas que conheço que "fazem tudo" viajam bastante. Se você quiser apenas mexer, vá em frente.

PS: antes que alguém faça uma piada sobre não poder criptografar a memória principal, visite http://bluerisc.com/ , até o conjunto de instruções é criptografado.


Eu entendo criptografar dados de troca. No entanto ... criptografando a RAM ... qual é o modelo de ameaça contra o qual ele deve proteger?
Jay Sullivan

1
Analisadores de barramento para iniciantes. É o tipo de coisa que um militar estaria interessado se perdesse um ativo no campo.
precisa saber é o seguinte
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.