TEMPLATE DESIGN © 2008 Detecting User Activities Using the Accelerometer on Android Smartphones...

1
TEMPLATE DESIGN © 2008 www.PosterPresentations.com 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. 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.x ml However, use of the accelerometer sensor is not required to be stated in the AndroidManifest.x ml 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 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) 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 Smoothing After 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!

Transcript of TEMPLATE DESIGN © 2008 Detecting User Activities Using the Accelerometer on Android Smartphones...

Page 1: TEMPLATE DESIGN © 2008  Detecting User Activities Using the Accelerometer on Android Smartphones Sauvik Das, Supervisor: Adrian.

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!