FERRAMENTAS LINUX: Os patches "GCS" do Arm Guardaded Statck estreiam no Kernel Linux

quarta-feira, 19 de julho de 2023

Os patches "GCS" do Arm Guardaded Statck estreiam no Kernel Linux

 

No domingo, um conjunto de 35 patches foi publicado para adicionar suporte ARM64 Guarded Control Stack (GCS) ao kernel do Linux. Essa funcionalidade é semelhante ao suporte x86 Shadow Stack e tem como objetivo proteger pilhas de endereços de retorno contra ataques ROP (Return-Oriented Programming).

O GCS do Arm foi projetado para prevenir os ataques semelhantes aos do Intel Shadow Stack, protegendo as pilhas de chamadas com hardware para evitar a exploração de vulnerabilidades de segurança.

Quando o GCS está ativo, uma pilha secundária chamada Guarded Control Stack é mantida, protegida com um atributo de memória especial que só permite escrita através de operações específicas do GCS. Quando uma instrução de "Branch and Link" (BL) é executada, o valor armazenado no registrador de link (LR) é enviado para o GCS. Quando uma instrução de retorno (RET) é executada, o topo do GCS é comparado com o valor do LR. Se os valores não corresponderem, uma falha é gerada, protegendo assim a integridade da pilha.

Essa série de patches implementa o suporte para o uso do GCS por EL0 (modo de execução no nível de usuário), juntamente com o suporte para convidados KVM (Kernel-based Virtual Machine). No entanto, não permite o uso do GCS por EL1 (modo de execução no nível do kernel) ou EL2 (modo de monitor de hipervisor).

Os executáveis são iniciados sem o suporte do GCS e devem usar uma chamada prctl() para ativá-lo. Espera-se que essa ativação seja feita cedo na execução do aplicativo pelo vinculador dinâmico ou outro código de inicialização.

Quanto ao suporte opt-in baseado em prctl por aplicativos, a série de patches adiciona comandos prctl independentes de arquitetura, permitindo que os aplicativos alternem o suporte de pilha de sombra através dos comandos PR_GET_SHADOW_STACK_STATUS e PR_SET_SHADOW_STACK_STATUS.

O RISC-V, outra arquitetura de processador, também está trabalhando em funcionalidades semelhantes para aprimorar a segurança do kernel.

Os detalhes completos sobre o suporte ARM Guarded Control Stack estão disponíveis no patch de documentação e os interessados podem acompanhar a série de patches em análise.




Fonte

Até a próxima !!


Nenhum comentário:

Postar um comentário