FERRAMENTAS LINUX: A Série Experimental "FineIBT" Publicada para o Linux - Construindo sobre o Intel CET/IBT

quinta-feira, 21 de abril de 2022

A Série Experimental "FineIBT" Publicada para o Linux - Construindo sobre o Intel CET/IBT

 

Confira !

ntegrado como parte do Kernel Linux 5.18 é o suporte Indirect Branch Tracking (IBT) da Intel como parte da tecnologia CET (Control Flow Enforcement). O Indirect Branch Tracking destina-se a ajudar a proteger contra ataques orientados a JUMP/CALL como parte das proteções de integridade de fluxo de controle da CET. Enquanto isso, ainda está sendo trabalhado o "FineIBT" como uma versão mais robusta do compilador, construída sobre o Intel CET/IBT.

Voltando ao verão passado, havia patches em torno do FineIBT como integridade de fluxo de controle (CFI) baseada em compilador com IBT . Enviado hoje  uma nova série de patches de solicitação de comentários do FineIBT para o kernel Linux.

Esta nova série de patches Linux FineIBT de João Moreira resume o trabalho como:

Isenção de responsabilidade: Isso tudo está em um estágio muito inicial/poc e é principalmente um trabalho de pesquisa - seja aconselhado a proceder com cuidado e trazer uma toalha com você.

Esta série de patches habilita o FineIBT no kernel. O FineIBT é um esquema CFI de borda avançada aprimorado pelo compilador construído sobre o CET-IBT da Intel que funciona definindo um hash no lado do chamador que é verificado no lado do chamado. Como o IBT exige que as ramificações indiretas cheguem às instruções ENDBR, essas verificações de hash não devem ser contornadas na ocasião da corrupção do ponteiro de função.

Quando comparado ao próprio IBT, o FineIBT impõe uma política mais restritiva que deve ser mais robusta contra ataques de seqüestro de fluxo de controle. Quando comparado a esquemas como o KCFI, ele tem a vantagem de não depender de leituras de memória (o que não só pode ser mais eficiente em termos de desempenho e potência, mas também o torna compatível com XOM) e traz os benefícios do IBT em relação ao endurecimento da execução especulativa .

Esta série de patches do FineIBT está se baseando no trabalho Indirect Branch Tracking upstream no Kernel Linux 5.18 e em patches adicionais que estão sendo trabalhados por Peter Zijlstra da Intel. Por enquanto, este trabalho do FineIBT também conta com uma versão modificada do compilador Clang.

Saiba mais sobre este trabalho experimental do FineIBT através da lista de discussão do kernel .







Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário