雖然上游 Linux 內核對 RISC-V 的支持通過新的 ISA 功能、對更多 RISC-V SoC 的支持以及其他增強功能不斷改進,但在某些領域,開源 RISC-V 代碼繼續赶超其他領域Linux 內核支持的成熟架構。仍然懸而未決的領域之一是在 Linux 上啟用 KASLR 對 RISC-V 的支持以增強系統安全性。
內核地址空間佈局隨機化 (KASLR) 對於幫助防止內存損壞漏洞被利用非常重要。 KASLR 對於抵禦依賴於攻擊者通過在啟動時隨機化內核代碼來了解內核的已知內存地址位置的攻擊非常有用。
x86/x86_64 上的 KASLR 已經在主線上運行了大約十年,並且還一直在努力通過尚未完成的 FGKASLR 進一步增強隨機化。在 RISC-V 方面,KASLR 支持仍在等待中,但上週看到了補丁的第三次修訂。這些補丁使內核映射隨機化,並依賴於引導加載程序在設備樹中提供種子的 VM,或者物理 RISC-V 系統讓固件使用 EFI RNG 協議提供隨機種子。
有了 v3 補丁,RISC-V KASLR 代碼已經重新基於更新的 Linux 6.4 狀態,有針對 RISC-V 32 位的警告修復和其他修復。我們將看看這種 RISC-V KASLR 支持是否會盡快成為主流。