Hardware Security
What is the idea behind KPTI (kernel page-table isolation), introduced as a software countermeasure to Meltdown?
- AWhile user programs run, most kernel memory is removed from the page tables so it cannot be read even speculatively
- BEncrypt the entire kernel and store it on disk
- CForbid user programs from running
Show answer and explanation
Answer: A. While user programs run, most kernel memory is removed from the page tables so it cannot be read even speculatively
For fast switching, traditional OSes mapped kernel memory into each user process's page tables, marked as inaccessible. Meltdown read it speculatively before that mark was checked, so KPTI removes kernel pages from the mapping altogether while user code runs. Without an address translation, the data cannot be read even speculatively. Switching page tables on every system call, however, costs performance.
- A. Correct. In exchange, switches such as system calls become heavier.
- B. The kernel is not moved to disk.
- C. Programs run normally.