Watchdoglite: Hardware-accelerated compiler-based pointer checking

Santosh Nagarakatte, Milo M.K. Martin, Steve Zdancewic

Research output: Chapter in Book/Report/Conference proceedingConference contribution

66 Scopus citations

Abstract

Lack of memory safety in C is the root cause of a multitude of serious bugs and security vulnerabilities. Numerous software-only and hardware-based schemes have been proposed to enforce memory safety. Among these approaches, pointer-based checking, which maintains per-pointer metadata in a disjoint metadata space, has been recognized as providing comprehensive memory safety. Software approaches for pointer-based checking have high performance overheads. In contrast, hardware approaches introduce a myriad of hardware structures and widgets to mitigate those performance overheads. This paper proposes WatchdogLite, an ISA extension that provides hardware acceleration for a compiler implementation of pointer-based checking. This division of labor between the compiler and the hardware allows for hardware acceleration while using only preexisting architectural registers. By leveraging the compiler to identify pointers, perform check elimination, and insert the new instructions, this approach attains performance similar to prior hardware-intensive approaches without adding any hardware structures for tracking metadata.

Original languageEnglish (US)
Title of host publicationProceedings of the 12th ACM/IEEE International Symposium on Code Generation and Optimization, CGO 2014
PublisherAssociation for Computing Machinery
Pages175-184
Number of pages10
ISBN (Print)9781450326704
DOIs
StatePublished - 2014
Event12th ACM/IEEE International Symposium on Code Generation and Optimization, CGO 2014 - Orlando, FL, United States
Duration: Feb 15 2014Feb 19 2014

Publication series

NameProceedings of the 12th ACM/IEEE International Symposium on Code Generation and Optimization, CGO 2014

Other

Other12th ACM/IEEE International Symposium on Code Generation and Optimization, CGO 2014
Country/TerritoryUnited States
CityOrlando, FL
Period2/15/142/19/14

All Science Journal Classification (ASJC) codes

  • Software
  • Computational Theory and Mathematics
  • Applied Mathematics

Keywords

  • Bounds checking
  • Memory safety
  • Spatial safety
  • Temporal safety
  • Use-after-free checking

Fingerprint

Dive into the research topics of 'Watchdoglite: Hardware-accelerated compiler-based pointer checking'. Together they form a unique fingerprint.

Cite this