Anos atrás, houve patches para permitir que o kernel x86_64 do Linux fosse construído como código PIE (Position Independent Executable) para aprimorar ainda mais a segurança do sistema. Os engenheiros do Antgroup recentemente lidaram com o suporte Linux x86_64 PIE e na semana passada enviaram uma nova série de patches.
Com base nos patches do Linux PIE de alguns anos atrás, Hou Wenlong com o Antgroup enviou patches atualizados para permitir compilações do Linux x86_64 PIE:
“Esses patches fazem as alterações necessárias para construir o kernel como Position Independent Executable (PIE) em x86_64. Um kernel PIE pode ser realocado abaixo do 2G superior do espaço de endereço virtual. E este patchset fornece um exemplo para permitir que a imagem do kernel seja realocada no 512G superior do espaço de endereço.
O objetivo final do kernel PIE é aumentar a segurança do kernel e também a [flexibilidade] do endereço virtual da imagem do kernel, que pode estar até na metade inferior do espaço de endereço. Mais locais em que o kernel pode caber , isso significa que um invasor pode adivinhar com mais dificuldade.
O patchset é baseado no patchset X86 PIE v6 e v11 de Thomas Garnier. No entanto, algumas alterações de design foram feitas e alguns bugs foram corrigidos testando com diferentes configurações e compiladores.”
Ao criar o Linux kernel um executável independente de posição aumenta a segurança do sistema, a desvantagem é a possibilidade de uma imagem de kernel maior e uma contagem de instruções ligeiramente maior que pode afetar o desempenho.
Os interessados em saber mais sobre essa nova versão do suporte Linux x86_64 PIE podem ver esta série de patches atualmente carrega uma tag”solicitação de comentários”.