Si bien la compatibilidad con el kernel de Linux ascendente para RISC-V continúa mejorando con las nuevas características de ISA, la compatibilidad con más SoC RISC-V y otras mejoras, en algunas áreas el código RISC-V de código abierto continúa poniéndose al día con el otro. arquitecturas maduras compatibles con el kernel de Linux. Una de las áreas aún pendientes es habilitar el soporte de KASLR para RISC-V en Linux para mejorar la seguridad del sistema.
La aleatorización del diseño del espacio de direcciones del kernel (KASLR) es importante para ayudar a evitar que se exploten las vulnerabilidades de corrupción de la memoria. KASLR es muy útil para defenderse de los ataques que dependen de que un atacante conozca las ubicaciones de las direcciones de memoria conocidas del kernel al aleatorizar el código del kernel en el momento del arranque.
KASLR en x86/x86_64 ha estado en la línea principal durante aproximadamente una década y también ha habido esfuerzos para mejorar aún más la aleatorización con el FGKASLR aún por terminar. En el lado de RISC-V, el soporte de KASLR aún está pendiente, pero la semana pasada vio la tercera revisión de los parches. Los parches aleatorizan el mapeo del kernel y se basan en máquinas virtuales que tienen el gestor de arranque proporcionando una semilla en el árbol de dispositivos o para sistemas RISC-V físicos para que el firmware proporcione una semilla aleatoria utilizando el protocolo EFI RNG.
Con los parches v3, el código RISC-V KASLR se ha vuelto a basar en un estado más nuevo de Linux 6.4, hay una corrección de advertencia para RISC-V de 32 bits y otras correcciones. Veremos si este soporte de RISC-V KASLR logra incorporarse pronto.