Proceedings, IEEE International Conference on Computer Design/Proceedings - IEEE International Conference on Computer Design · 2006 · 11 citations · 19 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureHardware SecuritySecurity ArchitectureBranch PredictionControl-flow AnalysisHardware Security VerificationMicroarchitectural SecurityMicroarchitecture DesignSpeculative ExecutionBloom FiltersHardware Information Flow VerificationIndirect Branch PredictionMicroarchitectural Security VerificationProcessor Security VerificationSpeculative Control FlowSpeculative Execution AttacksStorage Overhead Optimization
Current micro-architecture blindly uses the address in the program counter to fetch and execute instructions without validating its legitimacy. Whenever this blind-folded instruction sequencing is not properly addressed at a higher level by system, it becomes a vulnerability of control data attacks, today's dominant and most critical security threats. To remedy it, this paper proposes a micro-architectural mechanism to validate control flow transfer at run-time at machine instruction level. It is proposed to have a hardware table consisting of legitimate indirect branches and their target pairs (IBPs) to aid the validation. The IBP table is implemented in the form of a cascading Bloom filter to store the security information as well as to enable fast validating. Based on a key observation that branch prediction unit existing in most speculative-execution processors already provides a portion of the control flow validation, our scheme activates the validation only on indirect branch mis-predictions. Because of the Bloom filter and the rarity of mis-predictions of indirect branches, the validation incurs moderate storage overhead and little performance penalty.
19
Space/time trade-offs in hash coding with allowable errors
Burton H. Bloom · Communications of the ACM · 1970 · 7.5K citations · Full text
Simics: A full system simulation platform
Peter Magnusson, Magnus Christensson, J. Eskilson et al. · Computer · 2002 · 2.1K citations
Network Applications of Bloom Filters: A Survey
Andrei Broder, Michael Mitzenmacher · Internet Mathematics · 2004 · 2K citations · Full text
Automatically characterizing large scale program behavior
Timothy Sherwood, Erez Perelman, Greg Hamerly et al. · 2002 · 1.7K citations