Qing Zhao da Oracle apresentado ontem durante o LPC2021 GNU Tools Track em torno do trabalho que eles e outros têm se empenhado para melhorar a segurança da GNU Compiler Collection (GCC).

Em algumas áreas, o trabalho de segurança do GCC é para atualizar os recursos de segurança já implementados pelo LLVM Clang. Entre os recursos estão zerar registros usados ​​pelo chamador no retorno, inicialização automática de variáveis ​​de pilha, detecção de estouro sem sinal e muito mais. Por exemplo, com o GCC 11 é o recurso de compilador zero-call-used-regs e agora com o Linux 5.15 esse recurso pode ser usado opcionalmente para aumentar a segurança do kernel.

Escapando de nosso radar no início deste mês foi que o GCC 12 pousou a inicialização automática de variável de pilha. Este novo recurso de segurança do GCC 12 pode ser ativado com a opção de compilador”-ftrivial-auto-var-init=zero”. O LLVM/Clang viu essa opção de segurança postada em 2018.

Com a inicialização automática da variável de pilha, isso deixa o GCC ainda precisando oferecer suporte a proteção de carga especulativa, proteção contra estouro sem sinal e controlar melhorias de integridade de fluxo para corresponder aos recursos de segurança do Clang.

Aqueles que desejam aprender mais sobre o trabalho de segurança do GCC em andamento pela Oracle e outros podem ver a apresentação abaixo junto com os slides .

Categories: IT Info