ARMageddon: Cache Attacks on Mobile Devices
summary
Implements Prime+Probe and Flush+Reload (and Evict+Reload, Flush+Flush) on unrooted ARM phones, using a tuned eviction loop to replace missing flush instructions and exploiting cache coherency to cross cores and CPUs. Shows covert channels ~1000x faster than prior Android work, distinguishes taps vs swipes and word lengths, extracts AES key bytes from Bouncy Castle Java via prime and probe, evaluates timing sources (including perf_event_open, clock_gettime, and a counter thread), and demonstrates measurable TrustZone leakage.
AI-written summary · about
chapters (24)
- 0:00Intro
- 0:12TLDR
- 1:41What is a cache attack? (2)
- 3:02Cache attack techniques
- 3:15Flush+Reload
- 4:47Caches on Intel CPUs
- 5:41Caches on ARM Cortex-A CPUs
- 6:23Modern ARM SOCs
- 7:11Cache maintenance
- 8:01Cache eviction
- 9:00Timing measurements
- 9:58Challenges
- 12:38no shared cache Multiple CPUs with no shared cache
- 13:26no flush
- 14:25random eviction
- 15:36no unprivileged timing
- 17:57Flush+Flush on the Samsung Galaxy S6
- 18:07Prime+Probe on the Alcatel One Touch Pop 2 40%
- 18:20Covert channels on Android
- 18:46Cache template attacks (CTA)
- 19:45CTA: taps and swipes
- 21:45Attacking Bouncy Castle with Prime+Probe (Alcatel)
- 22:07Leakage from ARM TrustZone (RSA signatures)
- 23:24Conclusions
related talks
27mCLKSCREW: Exposing the Perils of Security-Oblivious Energy Management
53mAndroid: He protec, but he also attac
43mAttacking Android Applications
47mAttacking Android Applications
51mExploiting Hardware Glitches And Side Channels In Perfect Software
33mWhen Attackers Go Mobile-First with AI
43mBreaking Samsung's ARM TrustZone
27mAutoLock: Why Cache Attacks on ARM Are Harder Than You Think
