A New Proposal for Protecting Kernel Data Memory
summary
Presents a revised kernel patch-set that protects kernel data memory by encoding per-region metadata into vmalloc address ranges: vmalloc is segmented and specific address ranges indicate properties of mapped pages, which reduces verification overhead. The proposal focuses on expressing memory-region properties efficiently and preparing for future page-table hardening.
AI-written summary · about
chapters (18)
- 0:00Intro
- 0:31Summary
- 0:58Goal: protect critical kernel data
- 3:19Taking a closer look: data classification
- 7:15Taking a closer look concurrency problems
- 8:59Taking a closer look: meta data
- 11:17Considerations about the desired solution
- 13:14Link-Time allocations
- 13:42Considerations about the ad-hoc Run-time allocator
- 14:31Solution for Run-time allocator vs ranges
- 15:48More considerations on Run-time allocations
- 17:45The Memory pool
- 19:02Protecting the pool metadata
- 19:43Solution for Link-time allocation of pools metadata
- 22:40More metadata attacks: the page table
- 26:10The actual protection mechanism
- 32:24Final considerations
- 33:00Conclusions
related talks
38mKernel Hardening: Protecting the Protection Mechanisms
18mGuest Memory Protection -- Current Status and Future
38mUnmapped Private Memory for Confidential Guests
34mGetting on the Same (Virtual Memory) Page: A Roundtable on Data-only Attack Mitigations
43mAddress Space Isolation for Enhanced Safety of the Linux Kernel
16mUnifying KVM API for protected VM and utilities
43mpkernfs: Persisting guest memory and kernel/device state safely...
51mIntroduction to Memory Management in Linux
