"Sometimes one pays most for the things one gets for nothing." [1]
A comunidade Free and Open Source Software (FOSS) está agitada, ultimamente porque a micro$oft (M$) resolveu bloquear o boot de qualquer sistema operacional não assinado digitalmente em sistemas equipados com processadores ARM por meio da Extensible Firmware Interface (EFI), melhor dizendo, Unified Extensible Firmware Interface (UEFI). Que é isso?
A ideia da EFI apareceu na criação do Itanium da Intel para resolver as limitações geradas pelo acesso ao modo real (16 bits) dos processadores, o limite de 1 MB do espaço endereçado e outras características típicas dos antigos processadores x86 e seu hardware. Estas limitações passaram a ser inaceitáveis nas plataformas que usavam o Itanium e nas modernas arquiteturas x86.
Em 2005 a Intel passou o EFI versão 1.10 para um Fórum que continuou o trabalho de especificação como Unified Extensible Firmware Interface (UEFI). A especificação da EFI continua pertencendo à Intel e as especificações posteriores da UEFI passaram a pertencer ao fórum [2].
A tecnologia envolvida na interface foi desenvolvida para melhorar certas interrupções da BIOS e permitir acesso a dispositivos mais modernos, implementando:
- Acesso a endereçamento acima de 1 MB já no Power On Self Test (POST)
- Acesso a discos de até 2 TB com uma tabela de partição mais completa e confiável.
- Boot mais rápido
- Arquitetura CPU-indenpendente
- Drivers CPU-independentes
- Ambiente pré Sistema Operacional mais flexível
- Disponibilidade de rede antes de carregar o SO
- Modularidade e escalabilidade.
Figura 1: Esquema simples da interação SO e Firmware por meio da interface UEFI. |
Figura 2: Detalhe da interação UEFI / BIOS |
O boot acontece na sequência normal mas o Boot Manager/BIOS interage diretamente com o código da interface EFI/UEFI logo depois do POST, deixando o controle dos Drivers e APIs do manager para a UEFI. Antes de iniciar o sistema operacional, o boot autentica no próprio hardware a permissão de carregar o Operating System Loader. É aí que mora o perigo, pois se pode tornar o hardware "preso" a um sistema proprietário. Isto tem boas e más vantagens...
O que temos assistido recentemente, é que a M$ tem usado estas funcionalidades para tentar bloquear um determinado sistema, requerendo uma assinatura digital proprietária e não permitindo desabilitar o modo seguro nos processadores ARM e x86 de 64 bits.
Acontece que a M$ sempre achou que PC e liquidificador só precisariam de uma tomada (e 64 kB, claro). Veio a Internet e ela teve que "pegar" o código do TCP/IP que foi desenvolvido pela comunidade FOSS; veio, então o browser (navegador) e ela teve que "pegar" o código do Mosaic [4] que também foi desenvolvido pela comunidade FOSS. Não, não vou comentar a história do QDOS e CP/M, do X-Windows da Xerox e nem do DOSShell do Norton Commander.
Mas agora, perdendo terreno para Apple, Linux e Linux/Android, ela tenta desesperadamente uma última cartada... assinar a interface UEFI digitalmente para bloquear qualquer código não assinado. Espero que seja a última, mesmo e que os usuários deixem de ser tão etc..
Este é exatamente o exemplo de como ela pretende fazer o usuário de otário [5]. Me desculpem meus nobres leitores, mas eu diria que isto é mais uma <fêmea do cágado> da M$ e querem saber? Acho que não vai rolar!
Referências:
[1] Albert Einstein.
[2] http://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface
[3] http://www.uefi.org/home/
[4] Abra o IE e clique em "About IE".
[5] Todo usuário da Microsoft é um beta-tester (Bill Gates na apresentação do Windows 95).
Crédito das imagens:
Imagem topo: http://www.uefi.org/about/logo/
[Fig 1] http://en.wikipedia.org/wiki/File:Efi-simple.svg
[Fig 2] http://en.wikipedia.org/wiki/File:Efi_flowchart_extended.svg
Nenhum comentário:
Postar um comentário