Linux e inicialização segura. Um erro que não podemos repetir

Linux e inicialização segura

No artigo anterior Lembrei-me de um precedente do requisito da Microsoft de exigir que o módulo TPM versão 2 seja capaz de usar o Windows 11. Refiro-me ao requisito de que os computadores com Windows 8 pré-instalado usem UEFI em vez de BIOS para o carregador de inicialização e que o módulo de inicialização segura foi pré-instalado.  Agora vou falar sobre a, na minha opinião, a maneira errada com que o Linux lidou com o problema.

Linux e inicialização segura

A inicialização segura requer que cada programa iniciado tenha uma assinatura que garanta sua autenticidade armazenada no banco de dados da memória não volátil da placa-mãe. Existem duas maneiras de aparecer nesse banco de dados. Quer seja incluído pelo fabricante ou pela Microsoft.

A solução alcançada por algumas distribuições de Linux com a Microsoft foi que esta empresa aceitou a assinatura de um binário que se encarregaria de lançar o boot loader de cada distribuição. Esses binários foram disponibilizados para a comunidade.

Posteriormente, a Linux Foundation lançaria uma solução genérica que pode ser adotada por todas as distribuições.

Procurando uma solução melhor, um desenvolvedor da Red Hat sugeriu o seguinte a Linus Torvalds:

Olá Linus,

Você pode incluir este conjunto de patch, por favor?

Fornece uma função pela qual as chaves podem ser adicionadas dinamicamente a um kernel em execução no modo de inicialização seguro. Para permitir que uma chave seja carregada sob tal condição, exigimos que a nova chave seja assinada por uma chave que já temos (e em que confiamos), onde as chaves que "já temos" podem incluir aquelas embutidas no kernel, aqueles no banco de dados UEFI e aqueles do hardware criptográfico.

Agora, "keyctl add" já manipulará certificados X.509 assinados dessa forma, mas o serviço de assinatura da Microsoft assinará apenas binários EFI PE executáveis.

Podemos exigir que o usuário reinicie na BIOS, adicione a chave e, em seguida, volte, mas em algumas circunstâncias queremos ser capazes de fazer isso enquanto o kernel está rodando.

A maneira que criamos para corrigir isso é incorporar um certificado X.509 contendo a chave em uma seção chamada ".keylist" em um binário EFI PE e, em seguida, obter o binário assinado pela Microsoft

Palavra Linus

A resposta de Linus (vamos lembrar que isso foi antes de seu retiro espiritual para reconsiderar sua atitude no relacionamento com outras pessoas), foi a seguinte:

AVISO: o texto a seguir inclui palavrões

Caras, este não é um concurso de chupar pau.

Se você deseja usar os binários PE, por favor, continue. Se a Red Hat deseja aprofundar seu relacionamento com a Microsoft, esse é o * seu * problema. Isso não tem nada a ver com o kernel que mantenho. É fácil para você ter um mecanismo de assinatura que analisa o binário PE, verifica as assinaturas e assina as chaves resultantes com sua própria chave. O código, pelo amor de Deus, já está escrito, está naquele maldito pedido de inclusão.

Por que eu deveria me importar? Por que o kernel deveria se preocupar com algum idiota "nós apenas assinamos binários PE"? Oferecemos suporte para X.509, que é o padrão para assinatura.

Isso pode ser feito no nível do usuário. Não há desculpa para fazer isso no kernel.

Linus

Minha opinião é que Linus estava certo pela primeira vez. De fato nem a Linux Foundation nem as distribuições deveriam ter sido chantageadas pela Microsoft.  É verdade que os usuários podem ter sido perdidos. Mas, como descobrimos mais tarde, o Windows 8 foi um fracasso e o XP continuou a reinar por muito mais tempo.

A realidade é que quando a Microsoft enfrenta uma batalha, ela é forçada a cumprir os padrões. Aconteceu quando ela falhou com o SIlverlight e foi forçada a adotar o padrão da web HTML 5. Aconteceu quando ela teve que abandonar o desenvolvimento do mecanismo de renderização da web e basear o Edge no Chromium.

Também não devemos esquecer que, para atrair programadores, era necessário incluir nada menos do que a capacidade de rodar Linux no Windows.

As distribuições do Linux estão em uma posição melhor do que nunca para oferecer aos usuários uma alternativa para continuar usando um hardware perfeitamente funcional.


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: AB Internet Networks 2008 SL
  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.

  1.   curefox dito

    Exatamente, ninguém no universo GNU / Linux deve ir para a Microsoft ou qualquer empresa, devemos ser a resistência e defensores da liberdade na computação, já temos o suficiente com as prisões dos telefones móveis, para que agora temos que engolir as demandas que beneficia apenas uma empresa.

  2.   ja dito

    Pelo que eu sei, as decisões da Microsoft nunca beneficiaram nem mesmo seu próprio ecossistema, é apenas uma questão de marketing na crença de que se você não pode executar o tpm 2, você mudará os computadores apenas para poder rodar o w 11, se algo tiver grande na microsoft é o ego, o futuro é o linux, não o windows, e para mim a decisão da microsoft é a melhor para aproximar os usuários do linux

  3.   rperez19 dito

    Eu amo o Linux, mas a falta de suporte de inicialização segura me obriga a ter apenas o Ubuntu querendo mais arco, pena que ao querer acompanhar a corrente eles estão perdendo usuários