Gyrophone: Recognizing Speech From Gyroscope Signals
We show that the MEMS gyroscopes found on modern smart phones are sufficiently sensitive to measure acoustic signals in the vicinity of the phone. The resulting signals contain only very low-frequency information (< 200 Hz). Nevertheless we show, using signal processing and machine learning, that this information is sufficient to identify speaker information and even parse speech. Since iOS and Android require no special permissions to access the gyro, our results show that apps and active web content that cannot access the microphone can nevertheless eavesdrop on speech in the vicinity of the phone.
This page contains prototype code for the location privacy protocol described in the paper below. We have provided both the server and the client side code. The server was implemented in Java using Servlet technology, and the client was implemented for the Android platform. The code uses Facebook to manage keys but does not use location tags.
On USENIX Security website (23rd USENIX Security Symposium (USENIX Security 14))
Local copy: Gyrophone: Recognizing Speech From Gyroscope Signals
Git repository on Bitbucket.org:
The repository contains the Android application and the Matlab code.
Download Android Application (for sampling the gyroscope): gyromic.apk
The Android application source code can be found under the App directory.
It can be built using Eclipse or ant. To build using the ant build system simply go to
the App directory and run
$ ant debug
Mobile Device Identification via Sensor Fingerprinting