Uma vulnerabilidade no cryptsetup permitiu que a criptografia fosse desabilitada em partições LUKS2

Recentemente, a notícia de que uma vulnerabilidade foi identificada (já listado em CVE-2021-4122) no pacote Cryptsetup, que é usado para criptografar partições de disco no Linux.

É mencionado que para explorar a vulnerabilidade, um invasor deve ter acesso físico para o meio criptografado, ou seja, o método faz sentido principalmente para atacar unidades externas criptografadas, como pen drives, aos quais o invasor tem acesso, mas não sabe a senha para descriptografar os dados.

Ataque é aplicável apenas para o formato LUKS2 e está associado à manipulação de metadados responsável por ativar a extensão «reencriptação online», que permite, se necessário, alterar a chave de acesso, iniciar o processo de recriptografia de dados em tempo real sem interromper o trabalho com a partição.

Como o processo de descriptografia e criptografia com uma nova chave leva muito tempo, a "recriptografia online" permite não interromper o trabalho com a partição e realizar a recriptografia em segundo plano, transferindo gradualmente os dados de uma chave para outra. Em particular, é possível selecionar uma chave de destino vazia, que permite traduzir a seção em um formato não criptografado.

Um invasor pode fazer alterações nos metadados do LUKS2 que simulam uma interrupção da operação de descriptografia como resultado de uma falha e obter a descriptografia de parte da partição após a ativação subsequente e uso da unidade modificada pelo proprietário. Nesse caso, o usuário que conectou a unidade modificada e a desbloqueou com a senha correta não recebe nenhum aviso sobre a restauração da operação de recriptografia interrompida e pode saber o andamento desta operação apenas com o comando “luks Dump” . A quantidade de dados que um invasor pode descriptografar depende do tamanho do cabeçalho LUKS2, mas com o tamanho padrão (16 MiB) pode exceder 3 GB.

O problema se origina do fato de que embora a operação de recriptografia exija o cálculo e verificação dos hashes das chaves novas e antigas, o hash não é necessário para restaurar o processo de descriptografia interrompido se o novo estado implicar na ausência de uma chave para criptografia (texto simples).

Além disso, Os metadados do LUKS2 que especificam o algoritmo de criptografia não estão protegidos contra modificação se caírem nas mãos de um atacante. Para bloquear a vulnerabilidade, os desenvolvedores adicionaram proteção de metadados adicional ao LUKS2, para o qual um hash adicional agora é verificado, calculado com base em chaves conhecidas e conteúdo de metadados, ou seja, um invasor não poderá mais alterar metadados furtivamente sem saber a senha de descriptografia.

Um cenário de ataque típico exige que o invasor tenha a oportunidade colocar as mãos no disco várias vezes. Primeiro, o invasor, que não sabe a senha de acesso, faz alterações na área de metadados que inicia a descriptografia de parte dos dados na próxima vez que o drive for ativado.

A unidade é então devolvida ao seu lugar e o invasor espera até que o usuário a conecte digitando uma senha. Durante a ativação do dispositivo pelo usuário, um processo de recriptografia é iniciado em segundo plano, durante o qual parte dos dados criptografados é substituída por dados descriptografados. Além disso, se um invasor conseguir colocar as mãos no dispositivo novamente, alguns dos dados na unidade serão descriptografados.

O problema foi identificado pelo mantenedor do projeto cryptsetup e corrigido nas atualizações do cryptsetup 2.4.3 e 2.3.7.

O status da geração de atualizações com a solução do problema nas distribuições pode ser acompanhado nestas páginas: RHELSUSEFedoraUbuntuarco. A vulnerabilidade aparece apenas desde o lançamento do cryptsetup 2.2.0, que introduziu suporte para a operação de "recriptografia online". Começando com a opção “–disable-luks2-reencryption” pode ser usada como solução de segurança.

Finalmente se você estiver interessado em saber mais sobre isso sobre as novidades, você pode verificar os detalhes no link a seguir


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.