Terwijl de upstream Linux-kernelondersteuning voor RISC-V blijft verbeteren met nieuwe ISA-functies, ondersteuning voor meer RISC-V SoC’s en andere verbeteringen, blijft de open-source RISC-V-code op sommige gebieden een inhaalslag maken met de andere volwassen architecturen ondersteund door de Linux-kernel. Een van de gebieden die nog in behandeling zijn, is het inschakelen van KASLR-ondersteuning voor RISC-V op Linux om de systeembeveiliging te verbeteren.
Kernel Address Space Layout Randomization (KASLR) is belangrijk om te helpen voorkomen dat kwetsbaarheden voor geheugenbeschadiging worden misbruikt. KASLR is erg handig voor het afweren van aanvallen waarbij wordt vertrouwd op een aanvaller die bekende geheugenadreslocaties van de kernel kent door de kernelcode tijdens het opstarten willekeurig te maken.
KASLR op x86/x86_64 is al ongeveer een decennium in de hoofdlijn en er zijn ook pogingen gedaan om de randomisatie verder te verbeteren met de nog af te maken FGKASLR. Aan de RISC-V-kant is KASLR-ondersteuning nog steeds in behandeling, maar afgelopen week vond de derde revisie van de patches plaats. De patches maken de kerneltoewijzing willekeurig en zijn afhankelijk van VM’s waarvan de bootloader een seed in de apparaatboom levert of voor fysieke RISC-V-systemen om de firmware een willekeurige seed te laten leveren met behulp van het EFI RNG-protocol.
Met de v3-patches is de RISC-V KASLR-code opnieuw gebaseerd op een nieuwere Linux 6.4-status, is er een waarschuwingsfix voor RISC-V 32-bit en andere fixes. We zullen zien of deze RISC-V KASLR-ondersteuning binnenkort wordt gemainlined.