PinMe research

Princeton researchers have developed a proof-of-concept app that can be used to reliably track users even if an app does not access a phone's GPS data, and the user has purposely turned off GPS services.

Researchers say this is possible because modern phones come with a large number of accurate sensors that track a wealth of data that could be corroborated with external sources —such as elevation maps and weather data— and reconstruct a user's movements.

Researchers create PinMe app

To prove such an attack was possible, the Princeton research team created an app called PinMe that they installed on the phones of three test subjects, using phones such as Galaxy S4 i9500, iPhone 6, and iPhone 6S.

The app was able to reconstruct the test subjects' movements without accessing their phone's GPS data.

For starters, the app collected the user's IP address and WiFi connection information and checked it against public databases of WiFi networks to determine an approximate location of the users' phone at regular intervals.

It then used data from gyroscopes, accelerometers, and altitude sensors to track how fast the person was moving, the direction of travel, when the subject stopped, and the current altitude. The app then aggregated all this data and used a pre-trained algorithm to determine the user's mode of travel, such as walking, driving, train travel, or flying.

PinMe app uses public data to detect user's location

Once the PinMe app determined the user's initial location and mode of travel, it used publicly accessible maps to draw a user's route. For example, PinMe used the OpenStreetMap public navigational maps and elevation maps from Google and the US Geological Survey.

Furthermore, PinMe also used temperature, humidity, and air pressure sensor readings and compared this info with reports from The Weather Channel in order to verify and reinforce previous findings.

The Princeton team says the app successfully detected when one of their test subjects flew from Philadelphia to Dallas, by both reading elevation and acceleration data, but also timezone settings in the phone's clock, weather settings in the two airports, and by matching the presumed flight timeline with public airplane flight timetables.

Researchers also admit that the app isn't perfect. For example, if the user installs Tor on his mobile device, the PinMe app can't pin a user's geographical location with enough accuracy. In addition, the app has problems with uniform no-elevation grid-like street formats, like the ones in Manhattan, and can also become inaccurate if the public records it mines are contaminated with corrupt data.

System could be used as a backup GPS network

According to researchers, the purpose of their work was to show the dangers of users not having control over their phones' sensors.

In the future, researchers hope that smartphone OS makers take into account their research and introduce "on/off" switches for sensors that would allow users to prevent apps from accessing the information they collect, similar with the permissions system that prevents apps from accessing GPS information today.

Further, researchers also argue that the principles behind their work can also be used to create an alternative to the modern-day GPS-based navigational system that would work as a backup in modern cars, ships, and other modes of transportation if the primary GPS system would ever go down.

More details about this research is available in a research paper entitled "PinMe: Tracking a Smartphone User around the World."