ARMOUR US: Android Runtime Zero-permission Sensor Usage Monitoring from User Space

Yan Long 0002, Jiancong Cui, Yuqing Yang 0003, Tobias Alam, Zhiqiang Lin 0001, Kevin FuWisec 2025

TL;DR

This paper introduces ARMOUR, a novel user-space tool that monitors zero-permission sensor usage on Android devices without requiring root access or app modification. It addresses the critical privacy gap left by sensors like accelerometers and gyroscopes, which can leak sensitive user data without explicit consent, and reveals widespread, often unjustified, sensor access in commercial apps.

What Problem Does This Paper Address?

Modern smartphones are packed with sensors—accelerometers, gyroscopes, magnetometers, and more—that provide rich data about our physical world. While many of these sensors require user permission (like location or camera access), a significant category, dubbed "zero-permission sensors," can be accessed by any app without explicit user consent or even notification. This creates a massive privacy blind spot, as these sensors can inadvertently reveal highly sensitive information, ranging from user identity and location to typing patterns and even voice characteristics. Existing methods for monitoring this sensor usage are often complex, requiring root privileges, app-specific reverse engineering, or complicated development chains, leaving a significant gap for both end-users and security researchers to understand and mitigate potential privacy leaks.

Methods

ARMOUR's core innovation lies in its user-space, privilege-free approach to monitoring zero-permission sensor usage. It leverages a clever observation about the Android sensor framework: when multiple applications request data from the same sensor, the actual sampling rates provided by the OS tend to converge. ARMOUR exploits this by running as a background app, requesting a very low sampling rate for itself. When other apps start accessing the same sensor, the OS is forced to increase the sampling rate for all requesting apps, including ARMOUR. By detecting this increase in its own sampling rate, ARMOUR can infer that another app is using the sensor.

The system involves three main stages:

  1. Device Profiling: ARMOUR first determines the minimum supported sampling rate (fmin) for each sensor on a given device. This is crucial for setting a baseline and establishing a detection threshold.
  2. Runtime Monitoring: ARMOUR runs in the background, continuously collecting its own sensor data and timestamps.
  3. Processing & Detection: It calculates the instant sampling rate (finst) from the collected data. If finst exceeds a predefined threshold (typically fmin + 0.5 Hz), ARMOUR flags sensor usage. The system also includes outlier cleaning to ensure stable detection.

Datasets

The paper introduces two datasets:

  • Detection Performance Dataset: A set of 50 apps known to use sensors, used to evaluate ARMOUR's precision and recall.
  • Sensor Usage Dataset: A larger dataset of 1,398 popular Google Play applications across 35 categories, used to analyze real-world sensor usage patterns and potential abuse.

Key Insights and Ideas

  • Widespread, Unjustified Sensor Usage: The most striking insight is the sheer prevalence of zero-permission sensor access, even in app categories where it's not immediately obvious why such data would be needed (e.g., Books, Finance, Shopping). This suggests a significant amount of "data hoarding" or potential for future misuse.
  • The "Always-On" Threat: ARMOUR detected persistent sensor activity even after apps were force-closed on certain devices, highlighting OEM-specific variations in Android's background process management and the difficulty of truly stopping sensor access.
  • Third-Party Libraries as a Source of Sensor Abuse: The analysis points to common third-party libraries (like Appsflyer) as a significant contributor to sensor data collection, often for marketing and analytics purposes, further obscuring the true origin of data access.
  • Android 12's Limited Impact: While Android 12 introduced some rate-limiting for high-sampling-rate sensors, the study found that many apps still push the boundaries, and device manufacturers might even bypass these regulations, indicating ongoing challenges in enforcing privacy policies.
  • User Interaction Triggers Hidden Usage: Even when apps didn't show sensor usage during a brief, automated test, manual testing revealed that user interactions (like logging in or accepting policies) could trigger significant sensor data collection.

Key Results

  • ARMOUR successfully detected sensor usage in all 50 apps in the performance evaluation dataset.
  • The tool incurs a low runtime overhead, increasing battery usage by approximately 2.6% per hour, making it suitable for continuous background monitoring.
  • Analysis of 1,398 popular apps revealed that a significant percentage of apps use at least one zero-permission sensor. For example, on Android 10, 46.1% of apps used at least one of the three monitored sensors (accelerometer, gyroscope, magnetometer).
  • Over 20% of apps were found to be using all three sensors simultaneously.
  • ARMOUR identified specific sensor abuse patterns, such as apps using sensor data for authentication and "shake-ad" features that trigger app redirects based on device motion.
  • The study found that on certain devices, over 3.6% of apps continued to access sensors even after being terminated.

Limitations and Future Work

  • Minimum Sampling Rate Blind Spot: ARMOUR cannot detect sensor usage when apps request the absolute minimum supported sampling rate (fmin). While the study suggests this is rare, it remains a potential avenue for undetected abuse.
  • Ground Truth Challenges: Establishing a definitive "ground truth" for sensor usage is difficult, especially with the complexities of dynamic instrumentation and potential anti-debugging measures.
  • Attribution Complexity: Determining whether sensor access is benign or malicious is a significant challenge, often requiring deep reverse engineering of app logic.
  • Future Work: The authors suggest integrating ARMOUR with automated GUI testing for more comprehensive analysis, developing more sophisticated attribution mechanisms, and exploring advanced privacy enhancement techniques like differential behavior analysis to better understand the purpose of collected sensor data. They also propose building a community-driven database of ARMOUR measurements across various devices and OEMs.