Trusted Browsers for Uncertain Times
summary
JavaScript can recover fine-grained time even when performance.now is rounded coarsely; the clock edge technique and other tactics boost effective resolution by up to two orders of magnitude (100 ms → ~0.5–1 ms). Browsers expose many implicit clocks (video subtitles, animations, Web Speech, etc.) that leak timing. A Fuzzyfox prototype implements Fermata-style fuzzy time: randomized pauses and queued I/O that break timing edges, measurably noisy clocks and reduced attack bandwidth at the cost of higher latency for large sequential loads.
AI-written summary · about
chapters (20)
- 0:00Intro
- 1:02Browsers and timing attacks
- 1:58Timing attacks in web browsers SVG Filter cross-origin pixel stealing
- 2:33What is being done about it?-SVG attack
- 3:01What is being done about it? - Cache attack
- 4:06Rounding down the clock
- 5:57Clock-edge technique - performance.now()
- 7:21Implicit clocks - Techniques
- 8:53Implicit clocks - WebVTT and clock-edge
- 10:23Fuzzy time for the VAX security kernel • VAX VMM
- 10:48Fuzzy time - Problem
- 12:03Fuzzy time - Solution guarantees
- 12:35Fuzzy time - 1/0 queuing
- 13:52Fermata - Why adapt fuzzy time?
- 16:22Fuzzyfox - Main thread queuing
- 19:01Fuzzyfox - Effectiveness - Explicit - performance.now()
- 19:31Fuzzyfox - Effectiveness - Implicit - WebVTT clock
- 20:28Fuzzyfox - Performance - Micro benchmarks
- 21:13Fuzzyfox - Performance - Sequential loads
- 22:04Fuzzyfox - Performance vs Tor Browser
related talks
01h 02mWeb Performance Tuning with browser APIs
28mOn the effectiveness of mitigations against floating-point timing channels
34mFront-End Performance - The Dark Side
38mThe future of the browser
19mLessons learnt pushing browsers to the limit
26mAll your browsers are belong to me
21mIn the Blink of an Eye
35mNow you can trust the browser
