Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
125 tokens/sec
GPT-4o
47 tokens/sec
Gemini 2.5 Pro Pro
43 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
47 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

ARMageddon: Cache Attacks on Mobile Devices (1511.04897v2)

Published 16 Nov 2015 in cs.CR

Abstract: In the last 10 years, cache attacks on Intel x86 CPUs have gained increasing attention among the scientific community and powerful techniques to exploit cache side channels have been developed. However, modern smartphones use one or more multi-core ARM CPUs that have a different cache organization and instruction set than Intel x86 CPUs. So far, no cross-core cache attacks have been demonstrated on non-rooted Android smartphones. In this work, we demonstrate how to solve key challenges to perform the most powerful cross-core cache attacks Prime+Probe, Flush+Reload, Evict+Reload, and Flush+Flush on non-rooted ARM-based devices without any privileges. Based on our techniques, we demonstrate covert channels that outperform state-of-the-art covert channels on Android by several orders of magnitude. Moreover, we present attacks to monitor tap and swipe events as well as keystrokes, and even derive the lengths of words entered on the touchscreen. Eventually, we are the first to attack cryptographic primitives implemented in Java. Our attacks work across CPUs and can even monitor cache activity in the ARM TrustZone from the normal world. The techniques we present can be used to attack hundreds of millions of Android devices.

Citations (410)

Summary

  • The paper introduces advanced cache attack techniques on ARM mobile devices that overcome challenges like non-inclusive caches and random replacement policies.
  • It utilizes novel eviction strategies to construct fast, cross-core and cross-CPU covert channels that outperform previous methods.
  • The study reveals vulnerabilities in crypto implementations and secure execution zones, urging stronger countermeasures for ARM systems.

Analyzing Cache Attacks on ARM-based Mobile Devices

In the paper, "ARMageddon: Cache Attacks on Mobile Devices," the authors investigate and successfully demonstrate the applicability of side-channel cache attacks on ARM-based mobile devices, particularly Android smartphones. The paper addresses a significant gap in existing research, where such attacks had predominantly been demonstrated on Intel x86 architectures and not on ARM, due to differences in cache organization and the lack of certain instructions on ARM architectures.

The primary focus of the paper is to implement and analyze sophisticated cache attacks such as Prime+Probe, Flush+Reload, Evict+Reload, and Flush+Flush on modern ARM devices without requiring root access or additional privileges. This is accomplished by overcoming several technical challenges inherent to ARM architectures, such as non-inclusive caches, lack of flush instructions on most ARM devices, and the pseudo-random cache replacement policies.

Implementation and Results

The authors overcome these challenges by devising novel techniques and strategies for cache eviction and eviction set construction. They examine multiple eviction strategies, focusing particularly on optimizing the performance of eviction under ARM’s random replacement policies, which inherently introduce higher levels of noise compared to Intel x86 LRU policies. Key to their implementation is the development of high-performance cross-core and cross-CPU covert channels, achieving transmission rates up to several orders of magnitude faster compared to prior methods on similar platforms.

Their evaluation on several ARM-based smartphones demonstrates the effectiveness of their methodologies. They show that cross-core and cross-CPU cache attacks pose a viable threat to hundreds of millions of Android devices. Moreover, by employing these techniques, they efficiently implement covert channels with exceptionally high bandwidths—outperforming existing covert channels by a significant margin.

Practical Applications and Implications

The practical implications of this research are profound. By extending successful cache attack techniques to ARM architectures, which dominate the smartphone market, the paper introduces potential new vulnerabilities across a vast user base. These vulnerabilities are not limited to theoretical exercises; they are practical, as demonstrated by the covert channels and the attack on user inputs like taps, swipes, and even keystrokes on devices using shared libraries and Android runtime. Such capabilities could be exploited to gather sensitive information without user consent.

One particularly impactful finding is the attack on cryptographic implementations in the Java Bouncy Castle library, a widely used crypto library in Android devices. Despite countermeasures proposed for mitigating cache attacks elsewhere, such as using advanced instruction sets or adopting constant-time implementations, these attacks reveal that some cryptographic primitives remain vulnerable due to implementation choices.

Moreover, the authors extend their work into the domain of secure architectural features, such as the ARM TrustZone. They demonstrate that cache side channels permit the observation of activities within the TrustZone—an ostensibly secure execution environment meant to isolate sensitive operations from normal processes.

Future Directions

The paper posits several avenues for future research and technological adjustments. One pressing need is developing effective countermeasures for ARM-based systems, similar to those available for x86 platforms, such as improved cache isolation techniques, more resistant cryptographic implementations, or hardware enhancements like cache partitioning.

The rapid evolution of ARM architectures and their extension into areas like IoT and edge computing highlights the necessity for continued research in cache-based side-channel attacks, ensuring these vulnerabilities are managed proactively. It suggests that platform and security architects must consider such side-channel vulnerabilities when designing systems, particularly in contexts where sensitive data handling is paramount.

To encapsulate, the research presents a comprehensive exploration of cache attacks applied to ARM-based mobile devices, offering impactful insights into the attack vectors possible within modern computing paradigms and underscoring the urgency for robust security countermeasures in mobile and embedded system design.