Authors
Santosh Nagarakatte, Milo MK Martin, Steve Zdancewic
Publication date
2012/6/9
Journal
ACM SIGARCH Computer Architecture News
Volume
40
Issue
3
Pages
189-200
Publisher
ACM
Description
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 …
Total citations
201220132014201520162017201820192020202120222023202435779132220131518208
Scholar articles
S Nagarakatte, MMK Martin, S Zdancewic - ACM SIGARCH Computer Architecture News, 2012