Embora o suporte upstream do kernel Linux para RISC-V continue a melhorar com novos recursos ISA, suporte para mais SoCs RISC-V e outros aprimoramentos, em algumas áreas o código RISC-V de código aberto continua a acompanhar os outros arquiteturas maduras suportadas pelo kernel do Linux. Uma das áreas ainda pendentes é habilitar o suporte KASLR para RISC-V no Linux para aumentar a segurança do sistema.

A randomização do layout do espaço de endereço do kernel (KASLR) é importante para ajudar a evitar que vulnerabilidades de corrupção de memória sejam exploradas. O KASLR é muito útil para evitar ataques que dependem de um invasor conhecer locais de endereços de memória conhecidos do kernel, tornando aleatório o código do kernel no momento da inicialização.

KASLR em x86/x86_64 está na linha principal há cerca de uma década e também houve esforços para aprimorar ainda mais a randomização com o FGKASLR ainda a ser finalizado. No lado RISC-V, o suporte KASLR ainda está pendente, mas na semana passada houve a terceira revisão dos patches. Os patches randomizam o mapeamento do kernel e dependem de VMs com o bootloader fornecendo uma semente na árvore de dispositivos ou para sistemas RISC-V físicos para que o firmware forneça uma semente aleatória usando o protocolo EFI RNG.

Com os patches v3, o código RISC-V KASLR foi rebaseado em um estado mais recente do Linux 6.4, há uma correção de aviso para RISC-V de 32 bits e outras correções. Veremos se esse suporte RISC-V KASLR consegue ser implementado em breve.

Categories: IT Info