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.
Coppens, B, Verbauwhede, I, De Bosschere, K & De Sutter, B 2009, Practical Mitigations for Timing-Based Side-Channel Attacks on Modern x86 Processors. in Proceedings of the IEEE Symposium on Security and Privacy. Proceedings of the IEEE Symposium on Security and Privacy, IEEE Computer Society Press, pp. 45-60, Finds and Results from the Swedish Cyprus Expedition: A Gender Perspective at the Medelhavsmuseet, Stockholm, Sweden, 21/09/09.
Coppens, B., Verbauwhede, I., De Bosschere, K., & De Sutter, B. (2009). Practical Mitigations for Timing-Based Side-Channel Attacks on Modern x86 Processors. In Proceedings of the IEEE Symposium on Security and Privacy (pp. 45-60). (Proceedings of the IEEE Symposium on Security and Privacy). IEEE Computer Society Press.
@inproceedings{42d93a4cce1b40b7b5ce13e39b152c38,
title = "Practical Mitigations for Timing-Based Side-Channel Attacks on Modern x86 Processors",
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 = "side channel, security, microarchitecture, compiler backend",
author = "Bart Coppens and Ingrid Verbauwhede and {De Bosschere}, Koenraad and {De Sutter}, Bjorn",
year = "2009",
month = may,
day = "17",
language = "English",
isbn = "978-0-7695-3633-0",
series = "Proceedings of the IEEE Symposium on Security and Privacy",
publisher = "IEEE Computer Society Press",
pages = "45--60",
booktitle = "Proceedings of the IEEE Symposium on Security and Privacy",
note = "Finds and Results from the Swedish Cyprus Expedition: A Gender Perspective at the Medelhavsmuseet ; Conference date: 21-09-2009 Through 25-09-2009",
}