KAISER addressed these problems in KASLR by eliminating some sources of address leakage. Whereas KASLR merely prevents address mappings from leaking, KAISER also prevents the data from leaking, thereby covering the Meltdown case.
KPTI is based on KAISER. Without KPTI enabled, whenever executing user-space code (applications), Linux would also keep its entire kernel memory mapped in page tables, although protected from access. The advantage is that when the application makes a system call into the kernel or an interrupt is received, kernel page tables are always present, so most context switching-related overheads (TLB flush, page-table swapping, etc) can be avoided.
KPTI (conceptually based on KAISER) prevents Meltdown by preventing most protected locations from being mapped to user space.
KPTI fixes these leaks by separating user-space and kernel-space page tables entirely. One set of page tables includes both kernel-space and user-space addresses same as before, but it is only used when the system is running in kernel mode. The second set of page tables for use in user mode contains a copy of user-space and a minimal set of kernel-space mappings that provides the information needed to enter or exit system calls, interrupts and exceptions.
The overhead was measured to be 0.28% according to KAISER's original authors; a Linux developer measured it to be roughly 5% for most workloads and up to 30% in some cases, even with the PCID optimization; for database engine PostgreSQL the impact on read-only tests on an Intel Skylake processor was 7–17% (or 16–23% without PCID), while a full benchmark lost 13–19% (Coffee Lake vs. Broadwell-E). Many benchmarks have been done by Phoronix, Redis slowed by 6–7%. Linux kernel compilation slowed down by 5% on Haswell.
KPTI can partially be disabled with the "nopti" kernel boot option. Also provisions were created to disable KPTI if newer processors fix the information leaks.
Larabel, Michael (2018-01-03). "Further Analyzing The Intel CPU "x86 PTI Issue" On More Systems". Phoronix. https://www.phoronix.com/scan.php?page=article&item=linux-more-x86pti
Corbet, Jonathan (2017-12-20). "The current state of kernel page-table isolation". LWN.net. /wiki/Jonathan_Corbet
Cimpanu, Catalin (2018-01-03). "OS Makers Preparing Patches for Secret Intel CPU Security Bug". Bleeping Computer. https://www.bleepingcomputer.com/news/security/os-makers-preparing-patches-for-secret-intel-cpu-security-bug/
"Spectre, Meltdown: Critical CPU Security Flaws Explained – ExtremeTech". ExtremeTech. 2018-01-04. Retrieved 2018-01-05. https://www.extremetech.com/computing/261439-spectre-meltdown-new-critical-security-flaws-explored-explained
Corbet, Jonathan (2017-11-15). "KAISER: hiding the kernel from user space". LWN.net. /wiki/Jonathan_Corbet
Gruss, Daniel; Lipp, Moritz; Schwarz, Michael; Fellner, Richard; Maurice, Clémentine; Mangard, Stefan (2017-06-24). KASLR is Dead: Long Live KASLR (PDF). Engineering Secure Software and Systems 2017. https://gruss.cc/files/kaiser.pdf
Corbet, Jonathan (2017-12-20). "Kernel page-table isolation merged". LWN.net. /wiki/Jonathan_Corbet
Kroah-Hartman, Greg (2018-01-02). "Linux 4.14.11 Changelog". kernel.org. https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.14.11
Kroah-Hartman, Greg (2018-01-05). "Linux 4.9.75 Changelog". kernel.org. https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.9.75
Kroah-Hartman, Greg (2018-01-05). "Linux 4.4.110 Changelog". https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.4.110
@aionescu (2017-11-14). "Windows 17035 Kernel ASLR/VA Isolation In Practice" (Tweet) – via Twitter. https://x.com/aionescu/status/930412525111296000
"Apple has already partially implemented fix in macOS for 'KPTI' Intel CPU security flaw". AppleInsider. 3 January 2018. Retrieved 2018-01-03. http://appleinsider.com/articles/18/01/03/apple-has-already-partially-implemented-fix-in-macos-for-kpti-intel-cpu-security-flaw
Coldewey, Devin (2018-01-04). "Kernel panic! What are Meltdown and Spectre, the bugs affecting nearly every computer and device?". TechCrunch. https://techcrunch.com/2018/01/03/kernel-panic-what-are-meltdown-and-spectre-the-bugs-affecting-nearly-every-computer-and-device/
Gruss, Daniel; Lipp, Moritz; Schwarz, Michael; Fellner, Richard; Maurice, Clémentine; Mangard, Stefan (2017-06-24). KASLR is Dead: Long Live KASLR (PDF). Engineering Secure Software and Systems 2017. https://gruss.cc/files/kaiser.pdf
Gruss, Daniel (2018-01-03). "#FunFact: We submitted #KAISER to #bhusa17 and got it rejected". Archived from the original on 2018-01-08. Retrieved 2018-01-08 – via Twitter. https://twitter.com/lavados/status/948536300830851072
"Linux kernel 3.14, Section 1.7. Kernel address space randomization". kernelnewbies.org. 2014-03-30. Retrieved 2014-04-02. http://kernelnewbies.org/Linux_3.14#head-192cae48200fccde67b36c75cdb6c6d8214cccb3
Bhattacharjee, Abhishek; Lustig, Daniel (2017-09-29). Architectural and Operating System Support for Virtual Memory. Morgan & Claypool Publishers. p. 56. ISBN 978-1-62705-933-6. 978-1-62705-933-6
Kerner, Sean Michael (2018-01-03). "KPTI Intel Chip Flaw Exposes Security Risks". eWEEK. http://www.eweek.com/security/kpti-intel-chip-flaw-exposes-security-risks
Gruss, Daniel; Lipp, Moritz; Schwarz, Michael; Fellner, Richard; Maurice, Clémentine; Mangard, Stefan (2017-06-24). KASLR is Dead: Long Live KASLR (PDF). Engineering Secure Software and Systems 2017. https://gruss.cc/files/kaiser.pdf
Jang, Yeongjin; Lee, Sangho; Kim, Taesoo (2016). "Breaking Kernel Address Space Layout Randomization with Intel TSX" (PDF). Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. CCS '16. New York, NY, USA: ACM. pp. 380–392. doi:10.1145/2976749.2978321. ISBN 978-1-4503-4139-4. 978-1-4503-4139-4
Gruss, Daniel; Maurice, Clémentine; Fogh, Anders; Lipp, Moritz; Mangard, Stefan (2016). "Prefetch Side-Channel Attacks" (PDF). Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. CCS '16. New York, NY, USA: ACM. pp. 368–379. doi:10.1145/2976749.2978356. ISBN 978-1-4503-4139-4. S2CID 15973158. 978-1-4503-4139-4
Hund, R.; Willems, C.; Holz, T. (May 2013). "Practical Timing Side Channel Attacks against Kernel Space ASLR" (PDF). 2013 IEEE Symposium on Security and Privacy. pp. 191–205. doi:10.1109/sp.2013.23. ISBN 978-0-7695-4977-4. S2CID 215754624. 978-0-7695-4977-4
Gruss, Daniel; Lipp, Moritz; Schwarz, Michael; Fellner, Richard; Maurice, Clémentine; Mangard, Stefan (2017-06-24). KASLR is Dead: Long Live KASLR (PDF). Engineering Secure Software and Systems 2017. https://gruss.cc/files/kaiser.pdf
"Meltdown" (PDF). https://meltdownattack.com/meltdown.pdf
Corbet, Jonathan (2017-11-15). "KAISER: hiding the kernel from user space". LWN.net. /wiki/Jonathan_Corbet
"Spectre, Meltdown: Critical CPU Security Flaws Explained – ExtremeTech". ExtremeTech. 2018-01-04. Retrieved 2018-01-05. https://www.extremetech.com/computing/261439-spectre-meltdown-new-critical-security-flaws-explored-explained
Coldewey, Devin (2018-01-04). "Kernel panic! What are Meltdown and Spectre, the bugs affecting nearly every computer and device?". TechCrunch. https://techcrunch.com/2018/01/03/kernel-panic-what-are-meltdown-and-spectre-the-bugs-affecting-nearly-every-computer-and-device/
Coldewey, Devin (2018-01-04). "Kernel panic! What are Meltdown and Spectre, the bugs affecting nearly every computer and device?". TechCrunch. https://techcrunch.com/2018/01/03/kernel-panic-what-are-meltdown-and-spectre-the-bugs-affecting-nearly-every-computer-and-device/
"An Update on AMD Processor Security". AMD. 2018-01-04. https://www.amd.com/en/corporate/speculative-execution
Hund, R.; Willems, C.; Holz, T. (May 2013). "Practical Timing Side Channel Attacks against Kernel Space ASLR" (PDF). 2013 IEEE Symposium on Security and Privacy. pp. 191–205. doi:10.1109/sp.2013.23. ISBN 978-0-7695-4977-4. S2CID 215754624. 978-0-7695-4977-4
Corbet, Jonathan (2017-11-15). "KAISER: hiding the kernel from user space". LWN.net. /wiki/Jonathan_Corbet
Corbet, Jonathan (2017-11-15). "KAISER: hiding the kernel from user space". LWN.net. /wiki/Jonathan_Corbet
Leyden, John; Williams, Chris (2018-01-02). "Kernel-memory-leaking Intel processor design flaw forces Linux, Windows redesign". The Register. https://www.theregister.co.uk/2018/01/02/intel_cpu_design_flaw/
Gruss, Daniel; Lipp, Moritz; Schwarz, Michael; Fellner, Richard; Maurice, Clémentine; Mangard, Stefan (2017-06-24). KASLR is Dead: Long Live KASLR (PDF). Engineering Secure Software and Systems 2017. https://gruss.cc/files/kaiser.pdf
Corbet, Jonathan (2017-11-15). "KAISER: hiding the kernel from user space". LWN.net. /wiki/Jonathan_Corbet
Freund, Andres (2018-01-02). "heads up: Fix for intel hardware bug will lead to performance regressions". PostgreSQL development mailing list (pgsql-hackers). https://www.postgresql.org/message-id/20180102222354.qikjmf7dvnjgbkxe%40alap3.anarazel.de
Larabel, Michael (2018-01-02). "Initial Benchmarks Of The Performance Impact Resulting From Linux's x86 Security Changes". Phoronix. https://www.phoronix.com/scan.php?page=article&item=linux-415-x86pti&num=2
Larabel, Michael (2018-01-02). "Linux Gaming Performance Doesn't Appear Affected By The x86 PTI Work". Phoronix. https://www.phoronix.com/scan.php?page=news_item&px=x86-PTI-Initial-Gaming-Tests
Larabel, Michael (2018-01-03). "VM Performance Showing Mixed Impact With Linux 4.15 KPTI Patches – Phoronix". Phoronix. https://www.phoronix.com/scan.php?page=article&item=linux-kpti-kvm
Larabel, Michael (2018-01-03). "Further Analyzing The Intel CPU "x86 PTI Issue" On More Systems". Phoronix. https://www.phoronix.com/scan.php?page=article&item=linux-more-x86pti
Larabel, Michael (2018-01-02). "Initial Benchmarks Of The Performance Impact Resulting From Linux's x86 Security Changes". Phoronix. https://www.phoronix.com/scan.php?page=article&item=linux-415-x86pti&num=2
Velvindron, Loganaden (2018-01-04). "Linux KPTI performance hit on real workloads". Loganaden Velvindron. Retrieved 2018-01-05. https://medium.com/@loganaden/linux-kpti-performance-hit-on-real-workloads-8da185482df3
Corbet, Jonathan (2017-12-20). "The current state of kernel page-table isolation". LWN.net. /wiki/Jonathan_Corbet