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

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 - 52nd Annual IEEE/ACM International Symposium on Microarchitecture, Proceedings
PublisherIEEE Computer Society
Pages558-571
Number of pages14
ISBN (Electronic)9781450369381
DOIs
Publication statusPublished - 12 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
CountryUnited States
CityColumbus
Period12/10/1916/10/19

Fingerprint

Data storage equipment
Metadata
Computer hardware
Semantics
Hardware

Keywords

  • Caches
  • Memory blacklisting
  • Memory safety

Cite this

Sasaki, H., Arroyo, M. A., Ziad, M. T. I., Bhat, K., Sinha, K., & Sethumadhavan, S. (2019). Practical byte-granular memory blacklisting using califorms. In MICRO 2019 - 52nd Annual IEEE/ACM International Symposium on Microarchitecture, Proceedings (pp. 558-571). (Proceedings of the Annual International Symposium on Microarchitecture, MICRO). IEEE Computer Society. https://doi.org/10.1145/3352460.3358299
Sasaki, Hiroshi ; Arroyo, Miguel A. ; Ziad, M. Tarek Ibn ; Bhat, Koustubha ; Sinha, Kanad ; Sethumadhavan, Simha. / Practical byte-granular memory blacklisting using califorms. MICRO 2019 - 52nd Annual IEEE/ACM International Symposium on Microarchitecture, Proceedings. IEEE Computer Society, 2019. pp. 558-571 (Proceedings of the Annual International Symposium on Microarchitecture, MICRO).
@inproceedings{19814a00e97b48e9ae27d01fa58e5df4,
title = "Practical byte-granular memory blacklisting using califorms",
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.",
keywords = "Caches, Memory blacklisting, Memory safety",
author = "Hiroshi Sasaki and Arroyo, {Miguel A.} and Ziad, {M. Tarek Ibn} and Koustubha Bhat and Kanad Sinha and Simha Sethumadhavan",
year = "2019",
month = "10",
day = "12",
doi = "10.1145/3352460.3358299",
language = "English",
series = "Proceedings of the Annual International Symposium on Microarchitecture, MICRO",
publisher = "IEEE Computer Society",
pages = "558--571",
booktitle = "MICRO 2019 - 52nd Annual IEEE/ACM International Symposium on Microarchitecture, Proceedings",
address = "United States",

}

Sasaki, H, Arroyo, MA, Ziad, MTI, Bhat, K, Sinha, K & Sethumadhavan, S 2019, Practical byte-granular memory blacklisting using califorms. in MICRO 2019 - 52nd Annual IEEE/ACM International Symposium on Microarchitecture, Proceedings. Proceedings of the Annual International Symposium on Microarchitecture, MICRO, IEEE Computer Society, pp. 558-571, 52nd Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2019, Columbus, United States, 12/10/19. https://doi.org/10.1145/3352460.3358299

Practical byte-granular memory blacklisting using califorms. / Sasaki, Hiroshi; Arroyo, Miguel A.; Ziad, M. Tarek Ibn; Bhat, Koustubha; Sinha, Kanad; Sethumadhavan, Simha.

MICRO 2019 - 52nd Annual IEEE/ACM International Symposium on Microarchitecture, Proceedings. IEEE Computer Society, 2019. p. 558-571 (Proceedings of the Annual International Symposium on Microarchitecture, MICRO).

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

TY - GEN

T1 - Practical byte-granular memory blacklisting using califorms

AU - Sasaki, Hiroshi

AU - Arroyo, Miguel A.

AU - Ziad, M. Tarek Ibn

AU - Bhat, Koustubha

AU - Sinha, Kanad

AU - Sethumadhavan, Simha

PY - 2019/10/12

Y1 - 2019/10/12

N2 - 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.

AB - 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.

KW - Caches

KW - Memory blacklisting

KW - Memory safety

UR - http://www.scopus.com/inward/record.url?scp=85074449752&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85074449752&partnerID=8YFLogxK

U2 - 10.1145/3352460.3358299

DO - 10.1145/3352460.3358299

M3 - Conference contribution

T3 - Proceedings of the Annual International Symposium on Microarchitecture, MICRO

SP - 558

EP - 571

BT - MICRO 2019 - 52nd Annual IEEE/ACM International Symposium on Microarchitecture, Proceedings

PB - IEEE Computer Society

ER -

Sasaki H, Arroyo MA, Ziad MTI, Bhat K, Sinha K, Sethumadhavan S. Practical byte-granular memory blacklisting using califorms. In MICRO 2019 - 52nd Annual IEEE/ACM International Symposium on Microarchitecture, Proceedings. IEEE Computer Society. 2019. p. 558-571. (Proceedings of the Annual International Symposium on Microarchitecture, MICRO). https://doi.org/10.1145/3352460.3358299