A iniciativa TrenchBoot é um projeto de código aberto que busca fortalecer a segurança e a integridade do processo de boot nos sistemas Linux de maneira unificada. Focado principalmente no Dynamic Launch, o TrenchBoot implementa uma Raiz de Confiança para Medição (DRTM) baseada em hardware, compatível tanto com plataformas Intel quanto AMD, além de estender suporte para futuras implementações em ARM.
O projeto TrenchBoot visa oferecer um método unificado para o Dynamic Launch, que opera de forma transversal em diferentes arquiteturas (x86 e ARM). Até agora, o foco esteve na tecnologia Intel TXT (Trusted eXecution Technology), que já é amplamente suportada, exigindo apenas um pré-carregador, como um boot loader, e um kernel compatível com TXT. Para sistemas AMD, embora o suporte ao DRTM exista desde a introdução do AMD-V, é necessário um componente específico denominado Secure Loader, no qual o TrenchBoot está trabalhando ativamente.
A documentação detalhada fornecida pelo patchset abrange o DRTM, explicando a abordagem adotada para incorporar essa capacidade ao Linux, juntamente com a documentação relevante de API/ABI. O patch set introduz o suporte ao Intel TXT como a primeira plataforma a habilitar o Secure Launch no Linux.
No contexto do kernel, a tecnologia de Dynamic Launch é denominada “Secure Launch”, e o código utiliza os prefixos “sl_/SL_” ou “slaunch/SLAUNCH”. O TrenchBoot oferece suporte para um conjunto de ferramentas, documentação, e guias rápidos para auxiliar na implementação do Secure Launch.
Com relação à recente atualização (v10), foram feitas melhorias significativas no código, incluindo suporte ao Secure Launch Resource Table, que padroniza as informações trocadas entre o código pré e pós-lançamento. Além disso, o suporte à entrada pelo EFI stub foi adicionado, permitindo que o Secure Launch ocorra após a conclusão do EFI stub.
Outras modificações incluem ajustes na configuração do TPM para melhorar a segurança durante o processo de boot, e a separação de patches SHA-1 e SHA-256 para melhorar a clareza do código. Também foi implementada uma nova função “slaunch_is_txt_launch()” para determinar se o sistema está operando em modo SMX da Intel.
Por fim, o patch mais recente (v10) refina os detalhes do Secure Launch, adicionando novos registros MSR e ajustando o Secure Launch Resource Table para melhor alinhamento e padronização.