Lennart Poettering propôs uma nova arquitetura de inicialização verificada do Linux

Lennart Poettering publicou uma proposta para modernizar o processo de inicialização das distribuições Linux, visando resolver problemas existentes e simplificar a organização de uma inicialização verificada completa, que confirme a autenticidade do núcleo e do ambiente de sistema básico. As alterações necessárias para a aplicação da nova arquitetura já foram incluídas na base de código do systemd e afetam componentes como systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase e systemd-creds.

As mudanças propostas envolvem a criação de uma imagem única e universal UKI (Unified Kernel Image), que combina a imagem do núcleo Linux, um manipulador para a inicialização do núcleo a partir do UEFI (UEFI boot stub) e o ambiente de sistema carregado na memória initrd, utilizado para a inicialização inicial antes da montagem do sistema de arquivos raiz. Em vez da imagem do disco RAM initrd, o UKI pode conter todo o sistema, permitindo a criação de ambientes de sistema totalmente verificados que são carregados na memória RAM. A imagem UKI é formatada como um arquivo executável no formato PE, que pode ser carregado não apenas por meio de carregadores tradicionais, mas também invocado diretamente a partir do firmware UEFI.

A possibilidade de chamada a partir do UEFI permite usar a verificação de integridade e autenticidade através de assinatura digital, cobrindo não apenas o núcleo, mas também o conteúdo do initrd. Ao mesmo tempo, o suporte para invocação por carregadores tradicionais permite manter funcionalidades como a entrega de várias versões do núcleo e o retorno automático para um núcleo funcional em caso de problemas com o novo núcleo após a instalação da atualização.

Atualmente, a maioria das distribuições Linux utiliza a cadeia de inicialização "firmware → camada shim verificada por assinatura digital da Microsoft → carregador GRUB verificado por assinatura digital da distribuição → núcleo Linux verificado por assinatura digital da distribuição → ambiente initrd não verificado → sistema de arquivos raiz". A falta de verificação do initrd nas distribuições tradicionais cria problemas de segurança, pois, entre outras coisas, esse ambiente é responsável pela extração de chaves para a descriptografia do sistema de arquivos raiz.

A verificação da imagem initrd não é suportada, pois esse arquivo é gerado no sistema local do usuário e não pode ser autenticado pela assinatura digital da distribuição, o que dificulta significativamente a verificação ao usar o modo SecureBoot (para assinar o initrd, o usuário deve gerar suas próprias chaves e carregá-las no firmware UEFI). Além disso, a organização atual de inicialização não permite o uso das informações dos registros PCR do TPM (Platform Configuration Register) para controlar a integridade dos componentes do espaço do usuário, além do shim, grub e kernel. Entre os problemas mencionados, também está a dificuldade de atualizar o carregador e a impossibilidade de restringir o acesso às chaves no TPM para versões antigas do sistema operacional que se tornaram obsoletas após a instalação da atualização.

Os principais objetivos da implementação da nova arquitetura de inicialização:

  • Fornecer um processo de inicialização totalmente verificado, abrangendo todas as etapas desde o firmware até o espaço do usuário, e confirmando a autenticidade e integridade dos componentes carregados.
  • Vincular os recursos controlados a registros PCR do TPM com divisão entre proprietários.
  • Possibilidade de pré-cálculo dos valores PCR com base no que está sendo carregado, como o kernel, initrd, configuração e o identificador local do sistema.
  • Proteção contra ataques de rollback, relacionados ao retrocesso para uma versão anterior vulnerável do sistema.
  • Simplificação e aumento da confiabilidade das atualizações.
  • Suporte a atualizações do sistema operacional que não requerem a reaplicação ou preparação local de recursos protegidos pelo TPM.
  • Preparação do sistema para a realização de atestados remotos para confirmar a correção do sistema operacional carregado e das configurações.
  • Possibilidade de anexar dados confidenciais a determinados estágios de inicialização, por exemplo, extraindo do TPM as chaves de criptografia para o sistema de arquivos raiz.
  • Fornecer um processo seguro, automático e que funcione sem intervenção do usuário para desbloquear chaves para a descriptografia do disco com a partição raiz.
  • Uso de chips que suportam a especificação TPM 2.0, com possibilidade de retrocesso para sistemas sem TPM.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster