FERRAMENTAS LINUX: Os patches do Clang CFI para o kernel Linux têm como objetivo fornecer uma melhor segurança

domingo, 14 de março de 2021

Os patches do Clang CFI para o kernel Linux têm como objetivo fornecer uma melhor segurança


Confira !!

Agora que o suporte Clang LTO foi incorporado ao Kernel Linux 5.12 x86_64 e ARM64, os engenheiros do Google enviaram seus patches habilitando o suporte ao Clang Control-Flow Integrity (CFI) para o kernel Linux.

O suporte ao Clang CFI dependia do primeiro pouso do suporte de otimização de tempo de link (LTO) no kernel. Agora que o LTO está instalado, Sami Tolvanen e os outros engenheiros do Google enviaram seus patches de kernel para ativar o recurso de segurança CFI.

O Control-Flow Integrity do Clang injeta verificações de tempo de execução antes de cada chamada de função indireta para garantir que o destino seja uma função válida e com um tipo estático válido. O Clang CFI é implementado como um desinfetante e depende do suporte LTO para verificar a visibilidade LTO oculta de uma classe. O objetivo final do Clang CFI é garantir que o gráfico do fluxo de controle original do binário não seja alterado e torne mais difícil para os agentes mal-intencionados alterar o fluxo de controle e tirar vantagem dos problemas de segurança da memória. O CFI é ainda mais importante para o kernel, dados seus privilégios.

O Clang CFI em geral é comumente relatado como tendo uma sobrecarga de ~ 1% ou menos no desempenho das verificações de tempo de execução adicionadas.

Esses patches permitem que o kernel Linux seja construído com o Clang Control-Flow Integrity habilitado. No momento, são cerca de 600 linhas de código para conectar toda a instrumentação do compilador. No momento, isso está funcionando apenas para ARM64, mas o suporte a x86_64 é esperado em pouco tempo.





Fonte

Até a próxiam !!

Nenhum comentário:

Postar um comentário