Memory corruption vulnerabilities remain a persistent and critical threat to modern computing systems, particularly those built with memory-unsafe languages like C and C++. While numerous defense mechanisms have been proposed across software and hardw...
Memory corruption vulnerabilities remain a persistent and critical threat to modern computing systems, particularly those built with memory-unsafe languages like C and C++. While numerous defense mechanisms have been proposed across software and hardware layers, attackers continue to exploit weaknesses in system design, implementation, and interfaces between components.
This dissertation presents a comprehensive study of modern memory safety challenges and introduces practical defenses that bridge the software-hardware boundary. We begin by addressing access control integrity in the Linux kernel through PeTAL, a data-flow integrity solution that ensures the correctness of kernel access control decisions. Leveraging ARM’s Pointer Authentication Code (PAC) and Memory Tagging Extension (MTE), PeTAL protects critical metadata from data-only attacks and complements existing control-flow integrity mechanisms, achieving strong security guarantees with practical performance overhead.
While hardware-assisted features like MTE are considered promising for memory safety, this work reveals their limitations by presenting TikTag, a microarchitectural sidechannel attack that leaks memory tags using speculative execution. TikTag breaks the core security assumption of MTE’s random tagging mechanism and demonstrates real-world exploitation in both user-space (Chrome browser) and kernel-space environments.
Finally, this dissertation tackles an emerging class of vulnerabilities stemming from incorrect virtual-to-physical memory mappings. We introduce DMCheck, a runtime mechanism to detect and prevent physical page use-after-free vulnerabilities in modern systems. By tracking the lifecycle of physical pages and ensuring mapping validity across diverse computing units (CPU, GPU, and IOMMU), DMCheck secures critical memory translation paths with minimal overhead.
Together, these contributions push the boundary of memory safety by demonstrating the feasibility and necessity of holistic protection strategies. By securing both software, hardware, and underlying software-to-hardware translation mechanisms, this dissertation highlights new directions toward building more resilient system in the presence of powerful adversaries.