Practical byte-granular memory blacklisting using califorms

Hiroshi Sasaki, Miguel A. Arroyo, M. Tarek Ibn Ziad, Koustubha Bhat, Kanad Sinha, Simha Sethumadhavan

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

32 Downloads (Pure)

Abstract

Recent rapid strides in memory safety tools and hardware have improved software quality and security. While coarse-grained memory safety has improved, achieving memory safety at the granularity of individual objects remains a challenge due to high performance overheads usually between ~1.7x-2.2x. In this paper, we present a novel idea called Califorms, and associated program observations, to obtain a low overhead security solution for practical, byte-granular memory safety. The idea we build on is called memory blacklisting, which prohibits a program from accessing certain memory regions based on program semantics. State of the art hardware-supported memory blacklisting, while much faster than software blacklisting, creates memory fragmentation (on the order of few bytes) for each use of the blacklisted location. We observe that metadata used for blacklisting can be stored in dead spaces in a program's data memory and that this metadata can be integrated into the microarchitecture by changing the cache line format. Using these observations, a Califorms based system proposed in this paper reduces the performance overheads of memory safety to ~1.02x-1.16x while providing bytegranular protection and maintaining very low hardware overheads. Moreover, the fundamental idea of storingmetadata in empty spaces and changing cache line formats can be used for other security and performance applications.

Original languageEnglish
Title of host publicationMICRO 2019
Subtitle of host publicationProceedings of the 52nd Annual IEEE/ACM International Symposium on Microarchitecture
PublisherIEEE Computer Society
Pages558-571
Number of pages14
ISBN (Electronic)9781450369381
DOIs
Publication statusPublished - Oct 2019
Event52nd Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2019 - Columbus, United States
Duration: 12 Oct 201916 Oct 2019

Publication series

NameProceedings of the Annual International Symposium on Microarchitecture, MICRO
ISSN (Print)1072-4451

Conference

Conference52nd Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2019
Country/TerritoryUnited States
CityColumbus
Period12/10/1916/10/19

Keywords

  • Caches
  • Memory blacklisting
  • Memory safety

Fingerprint

Dive into the research topics of 'Practical byte-granular memory blacklisting using califorms'. Together they form a unique fingerprint.

Cite this