Sciweavers

ISCA
2012
IEEE

Watchdog: Hardware for safe and secure manual memory management and full memory safety

11 years 7 months ago
Watchdog: Hardware for safe and secure manual memory management and full memory safety
Languages such as C and C++ use unsafe manual memory management, allowing simple bugs (i.e., accesses to an object after deallocation) to become the root cause of exploitable security vulnerabilities. This paper proposes Watchdog, a hardware-based approach for ensuring safe and secure manual memory management. Inspired by prior software-only proposals, Watchdog generates a unique identifier for each memory allocation, associates these identifiers with pointers, and checks to ensure that the identifier is still valid on every memory access. This use of identifiers and checks enables Watchdog to detect errors even in the presence of reallocations. Watchdog stores these pointer identifiers in a disjoint shadow space to provide comprehensive protection and ensure compatibility with existing code. To streamline the implementation and reduce runtime overhead: Watchdog (1) uses micro-ops to access metadata and perform checks, (2) eliminates metadata copies among registers via modified ...
Santosh Nagarakatte, Milo M. K. Martin, Steve Zdan
Added 28 Sep 2012
Updated 28 Sep 2012
Type Journal
Year 2012
Where ISCA
Authors Santosh Nagarakatte, Milo M. K. Martin, Steve Zdancewic
Comments (0)