Watchdog: Hardware for Safe and Secure Manual Memory Management and Full Memory Safety

Loading...
Thumbnail Image

Related Collections

Degree type

Discipline

Subject

Computer Sciences

Funder

Grant number

License

Copyright date

Distributor

Related resources

Author

Nagarakatte, Santosh

Contributor

Abstract

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 register renaming, and (3) uses a dedicated metadata cache to reduce checking overhead. Furthermore, this paper extends Watchdog’s mechanisms to detect bounds errors, thereby providing full hardware-enforced memory safety at low overheads.

Advisor

Date of presentation

2012-06-01

Conference name

Departmental Papers (CIS)

Conference dates

2023-05-17T07:16:08.000

Conference location

Date Range for Data Collection (Start Date)

Date Range for Data Collection (End Date)

Digital Object Identifier

Series name and number

Volume number

Issue number

Publisher

Publisher DOI

Journal Issues

Comments

Nagarakatte, S., Martin, M., & Zdancewic, S., Watchdog: Hardware for Safe and Secure Manual Memory Management and Full Memory Safety, 39th International Symposium on Computer Architecture, June 2012, doi: http://dx.doi.org/10.1109/ISCA.2012.6237017

Recommended citation

Collection