selfrando
selfrando copied to clipboard
Add guard pages between randomized functions in selfrando
Code pages containing functions are vulnerable to information leaks even under selfrando. One simple way to bypass selfrando's randomization is to locate all program code pages and scan them linearly to look for gadgets. A simple mitigation for this particular attack is to randomly insert guard pages (unmapped empty pages in the address space) between the shuffled functions, so the linear scan algorithm crashes when attempting to read our randomized code.