nanovms / nanos

A kernel designed to run one and only one application in a virtualized environment
https://nanos.org
Apache License 2.0
2.58k stars 133 forks source link

Security: add kernel address space layout randomization (KASLR) #2004

Closed francescolavra closed 6 months ago

francescolavra commented 6 months ago

This change set adds a security feature that randomizes the virtual address ranges where the kernel and klib binaries are mapped. The range from which random addresses are generated spans 2GB, and the only restriction on generated addresses is 4KB alignment, therefore the number of possible addresses is 2^19.