Lennart Poettering propôs uma nova arquitetura para inicialização verificada. Linux

Lennart Poettering publicou uma proposta para modernizar o processo de inicialização. Linux-дистрибутивов, нацеленное на решение имеющихся проблем и упрощение организации полноценной верифицированной загрузки, подтверждающей достоверность ядра и базового системного окружения. Необходимые для применения новой архитектуры изменения уже включены в кодовую базу systemd и затрагивают такие компоненты, как systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase и systemd-creds.

Предложенные изменения сводятся к созданию единого универсального образа UKI (Unified Kernel Image), объединяющего образ ядра Linux, обработчик для загрузки ядра из UEFI (UEFI boot stub) и загружаемое в память системное окружение initrd, применяемое для начальной инициализации на стадии до монтирования корневой ФС. Вместо образа RAM-диска initrd в UKI может быть упакована и вся система, что позволяет создавать полностью верифицированные системные окружения, загружаемые в оперативную память. UKI-образ оформляется в виде исполняемого файла в формате PE, который может быть загружен не только при помощи традиционных загрузчиков, и напрямую вызван из прошивки UEFI.

A capacidade de invocar a partir da UEFI permite a verificação da integridade e validade da assinatura digital, abrangendo não apenas o kernel, mas também o conteúdo do initrd. O suporte para invocação a partir de carregadores de inicialização tradicionais também preserva recursos como o provisionamento de múltiplas versões do kernel e o rollback automático para um kernel funcional caso sejam detectados problemas com o novo kernel após a instalação de uma atualização.

В настоящее время в большинстве дистрибутивов Linux в процессе инициализации используется цепочка «прошивка → заверенная цифровой подписью Microsoft shim-прослойка → заверенный цифровой подписью дистрибутива загрузчик GRUB → заверенное цифровой подписью дистрибутива ядро Linux → не заверенное окружение initrd → корневая ФС». Отсутствие верификации initrd в традиционных дистрибутивах создаёт проблемы с безопасностью, так как среди прочего в данном окружении осуществляется извлечение ключей для расшифровки корневой ФС.

A verificação da imagem initrd não é suportada porque esse arquivo é gerado no sistema local do usuário e não pode ser assinado digitalmente pela distribuição. Isso complica bastante a verificação ao usar o modo SecureBoot (para verificar o initrd, o usuário precisa gerar suas próprias chaves e carregá-las no firmware UEFI). Além disso, a organização de inicialização atual não permite o uso de informações do TPM PCR (Platform Configuration Register) para monitorar a integridade de componentes do espaço do usuário, exceto o shim, o grub e o kernel. Outros problemas citados incluem a dificuldade de atualizar o carregador de inicialização e a impossibilidade de restringir o acesso às chaves do 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 são:

  • Fornecer um processo de inicialização totalmente verificado, abrangendo todas as etapas, do firmware ao espaço do usuário, e confirmando a validade e a integridade dos componentes inicializados.
  • Vinculação de recursos controlados aos registros TPM PCR com divisão por proprietários.
  • Capacidade de pré-calcular os valores de PCR com base no kernel, initrd, configuração e identificador do sistema local usados ​​durante a inicialização.
  • Proteção contra ataques de reversão, que envolvem o retorno a uma versão vulnerável anterior do sistema.
  • Simplificar e melhorar a confiabilidade das atualizações.
  • Suporte para atualizações do sistema operacional que não exigem reaplicação ou provisionamento local de recursos protegidos por TPM.
  • O sistema está pronto para certificação remota, a fim de confirmar a correção do sistema operacional inicializável e das configurações.
  • A capacidade de associar dados sensíveis a estágios específicos de inicialização, como extrair chaves de criptografia para o sistema de arquivos raiz do TPM.
  • Oferece um processo seguro, automático e sem intervenção do usuário para desbloquear chaves e descriptografar uma unidade com partição raiz.
  • Utilização de chips compatíveis com a especificação TPM 2.0, com a possibilidade de reversão para sistemas sem TPM.

Fonte: opennet.ru

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