2021 · 27 citations · 39 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureComputer SecurityCryptographyCryptographic ArchitectureCryptographic ImplementationMemory SafetyMemory Safety VulnerabilitiesMicroarchitectural SecurityAddress TranslationBinary CompatibilityCapability-based Memory SafetyLightweight CryptographyMemory OverheadMicroarchitectural OptimizationPerformance OverheadPerformance Overhead Analysis
Capability architectures for memory safety have traditionally required expanding pointers and radically changing microarchitectural structures throughout processors, while only providing superficial hardening. We hence propose Cryptographic Capability Computing (C3) - the first memory safety mechanism that is stateless to avoid requiring extra metadata storage. C3 retains 64-bit pointer sizes providing legacy binary compatibility while imposing minimal touchpoints. Pointers are encrypted to unforgeably (within cryptographic bounds) reference each object. Data is encrypted even in caches and entangled with pointers for both spatial and temporal object-granular protection. Pointers become like unique keys for each allocation. C3 deploys a novel form of prediction for address translation that mitigates performance overheads even when addresses are partially encrypted. Use of a low-latency, low-area cipher from the NIST Lightweight Cryptography project avoids delaying loads by readying a data keystream by the time data is returned from the L1 cache. C3 is compatible with legacy binaries. Simulated performance overhead on SPEC CPU2006 is negligible with no memory overhead, which is a big leap forward compared to the overheads imposed by past memory safety approaches. C3 effectively replaces inefficient metadata with efficient cryptography.
39
Computer architecture: a quantitative approach
Martin Shute · Microelectronics Journal · 1993 · 3.4K citations
Proceedings of the 11th USENIX Security Symposium
Dan Boneh · 2002 · 2.5K citations
Simics: A full system simulation platform
Peter Magnusson, Magnus Christensson, J. Eskilson et al. · Computer · 2002 · 2.1K citations
Zakir Durumeric, Frank Li, James Kasten et al. · 2014 · 657 citations · Full text
AddressSanitizer: a fast address sanity checker
Konstantin Serebryany, Derek Bruening, Alexander Potapenko et al. · USENIX Annual Technical Conference · 2012 · 642 citations