Replicant lacks tracking antifeatures

Recently there was a lot of hype about mobile operating systems spying the users: Apple iOSPalm WebOS, Google Android.

Since Replicant is based on Android someone could be concerned about our operating system too.

According to Magnus Eriksson on github:

The files are named cache.cell & cache.wifi and is located in /data/data/com.google.android.location/files on the Android device.

Well we are proud to confirm that on Replicant (tested both on htc dream and nexus one) those files are missing,  even with "Settings -> Location & Security -> Use wireless networks" enabled.

The directory that should contain those files( /data/data/com.google.android.location/files ) doesn’t even exist  in Replicant.

But beware: even if Replicant itself doesn’t track its users’ position, this doesn’t mean that the phone can’t spy on you.

A smartphone usually has two components that talk to each other: a cpu and a modem. If the modem gets a call, it tells the CPU about it and viceversa for outbound calls, the CPU will order the modem to make a call (if you are curious about how it works there is a paper about how mobile phones work).

The modem and the CPU running Replicant are separated, and while we are trying to do our best to ship a fully free mobile os, the code running on the modem is proprietary software and can’t be changed. Since we don’t know what it does, we have no way to be sure that it doesn’t spy.

Also note that on the HTC Dream and the nexus one mobile phones,  GPS and audio parts are controlled by the modem.

The cellphone network can also spy, in fact in order to work it has to know your location.

This is just to remind you that every mobile phone is a tracking device and if you don’t want to be spied at all you should not use one.

So why do people invest time on Replicant?

Here are some reasons:

  • The modem or the network has no access to the CPU where replicant is running. That opens up some possibilities such as VPN, TOR,SSH, etc…
  • If mobile phones become the computers of the future we want to run free software on them.

Edit: I learned that the Modem’s CPU has access to the memory(the RAM chips) of the CPU running replicant, in other words the modem CPU can spy replicant’s CPU.

That will force us to port replicant to some devices that don’t have this problem, such as the nokia n900 for instance.

18 thoughts on “Replicant lacks tracking antifeatures

  1. > Sorry, but this blog post is ridiculous.

    Just because you don’t know the answer to your questions and you didn’t [even wait to ] receive replies to them, doesn’t lead to a logical conclusion that the blog post is ridiculous.

  2. We are aware of Nitdroid, however it seems there is no clear indication on how to build it for the N9, nor did I find the appropriate source code.

  3. If you don’t want the /data/data/com.google.android.location files on any android phone just remove the network location apk (need root), and when you’re at it remove as well all the Google apps…

  4. No GTalk service as far as I could see. It is likely nonfree software, so there seems to be no way that it was included by mistake (ie: not removed).

  5. P.S. GTalkService is responsible for installing and removing applications using Android Market and it implements C2DM (Cloud to Device Messaging Framework)

  6. WOW!!! It’s the thing I am waiting for so long!!!!! :)
    Where’s donate button?

    And what about GTalkService, which enables google to install and remove any program remotely? Is it absent in Replicant (I hope yes)?

  7. Yes, we know for sure that some phones can access critical components of the phone, like the CPU’s RAM, the NAND (memory), the GPS and the audio chip. This is the case in MSM/QSD devices, like the HTC Dream, Nexus One or Nexus 4.
    Some other phones have a better hardware design, on which things are less accessible to the modem, like on Samsung devices (Nexus S, Galaxy S) where only a small part of the RAM is shared between the modem and CPU.

    We aren’t really aware of the state of ASLR on various Android versions, but that’s definitely something you want enabled if you need security on your phone. ASLR makes it harder for the modem to interpret informations, though we are just exposing that the modem being able to access RAM (among other problems, like NAND, GPS, audio) is a serious security flash, but we can’t actually tell if the modem has malicious features exploiting that flaw or not, nor can we comment about how it would technically read sensible infos.

  8. Edit: I learned that the Modem’s CPU has access to the memory(the RAM chips) of the CPU running replicant, in other words the modem CPU can spy replicant’s CPU.

    I’ve heard this from other folks, too. Can you cite this?

    Do you know whether ASLR (reportedly implemented well in 4.1), protects against the modem CPU copying user data? Is it smart enough to decrypt memory if it has access to private keys?

    Brian

  9. You mentioned Nokia N900 as a possible target device. What about Nokia N9 ? It will need a replacement for its no longer supported MeeGo Harmattan OS in the not so far future.

  10. We are starting to set something up for donations. If you consider making a donation to the Replicant project, is it ok for you to wait a bit so that we can establish things?

  11. @Mike :
    > What’s that supposed to mean? That you are surprised, because you don’t really know what’s going on inside your own product?

    Do you mean that replicant developers must have read all the lines of the code of the “product” and so know exactly what every bit of code does? Well if that’s what you mean, it’s much likely not the case so it’s still possible that nasty things are done by free code, but it’s very unlikely since a lot of (external to google) people have worked on that code before.

    This post is just a confirmation that this nasty tracking thing was in Google’s non-free code. To confirm that, I don’t see any other solution than testing without the non-free libs (so under replicant) and see if it’s present or not. The solution you seem to suggest, asking all the devs to read all the code to “know what’s going on inside [their] own product” is the ridiculous thing, not the post.

  12. There is no patch that removes such function:
    The lack of proprietary libraries is the cause of the absence of the files.

    Denis.

  13. > Well we are proud to confirm that on Replicant (tested both on htc dream and nexus one) those files are missing

    What’s that supposed to mean? That you are surprised, because you don’t really know what’s going on inside your own product?

    Could you elaborate WHY the files aren’t there? Where’s the patch Android that removes that function?

    Sorry, but this blog post is ridiculous.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.