Já ouvi muito sobre como a Microsoft está implementando o UEFI Secure Boot no Windows 8. Aparentemente, ele impede a execução de bootloaders "não autorizados" no computador, para evitar malware. Há uma campanha da Free Software Foundation contra a inicialização segura, e muitas pessoas têm dito online que é uma “tomada de poder” por parte da Microsoft para “eliminar sistemas operacionais livres”.
Se eu adquirir um computador com Windows 8 e inicialização segura pré-instalados, ainda poderei instalar o Linux (ou algum outro sistema operacional) mais tarde? Ou um computador com inicialização segura só funciona com Windows?
Responder1
Em primeiro lugar, a resposta simples à sua pergunta:
Se você tiver um tablet ARMexecutando o Windows RT (como o Surface RT ou o Asus Vivo RT), entãovocê não poderá desativar o Secure Boot ou instalar outros sistemas operacionais. Como muitos outros tablets ARM, esses dispositivosapenasexecute o sistema operacional que vem com eles.
Se você tiver um computador não ARMexecutando o Windows 8 (como o Surface Pro ou qualquer um dos inúmeros ultrabooks, desktops e tablets com processador x86-64), entãovocê pode desativar completamente o Secure Boot, ou você pode instalar suas próprias chaves e assinar seu próprio bootloader. De qualquer jeito,você pode instalar um sistema operacional de terceiros, como uma distribuição Linuxou FreeBSD ou DOS ou o que lhe agradar.
Agora, vamos aos detalhes de como toda essa coisa de inicialização segura realmente funciona: há muita desinformação sobre inicialização segura, especialmente por parte da Free Software Foundation e grupos similares. Isso tornou difícil encontrar informações sobre o que o Secure Boot realmente faz, então tentarei explicar o meu melhor. Observe que não tenho experiência pessoal no desenvolvimento de sistemas de inicialização seguros ou algo parecido; isso é exatamente o que aprendi lendo online.
Em primeiro lugar,Inicialização segura énãoalgo que a Microsoft criou.Eles foram os primeiros a implementá-lo amplamente, mas não o inventaram. Isso éparte da especificação UEFI, que é basicamente um substituto mais recente para o BIOS antigo com o qual você provavelmente está acostumado. UEFI é basicamente o software que conversa entre o sistema operacional e o hardware. Os padrões UEFI são criados por um grupo chamado "Fórum UEFI", que é composto por representantes da indústria de computação, incluindo Microsoft, Apple, Intel, AMD e alguns fabricantes de computadores.
Segundo ponto mais importante,ter o Secure Boot ativado em um computador faznãosignifica que o computador nunca poderá inicializar qualquer outro sistema operacional. Na verdade, os próprios requisitos de certificação de hardware do Windows da Microsoft afirmam que, para sistemas não ARM, você deve ser capaz de desabilitar a inicialização segura e alterar as chaves (para permitir outros sistemas operacionais). Mais sobre isso mais tarde.
O que a inicialização segura faz?
Essencialmente, evita que malware ataque o seu computador durante a sequência de inicialização. O malware que entra através do bootloader pode ser muito difícil de detectar e parar, porque pode se infiltrar em funções de baixo nível do sistema operacional, mantendo-o invisível ao software antivírus. Tudo o que o Secure Boot realmente faz é verificar se o bootloader é de uma fonte confiável e se não foi adulterado. Pense nisso como as tampas pop-up das garrafas que dizem “não abra se a tampa estiver aberta ou se o selo tiver sido violado”.
No nível superior de proteção, você tem a chave da plataforma (PK). Existe apenas um PK em qualquer sistema e ele é instalado pelo OEM durante a fabricação. Esta chave é usada para proteger o banco de dados KEK. O banco de dados KEK contém chaves de troca de chaves, que são usadas para modificar outros bancos de dados de inicialização segura. Pode haver vários KEKs. Existe então um terceiro nível: o Banco de Dados Autorizado (db) e o Banco de Dados Proibido (dbx). Eles contêm informações sobre autoridades de certificação, chaves criptográficas adicionais e imagens de dispositivos UEFI para permitir ou bloquear, respectivamente. Para que um bootloader possa ser executado, ele deve ser assinado criptograficamente com uma chave queéno banco de dados enão éno DBX.
Imagem deConstruindo o Windows 8: protegendo o ambiente pré-SO com UEFI
Como isso funciona em um sistema certificado pelo Windows 8 do mundo real
O OEM gera sua própria PK e a Microsoft fornece uma KEK que o OEM precisa pré-carregar no banco de dados KEK. A Microsoft então assina o Bootloader do Windows 8 e usa sua KEK para colocar essa assinatura no banco de dados autorizado. Quando o UEFI inicializa o computador, ele verifica o PK, verifica o KEK da Microsoft e, em seguida, verifica o bootloader. Se tudo estiver bem, o sistema operacional poderá inicializar.
Imagem deConstruindo o Windows 8: protegendo o ambiente pré-SO com UEFI
Onde entram os sistemas operacionais de terceiros, como o Linux?
Primeiro, qualquer distribuição Linux poderia optar por gerar uma KEK e solicitar aos OEMs que a incluíssem no banco de dados KEK por padrão. Eles teriam então tanto controle sobre o processo de inicialização quanto a Microsoft. Os problemas com isso, comoexplicado por Matthew Garrett do Fedora, são que a) seria difícil fazer com que todos os fabricantes de PC incluíssem a chave do Fedora eb) seria injusto com outras distros Linux, uma vez que sua chave não seria incluída e distros menores não têm tantos OEM parcerias.
O que o Fedora escolheu fazer (e outras distros estão seguindo o exemplo) foi usar os serviços de assinatura da Microsoft. Este cenário exige o pagamento de US$ 99 à Verisign (a autoridade de certificação que a Microsoft usa) e concede aos desenvolvedores a capacidade de assinar seu bootloader usando o KEK da Microsoft. Como o KEK da Microsoft já estará na maioria dos computadores, isso permite que eles assinem seu bootloader para usar o Secure Boot, sem precisar de seu próprio KEK. Acaba sendo mais compatível com mais computadores e custa menos no geral do que lidar com a configuração de seu próprio sistema de assinatura e distribuição de chaves. Há mais detalhes sobre como isso funcionará (usando GRUB, módulos assinados do Kernel e outras informações técnicas) na postagem do blog mencionada acima, que recomendo ler se você estiver interessado nesse tipo de coisa.
Suponha que você não queira lidar com o incômodo de se inscrever no sistema da Microsoft, ou não queira pagar US $ 99, ou apenas tenha rancor de grandes corporações que começam com M. Existe outra opção para ainda usar o Secure Boot e execute um sistema operacional diferente do Windows.Certificação de hardware da Microsoft requerque os OEMs permitam que os usuários insiram seus sistemas no modo “personalizado” UEFI, onde podem modificar manualmente os bancos de dados de inicialização segura e o PK. O sistema pode ser colocado no modo de configuração UEFI, onde o usuário pode até especificar seu próprio PK e assinar os próprios bootloaders.
Além disso, os próprios requisitos de certificação da Microsoft tornam obrigatório que os OEMs incluam um método para desabilitar a inicialização segura em sistemas não ARM.Você pode desativar a inicialização segura!Os únicos sistemas em que você não pode desabilitar a inicialização segura são os sistemas ARM que executam o Windows RT, que funcionam de forma mais semelhante ao iPad, onde você não pode carregar sistemas operacionais personalizados. Embora eu desejasse que fosse possível alterar o sistema operacional em dispositivos ARM, é justo dizer que a Microsoft está seguindo o padrão da indústria em relação aos tablets aqui.
Então a inicialização segura não é inerentemente má?
Então, como você pode ver, o Secure Boot não é ruim e não está restrito apenas ao uso com o Windows. A razão pela qual a FSF e outros estão tão chateados com isso é porque adiciona etapas extras ao uso de um sistema operacional de terceiros. As distribuições Linux podem não gostar de pagar para usar a chave da Microsoft, mas é a maneira mais fácil e econômica de fazer o Secure Boot funcionar no Linux. Felizmente, é fácil desativar o Secure Boot e é possível adicionar diferentes chaves, evitando assim a necessidade de lidar com a Microsoft.
Dada a quantidade de malware cada vez mais avançado, o Secure Boot parece uma ideia razoável. Não pretende ser uma conspiração maligna para dominar o mundo e é muito menos assustador do que alguns especialistas em software livre querem que você acredite.
Leitura adicional:
- Requisitos de certificação de hardware Microsoft
- Construindo o Windows 8: protegendo o ambiente pré-SO com UEFI
- Apresentação da Microsoft sobre implantação de inicialização segura e gerenciamento de chaves
- Implementando inicialização segura UEFI no Fedora
- Visão geral da inicialização segura do TechNet
- Artigo da Wikipédia sobre UEFI
DR:A inicialização segura evita que malware infecte seu sistema em um nível baixo e indetectável durante a inicialização. Qualquer um pode criar as chaves necessárias para fazê-lo funcionar, mas é difícil convencer os fabricantes de computadores a distribuí-los.seuchave para todos, então você pode optar por pagar à Verisign para usar a chave da Microsoft para assinar seus bootloaders e fazê-los funcionar.Você também pode desativar a inicialização segura emqualquercomputador não ARM.
Última reflexão, no que diz respeito à campanha da FSF contra a inicialização segura: algumas das suas preocupações (ou seja, faz com que sejamais difícilpara instalar sistemas operacionais gratuitos) são válidosaté um ponto. Dizer que as restrições “impedirão qualquer pessoa de inicializar qualquer coisa que não seja o Windows” é comprovadamente falso, pelas razões ilustradas acima. Fazer campanha contra UEFI/Secure Boot como tecnologia é míope, mal informado e provavelmente não será eficaz de qualquer maneira. É mais importante garantir que os fabricantes realmente sigam os requisitos da Microsoft para permitir que os usuários desabilitem o Secure Boot ou alterem as chaves, se assim desejarem.