2014 · 34 citations · 36 references
ComputingComputer EngineeringComputer ScienceHardware SecurityHardware-software Co-designProgramming LanguagesData-flow AnalysisHardware AccelerationMemory Protection HardwareMemory SafetyMemory Safety VulnerabilitiesMetadata ManagementControl-flow IntegrityFlexible ComputationMetadataReturn-oriented ProgrammingRuntime PerformanceTaint DetectionTemporal MemoryTemporal Memory Safety
We introduce the Programmable Unit for Metadata Processing (PUMP), a novel software-hardware element that allows flexible computation with uninterpreted metadata alongside the main computation with modest impact on runtime performance (typically 10--40% for single policies, compared to metadata-free computation on 28 SPEC CPU2006 C, C++, and Fortran programs). While a host of prior work has illustrated the value of ad hoc metadata processing for specific policies, we introduce an architectural model for extensible, programmable metadata processing that can handle arbitrary metadata and arbitrary sets of software-defined rules in the spirit of the time-honored 0-1-∞ rule. Our results show that we can match or exceed the performance of dedicated hardware solutions that use metadata to enforce a single policy, while adding the ability to enforce multiple policies simultaneously and achieving flexibility comparable to software solutions for metadata processing. We demonstrate the PUMP by using it to support four diverse safety and security policies---spatial and temporal memory safety, code and data taint tracking, control-flow integrity including return-oriented-programming protection, and instruction/data separation---and quantify the performance they achieve, both singly and in combination.
36
Nathan Binkert, Bradford M. Beckmann, Gabriel Black et al. · ACM SIGARCH Computer Architecture News · 2011 · 4.9K citations
SPEC CPU2006 benchmark descriptions
John L. Henning · ACM SIGARCH Computer Architecture News · 2006 · 2K citations
Stefan Savage, Michael T. Burrows, Greg Nelson et al. · ACM Transactions on Computer Systems · 1997 · 1.6K citations · Full text
The geometry of innocent flesh on the bone
Hovav Shacham · 2007 · 1.3K citations
Martı́n Abadi, Mihai Budiu, Úlfar Erlingsson et al. · 2005 · 1K citations