Confira !!
O Indirect Branch Tracking (IBT) que faz parte da tecnologia Control-Flow Enforcement Technology (CET) da Intel encontrada com CPUs Tiger Lake e mais recente está chegando ao kernel Linux 5.18.
Peter Zijlstra, da Intel, encerrou recentemente o trabalho nos patches IBT mais recentes para o kernel Linux como este mais novo recurso de segurança da CPU. O IBT ajuda a proteger contra ataques orientados a JUMP/CALL. O IBT é uma proteção de integridade de fluxo de controle (CFI) baseada em hardware e de nível avançado. Quando habilitado para a compilação do kernel, garante que as chamadas indiretas cheguem a uma instrução ENDBR. Além de todos os patches do kernel Linux para tornar o IBT uma realidade, há o suporte do lado do compilador necessário, o que significa GCC 9 e mais recente ou LLVM Clang 14 e mais recente.
Zijlstra resume a funcionalidade CET-IBT para o kernel Linux como:
Foi adicionado suporte para Intel CET-IBT, disponível desde Tigerlake (11ª geração), que é um mecanismo de integridade de controle de fluxo de borda avançada, baseado em hardware e granulação grossa, onde qualquer CALL/JMP indireto deve ter como alvo uma instrução ENDBR ou sofrer #CP.
Além disso, desde Alderlake (12ª geração)/Sapphire-Rapids, a especulação é limitada a 2 instruções (e normalmente menos) em alvos de ramificação que não iniciam com ENDBR. O CET-IBT também limita a especulação da próxima instrução sequencial após o CALL/JMP indireto.
O CET-IBT é fundamentalmente incompatível com retpolines, mas prevê, como descrito acima, limites de especulação.
A Intel tem trabalhado no suporte de Shadow Stack e Indirect Branch Tracking para o kernel Linux.
Com este pull , o IBT está pronto para o Kernel Linux 5.18 nos mais recentes processadores da Intel.
Até a próxima !!
Nenhum comentário:
Postar um comentário