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
Y1 - 2019/10
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
AN - SCOPUS:85074449752
T3 - Proceedings of the Annual International Symposium on Microarchitecture, MICRO
SP - 558
EP - 571
BT - MICRO 2019
PB - IEEE Computer Society
T2 - 52nd Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2019
Y2 - 12 October 2019 through 16 October 2019
ER -