On the effectiveness of mitigations against floating-point timing channels
summary
Benchmarks show operand-dependent timings: divisions and square roots hit 150–175 cycle spikes for some value families while powers-of-two and zero run about half the normal time; enabling FTZ/DAZ flips subnormal behavior rather than eliminating it. Attacks use SVG filter math and high-resolution timers to extract pixels cross-origin; exploits succeed on Chrome, Firefox and Safari until mitigations land. SIMD-based Escort reduces variability to about 5% difference but does not remove the channel, and Safari ultimately blocks the vector by removing cross-origin SVG filters.
AI-written summary · about
chapters (26)
- 0:00Introduction
- 0:53Agenda
- 1:17Pixel stealing attacks
- 4:15Floatingpoint computation in hardware
- 6:22Realworld floatingpoint performance
- 8:54Summary table
- 9:15Timing differences
- 9:39FE convolve matrix
- 10:19Objective
- 10:34Safari
- 11:20Firefox
- 12:24Chrome
- 13:57Square Root
- 14:24FPU State Flags
- 14:41Chrome Example
- 15:55EScort
- 16:11SIMD
- 17:04Timing variation
- 17:43Multiplication
- 18:20Parallel operation
- 18:33Performance counters
- 19:05Attacks on browsers
- 19:15Firefox 52 patch
- 20:21SVG filters
- 21:03GPU performance
- 21:44Questions
related talks
29mTrusted Browsers for Uncertain Times
14mProtecting cryptography code from timing vulnerabilities
50mTime Trial: Racing Towards Practical Timing Attacks
29mSecure, Precise, and Fast Floating-Point Operations on x86 Processors
34mFront-End Performance - The Dark Side
38mSide Channel Attacks: Lessons Learned Or Troubles Ahead?
35mShowTime: CPU Timing Attacks With the Human Eye
24mTales From the Trenches: Fingerprints on the Web
