Google trabalhando no suporte à hibernação criptografada do Linux

Google trabalhando no suporte à hibernação criptografada do Linux
Imagem: Android Police

Os engenheiros do Google estão trabalhando no suporte de hibernação criptografada para o kernel Linux. Este plano deve oferecer um grande suporte de hibernação para o uso do Google Chromebook. Sendo assim, os engenheiros do Google estão trabalhando para “habilitar a hibernação em alguns novos cenários”. No entanto, isso deve ocorrer com o máximo de segurança. Além de tomar medidas preventivas para garantir que o espaço malicioso do usuário não possa usar a hibernação como um trampolim para o escalonamento do kernel, a equipe de segurança do Google também está exigindo a hibernação criptografada. 

A comunicação diz o seguinte:

A imagem de hibernação deve ser criptografada com proteção derivada da plataforma (por exemplo, TPM) e dos dados de autenticação do usuário (por exemplo, senha).

O software do usuário é o uswsusp e pode ser utilizado para suporte de criptografia durante a suspensão, mas não atende aos requisitos de segurança do Google, onde o kernel pode garantir a integridade da imagem de hibernação. O Google busca agora a criptografia baseada em kernel, o suporte ao uso de chaves baseadas em TPM para criptografar a imagem de hibernação, a vedação da chave de criptografia com uma política de PCR e outros trabalhos para garantir que a imagem de hibernação criptografada seja confiável.

Google trabalhando no suporte à hibernação criptografada do Linux

Alguns patches ainda precisam ser escritos em cima desta série. A funcionalidade generalizada para OR em PCRs adicionais via Kconfig (como PCR 0 ou 5) ainda precisa ser adicionada. Também precisaremos de um patch que não permita formas não criptografadas de retomar da hibernação, para fechar totalmente a porta para o espaço de usuário malicioso. No entanto, eu queria lançar esta série primeiro e obter reações do upstream antes de continuar a adicionar a ela.

Aqueles potencialmente interessados no suporte à hibernação criptografada do Linux podem encontrar a série inicial de patches na lista de discussão do kernel.

Google trabalhando no suporte à hibernação criptografada do Linux
Google trabalhando no suporte à hibernação criptografada do Linux.

Estamos explorando a habilitação da hibernação em alguns novos cenários. No entanto, nossa equipe de segurança tem alguns requisitos, listados abaixo:

  1. A imagem de hibernação deve ser criptografada com proteção derivada de
    tanto a plataforma (por exemplo, TPM) quanto os dados de autenticação do usuário (por exemplo,
    senha).
  2. A hibernação não deve ser um vetor pelo qual um espaço de usuário malicioso possa
    escalar para o kernel.

O requisito nº 1 pode ser alcançado apenas com uswsusp, no entanto, o requisito
2 necessita de mecanismos no kernel para garantir a integridade do
imagem de hibernação. O kernel precisa de uma maneira de autenticar que gerou
a imagem de hibernação sendo carregada e que a imagem não foi adulterada
com. Adicionando suporte para criptografia AEAD no kernel com uma chave selada TPM
nos permite atingir ambos os requisitos com um único passo de computação.

Via Phoronix