TEMPLATE DESIGN © 2008 Detecting User Activities Using the Accelerometer on Android Smartphones...
-
Upload
melissa-shields -
Category
Documents
-
view
213 -
download
0
Transcript of TEMPLATE DESIGN © 2008 Detecting User Activities Using the Accelerometer on Android Smartphones...
TEMPLATE DESIGN © 2008
www.PosterPresentations.com
Detecting User Activities Using the Accelerometer on Android SmartphonesSauvik Das, Supervisor: Adrian Perrig
[email protected] Mellon University | TRUST-REU
The Android Framework
The Android platform is an open platform for mobile devices consisting of an operating system, applications and middleware
Android gives users the opportunity to build and publish their own applications by providing an open development environment.
Android treats all applications (native and third-party) as equals.
Therefore, having such an open development environment requires security measures to be taken in order to protect the integrity of the Android platform and the privacy of its users.
Android Sensors
Manifest Permissions
Android’s primary means of notifying users of security
risks of an application is via the use of Permissions.
Permissions must be stated in the
AndroidManifest.xml
However, use of the accelerometer sensor is not required to be stated
in the AndroidManifest.xml file.
What can be found out from the Accelerometer?
Restating the Problem
We primarily focused on the Activity Recognition project
Signal Processing
First we combined the Acceleration magnitudes from the individual axes into one acceleration vector:
Next, we had to reduce noise; Two major sources of noise:
Data Linearization
Data Linearization was the remedy to irregular sampling rates.
Pick a desired regular sampling rate, and then interpolate the holes of the data. Before smoothing, data linearization should not
significantly alter the shape of the curve.
Smoothing
Additional noise was reduced or eliminated via 5-point smoothing. 5-point smoothing modifies each point to be the
average of its 4 nearest neighbors. 1-5 iterations of smoothing were tested. 3 iterations yielded the best results.
Feature Extraction
Classification
Results & Conclusions
Feature Extraction is the process of extracting key “features” from a signal. What distinguishes running from walking from jumping in the figure below? Features were extracted from every sample window of 512 samples. The following features were used:1. The Fundamental Frequencies: The average of the three
dominant frequencies of the signal over the sample window. This was found via a Discrete Fourier Transformation.
2. Average Acceleration: The arithmetic mean of the acceleration magnitudes over the sample window.
3. Max Amplitude: The maximum acceleration value of the signal in the sample window.
4. Min Amplitude: The minimum acceleration value of the signal in the sample window.
Classification is the process of labeling unknown patterns based on the knowledge of known patterns of data. Two different classifiers were used:K-Nearest Neighbor: Based on the shortest euclidean distance between the unknown and known data’s feature vectorNaïve Bayes: Assumes the absence of one feature does not disqualify a candidate (e.g., an object which is red and round is an apple, even if is not known to be a fruit)
The Android has several sensors available:
• Accelerometer• Orientation• Ambient Light• Proximity• Magnetic Force
Use of these sensors does not require direct user permission!
Activity Recognition
Keystroke Detection
Path Detection
Inputs:-X acceleration -Y acceleration -Z acceleration
Desired Outputs:
- Physical Activities (e.g., Running, Walking)
- Approximate time spans
- Quick detection of changes
1. Irregular Sampling Rate: Samples were collected irregularly because of the implementation of the sampling mechanism in Android
2. Random Noise: Introduced from any number of sources (e.g., bumps on the road, screen taps).
Before Linearization After Linearization
Before SmoothingAfter Smoothing
Objective
To expose the Accelerometer as a security vulnerability on the Android
framework.
Given individual calibration, 1-Nearest-Neighbor resulted in 93% accuracy in distinguishing between: Running, Walking, Jumping, Idle, and Phone detached from user. Climbing Stairs and Descending Stairs was confused with Walking, but always distinguished from other activities. From preliminary tests, Naïve Bayes could result in similar results without individual calibration!
Conclusion: Clearly, basic activities such as Running, Jumping, and Idle can be discerned with considerable
accuracy – and much more is possible with further testing. Given that users can be oblivious to an application’s use of sensors, this is a significant
security vulnerability!