LWN.net Logo

Development

CyanogenMod Account: Remotely track or wipe phones

By Jake Edge
August 21, 2013

Being able to remotely track or delete the personal data (i.e. "wipe") from a lost or stolen phone can be rather useful features. Unfortunately, most of the solutions for doing so come with strings attached. Generally, the app provider, a random attacker, or an employer can trigger the tracking or wiping, which is likely not what the phone owner had in mind. CyanogenMod, an alternative Android distribution, is taking another approach to the problem, one that will only allow the owner of the device to remotely track or wipe it.

Phones and other devices are frequently misplaced, and sometimes stolen. In the former case, tracking the phone down, either by its GPS location or by simply ringing it, is helpful. For stolen phones, the location may be of use to law enforcement, but being able to delete all of the personal information stored on the device is an important, possibly even critical, feature.

On August 19, the project announced CyanogenMod Account, which is an optional service to provide these features. As one might expect from a project like CyanogenMod, all of the code is open source, and the project is encouraging both potential users and security researchers to scrutinize it.

The idea, as outlined in the announcement, is to preserve the privacy of users and to protect them from the service being abused. "We cannot track you or wipe your device. We designed the protocol in such a way that makes it impossible for anyone but you to do that." That stands in direct contrast to Android Device Manager, for example, which stores location information on Google's servers. In addition, that code is closed, so it will be difficult for anyone to verify what, exactly, it does. There are other Android solutions, of course, but seemingly none that are open source—or focused on user privacy.

The new feature has not yet been added to the CyanogenMod nightlies, but can be found on GitHub for those interested in testing. Some more details about the implementation, and its privacy protection, can be found in a Google+ post. There are three pieces to the puzzle: an app running on the phone, code on the CyanogenMod servers, and a JavaScript client running in a browser. To communicate, the browser and device set up a secure channel, mediated by (but not visible to) the server.

In order to set up that channel, the browser generates a public/private key pair and prompts the user for their password. The password is cryptographically hashed (using an HMAC, hash-based message authentication code) with the public key and sent to the server, which forwards it to the device. The device can extract the public key by reversing the hash operation using the password (which it must also have). It then creates a symmetric session key that it encrypts with the transmitted public key and sends it to the browser. The server cannot decrypt this session key because it doesn't have the private key, but the browser can, so a secure channel is established.

At that point, the browser can request location information or ask the device to wipe the personal data stored on it. It could also request the device to ring, which could be handy if it is simply lost under the sofa cushion. Other actions (e.g. remotely taking pictures) are obviously possible as well.

So far, the main criticism of the feature is its web-based nature. A man-in-the-middle attacker could potentially feed dodgy JavaScript to the user's browser, which could, in turn, send password information onward. That problem should mostly be mitigated by using HTTPS to connect to the CyanogenMod server—but what if that server itself has been compromised? Based on recent events, it is not just "traditional" attackers that are being considered here, but also shadowy government "security" agencies with secret orders to force the project to serve malware. That is an unfortunate failure mode for all web services these days (and, sadly, probably long in the past as well), but the code is open, so one can at least run their own server—and await a (presumably unlikely) visit from said shadowy entities.

The announcement also mentions plans for further services to be added to CyanogenMod Account. One of those is a "Secure SMS" system that Moxie Marlinspike is currently working on, presumably along the lines of his TextSecure application. In the meantime, the track and wipe feature will eventually make its way into the nightlies and then into a release. Before too long, CyanogenMod users will have a superior solution to the lost phone problem.

Comments (4 posted)

Brief items

Quotes of the week

"Java is found everywhere [...] even in your car" - I assume that's a threat?
Michael Stum

YOU WOULD HAVE TO BE SOME KIND OF LUNATIC TO USE THIS IN PRODUCTION CODE RIGHT NOW. It is so alpha that it begins the Greek alphabet. It is so alpha that Jean-Luc Godard is filming there. It is so alpha that it's 64-bit RISC from the 1990s. It's so alpha that it'll try to tell you that you belong to everyone else. It's so alpha that when you turn it sideways, it looks like an ox. It's so alpha that the Planck constant wobbles a little bit whenever I run the unit tests.
Nick Mathewson

Comments (3 posted)

QEMU 1.6 released

Version 1.6 of the QEMU hardware emulator is available. New features include live migration over RDMA, a new 64-bit ARM TCG target, support for Mac OS X guests, and more; see the changelog for details.

Comments (12 posted)

Laidout folder released as a web application

