2009 · 214 citations · 14 references
ComputingComputer EngineeringComputer ScienceCompilersComputer ArchitectureComputer SecurityControl-flow AnalysisInstruction Set ArchitectureMicroarchitectural SecuritySide-channel AnalysisSide-channel AttacksCache Side-channel AttacksCompiler Backend DesignCompiler DesignMicroarchitectural Side-channel AttacksProof Of Concept PrototypesTimingTiming Attack MitigationTiming Attacks
This paper studies and evaluates the extent to which automated compiler techniques can defend against timing-based side-channel attacks on modern x86 processors. We study how modern x86 processors can leak timing information through side-channels that relate to control flow and data flow. To eliminate key-dependent control flow and key-dependent timing behavior related to control flow, we propose the use of if-conversion in a compiler backend, and evaluate a proof-of-concept prototype implementation. Furthermore, we demonstrate two ways in which programs that lack key-dependent control flow and key-dependent cache behavior can still leak timing information on modern x86 implementations such as the Intel Core 2 Duo, and propose defense mechanisms against them.
14
Conversion of control dependence to data dependence
John R. Allen, Ken Kennedy, Carrie Porterfield et al. · 1983 · 605 citations
On the power of simple branch prediction analysis
Onur Acıiçmez, Çetin Kaya Koç, Jean‐Pierre Seifert · 2007 · 258 citations