Abstract
Optimized hardware for propagating and checking software-programmable metadata tags can achieve low runtime overhead. We generalize prior work on hardware tagging by considering a generic architecture that supports software-defined policies over metadata of arbitrary size and complexity; we introduce several novel microarchitectural optimizations that keep the overhead of this rich processing low. Our model thus achieves the efficiency of previous hardware-based approaches with the flexibility of the software-based ones. We demonstrate this by using it to enforce four diverse safety and security policies-spatial and temporal memory safety, taint tracking, control-flow integrity, and code and data separation-plus a composite policy that enforces all of them simultaneously. Experiments on SPEC CPU2006 benchmarks with a PUMP-enhanced RISC processor show modest impact on runtime (typically under 10%) and power ceiling (less than 10%), in return for some increase in energy usage (typically under 60%) and area for on-chip memory structures (110%).
Author supplied keywords
Cite
CITATION STYLE
Dhawan, U., Hriţcu, C., Rubin, R., Vasilakis, N., Chiricescu, S., Smith, J. M., … DeHon, A. (2015). Architectural support for software-defined metadata processing. In International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS (Vol. 2015-January, pp. 487–502). Association for Computing Machinery. https://doi.org/10.1145/2786763.2694383
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.