The presentation discusses the use of hard BPF for dynamic memory separation to protect against memory corruption vulnerabilities.
- Dynamic memory separation is necessary to protect against memory corruption vulnerabilities
- Hard BPF is a tool that can be used for dynamic memory separation
- The hard BPF design involves an agent in the user space and a BPF program in the kernel
- The BPF program intercepts the allocation of vulnerable objects and diverts them to a v-metal region
- One-time allocation is guaranteed to prevent use after free exploitation techniques
Without dynamic memory separation, the process of stopping vulnerable machines, adding separation code, recompiling the kernel, and restarting critical services can be time-consuming and costly. Hard BPF allows for dynamic enforcement of separation, protecting the kernel immediately after a vulnerability is reported and leaving no time window for attackers to compromise the system.