Practical Mitigations for Timing-Based Side-Channel Attacks on Modern x86 Processors
Top Cited Papers
- 1 May 2009
- conference paper
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE) in 2009 30th IEEE Symposium on Security and Privacy
Abstract
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.Keywords
This publication has 13 references indexed in Scilit:
- Countermeasures Against Branch Target Buffer AttacksPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2007
- New cache designs for thwarting software cache-based side channel attacksACM SIGARCH Computer Architecture News, 2007
- Selective predicate prediction for out-of-order processorsPublished by Association for Computing Machinery (ACM) ,2006
- Remote timing attacks are practicalComputer Networks, 2005
- Twofish on Smart CardsLecture Notes in Computer Science, 2000
- Differential Power AnalysisLecture Notes in Computer Science, 1999
- Control CPRPublished by Association for Computing Machinery (ACM) ,1999
- The program decision logic approach to predicated executionACM SIGARCH Computer Architecture News, 1999
- Resistance Against Differential Power Analysis For Elliptic Curve CryptosystemsLecture Notes in Computer Science, 1999
- Conversion of control dependence to data dependencePublished by Association for Computing Machinery (ACM) ,1983