Tom Lechner, the comic book artist and developer behind the Laidout impositioning application, has adapted Laidout's signature paper-folding tool into an HTML5 program. The Laidout folder allows the user to fold a variety of paper sizes into booklets, pamphlets, and other bound materials, and unfold them into a flat layout with proper margin edges and page orientations automatically calculated. We first covered Laidout in 2010.

Comments (none posted)

GNOME's official GitHub mirror

GNOME has set up an official mirror of its entire set of source repositories on GitHub. Alberto Ruiz describes the move as "a starting point for people wanting to have a public branch where they can publicize their work even if they don't have a GNOME account. It should also help maintainers keep track of the work people is doing out there with their code." The announcement also notes that there is no plan to support pull requests from GitHub branches.

Full Story (comments: 1)

devpi 1.0 available

Version 1.0 of the devpi server tool is available. Devpi allows users to deploy a cache of the Python Package Index (PyPI), or to run a completely internal PyPI instance.

Full Story (comments: none)

GnuPG 2.0.21 released

A new stable release of the Gnu Privacy Guard (GnuPG) encryption suite is available. Version 2.0.21 introduces several changes to gpg-agent, adds support for ECDSA SSH keys, and can now be installed as a "portable" application on Windows systems.

Full Story (comments: none)

Firefox 23.0.1 released

Firefox 23.0.1 has been released. This version enables mixed content blocking along with other updates and bug fixes. The release notes contain additional information.

Comments (38 posted)

Newsletters and articles

Development newsletters from the past week

Comments (none posted)

Usability testing: how do we design effective tasks (Canonical Design)

At the Canonical Design blog, Tingting Zhao has written a detailed look at defining and articulating the "tasks" that are given out as prompts in usability testing. This includes finding the correct amount of detail, as well as navigating the distinction between closed- and open-ended tasks, or "direct" and "scenario" tasks. With scenario tasks, for example, "some participants may experience uncertainty as to where to look and when they have accomplished the task. Others may be more interested in getting the test done, and therefore do not put in as much effort as what they would in reality."

Comments (none posted)

De Icaza: Callbacks as our Generations' Go To Statement

On his blog, Miguel de Icaza touts C# (and F#) async as a superior model for doing asynchronous programming to the mechanisms offered by other languages. He notes that using callbacks for asynchronous programming turns programmers into "glorified accountants" in much the same way goto statements did, as Edsger Dijkstra's famous "Go To Statement Considered Harmful" paper described. "And this is precisely where C# async (and F#) come in. Every time you put the word "await" in your program, the compiler interprets this as a point in your program where execution can be suspended while some background operation takes place. The instruction just in front of await becomes the place where execution resumes once the task has completed."

Comments (86 posted)

Poortvliet: Basic Usability Testing at Home - notes from the workshop at Akademy 2013

Continuing our recent usability theme (GNOME usability and Ubuntu usability), Jos Poortvliet has some tips and lessons learned from a usability workshop that he and Björn Balazs ran at this year's Akademy. "The goal was to teach developers how to do 'basic usability testing at home' by guiding users through their application and watching the process. To help developers who didn't make it (and those who did but can use a reminder) I hereby share a description of the process and some tips and notes." Videos from two of the tests are shown as well.

Comments (1 posted)

Here's what you find when you scan the entire Internet in an hour (The Washington Post)

Over at The Washington Post, Timothy B. Lee looks at the ZMap network scanning tool that was announced (slides [PDF]) at the USENIX Security conference on August 16. "In contrast, ZMap is "stateless," meaning that it sends out requests and then forgets about them. Instead of keeping a list of [outstanding] requests, ZMap cleverly encodes identifying information in outgoing packets so that it will be able to identify responses. The lower overhead of this approach allows ZMap to send out packets more than 1,000 times faster than Nmap. So while an Internet-wide scan with Nmap takes weeks, ZMap can (with a gigabit network connection) scan the entire Internet in 44 minutes." Beyond just the tool itself, Lee also looks at the results of some of the research that ZMap has facilitated in areas like HTTPS adoption, security flaw fixing, and when the internet sleeps.

Comments (9 posted)

PrintDesign team releases a preview version (Libre Graphics World)

Libre Graphics World (LGW) covers the initial release of PrintDesign, a new vector graphics editor that started out as a refactoring of the aging sK1 illustration program. The preview release is a work in progress, but LGW notes the project's "good progress for about half a year of work, especially if you consider that some newly added features are unavailable due to the recently started UI rewrite." The review also comments that PrintDesign seems to be targeting desktop publishing, which makes it distinct from the Inkscape vector editor.

Comments (none posted)

Page editor: Nathan Willis
Next page: Announcements>>

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds