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
- tinfoil.shfonte original
- Categoria
- CEVIU
- Publicado
- 28 de outubro de 2026
- Editoria
- CEVIU

