Voltar
Menos é mais: de 1 milhão de linhas de firmware a 300 linhas de Assembly
🧩CEVIU

Menos é mais: de 1 milhão de linhas de firmware a 300 linhas de Assembly

Aprofundamento CEVIU

Aprofundamento

O texto do blog da Tinfoil descreve a troca do firmware OVMF (Open Virtual Machine Firmware) das máquinas virtuais confidenciais da empresa por um firmware próprio de cerca de 300 linhas de Assembly, sem dependências. A empresa diz ter removido cerca de 1 milhão de linhas de C. O ponto de partida é o modelo de ameaça: o host é controlado pela própria Tinfoil, então é tratado como não confiável, e o firmware precisa resistir a ataques vindos dele.

A mudança técnica central é tirar o firmware da cadeia de medição. Kernel, initramfs, tabelas de página, tabelas ACPI fixas e a linha de comando do Linux entram na memória inicial do enclave, descrita em arquivo IGVM (Independent Guest Virtual Machine) gerado no CI. Tudo isso é medido no lançamento e vira um único hash (MRTD no TDX, launch digest no SEV-SNP). O firmware que sobra só confere duas entradas do host, a contagem de CPUs e o mapa de memória, ajusta a entrada MADT e salta para o Linux. Se o host mentir, o boot falha ou CPUs extras ficam paradas. Segundo a Tinfoil, os pontos em que o código do guest interpretava bytes controlados pelo host caíram de oito para dois. O texto também cita que o OVMF teve vulnerabilidades críticas, uma delas achada na semana da publicação, na pilha de rede. E conta que o Stage0, do Project Oak do Google, foi testado primeiro, mas ainda mede o kernel após o lançamento e processa entrada do host via fw_cfg.

Por que isso importa

Para quem opera infraestrutura sensível, a leitura é que reduzir superfície pode custar menos do que caçar bugs em base enorme. A própria Tinfoil contrapõe isso a campanhas de red-team com enxames de agentes, que, pelas contas do texto, só grandes empresas bancam. É a visão de uma empresa sobre o próprio caso, com modelo de ameaça específico, e não regra para qualquer firmware.

Perguntas frequentes

O que a Tinfoil trocou e por quê?

Trocou o firmware OVMF, com mais de 1 milhão de linhas de C, por um firmware de cerca de 300 linhas de Assembly. O motivo é a superfície de ataque: a empresa só usava uma pequena parte dos recursos do OVMF e considera o host não confiável.

O que o novo firmware faz?

Ele tem uma única função, iniciar o Linux. Confere a contagem de CPUs e o mapa de memória enviados pelo host, ajusta a entrada MADT e salta para o kernel. Depois disso não roda mais.

Como a medição do boot funciona agora?

Firmware, kernel, initramfs, tabelas de página, tabelas ACPI fixas e linha de comando ficam na memória inicial descrita em um arquivo IGVM. O hardware mede tudo no lançamento e registra um único hash, em vez de o firmware medir cada etapa.

Por que não usar o Stage0, do Google?

Segundo o texto, foi a primeira tentativa. O Stage0 é bem menor que o OVMF, mas ainda carrega e mede kernel e initramfs após o lançamento e lê configuração do host via fw_cfg, o que não serve ao modelo de ameaça da Tinfoil.

Fontes

Avalie este artigo:
Categoria
CEVIU
Publicado
28 de outubro de 2026
Editoria
CEVIU

Quer receber mais sobre CEVIU?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser