On Subnormal Floating Point and Abnormal Timing
Authors:
- Marc AndryscoMAMarc Andrysco
- David KohlbrennerDKDavid Kohlbrenner
- Keaton MoweryKMKeaton Mowery
- Ranjit JhalaRJRanjit Jhala
- Sorin LernerSLSorin Lerner
- Hovav ShachamHSHovav Shacham
Top Cited Papers
- 1 May 2015
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 10816011,p. 623-639
Abstract
We identify a timing channel in the floating point instructions of modern x86 processors: the running time of floating point addition and multiplication instructions can vary by two orders of magnitude depending on their operands. We develop a benchmark measuring the timing variability of floating point operations and report on its results. We use floating point data timing variability to demonstrate practical attacks on the security of the Fire fox browser (versions 23 through 27) and the Fuzz differentially private database. Finally, we initiate the study of mitigations to floating point data timing channels with libfixedtimefixedpoint, a new fixed-point, constant-time math library. Modern floating point standards and implementations are sophisticated, complex, and subtle, a fact that has not been sufficiently recognized by the security community. More work is needed to assess the implications of the use of floating point instructions in security-relevant software.Keywords
This publication has 31 references indexed in Scilit:
- The Algorithmic Foundations of Differential PrivacyFoundations and Trends® in Theoretical Computer Science, 2014
- On significance of the least significant bits for differential privacy2012
- Architecting against Software Cache-Based Side-Channel AttacksIEEE Transactions on Computers, 2012
- Caisson2011
- Timing- and Termination-Sensitive Secure Information Flow: Exploring a New Approach2011
- A firm foundation for private data analysisCommunications of the ACM, 2011
- Privacy integrated queries2009
- Microarchitectural Attacks and Countermeasures2009
- Timing Aware Information Flow Security for a JavaCard-like BytecodeElectronic Notes in Theoretical Computer Science, 2005
- Transforming out timing leaks2000