48x36 Poster Template - Team for Research in Ubiquitous

Download Report

Transcript 48x36 Poster Template - Team for Research in Ubiquitous

Detecting User Activities Using the Accelerometer on Android
Smartphones
Sauvik Das, Supervisor: Adrian Perrig
[email protected]
Carnegie 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.
Manifest Permissions
Android’s primary means of
notifying users of security
risks of an application is via
the use of Permissions.
Signal Processing
Feature Extraction
First we combined the Acceleration magnitudes from the
individual axes into one acceleration vector:
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.
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.
Next, we had to reduce noise; Two major sources of noise:
1.
What can be found out from the Accelerometer?
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).
Data Linearization
Path Detection
Android Sensors
The Android has several sensors available:
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.
Activity Recognition
• Accelerometer
• Orientation
• Ambient Light
• Proximity
• Magnetic Force
Data Linearization was the remedy to irregular sampling rates.
Before Linearization
After Linearization
Classification
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 vector
Naï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)
Keystroke Detection
Restating the Problem
Use of these sensors does not require
direct user permission!
Objective
To expose the Accelerometer as a
security vulnerability on the Android
framework.
TEMPLATE DESIGN © 2008
www.PosterPresentations.com
We primarily focused on the Activity Recognition project
Inputs:
-X acceleration
-Y acceleration
-Z acceleration
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.
After Smoothing
Desired Outputs:
- Physical Activities (e.g.,
Running, Walking)
- Approximate time spans
- Quick detection of changes
Before Smoothing
Results & Conclusions
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!