Android-IMSI-Catcher-Detector icon indicating copy to clipboard operation
Android-IMSI-Catcher-Detector copied to clipboard

Counter Measure: Disable GTalkService

Open E3V3A opened this issue 11 years ago • 38 comments

It's been known for a long time that Google has the power to pull or push any app to/from your phone, using the GTalkService: INSTALL_ASSET or REMOVE_ASSET. Thus we would like to disable this dangerous functionality, or at least detect it, when app is in a non-green detection/status mode. In addition, turning off GTalkService will also improve your battery life somewhat. Fortunately (!) this will also block the use of Google Play and updates. We need to:

  • [ ] Collect more info on which exact service need to be disabled
  • [ ] Find out if the above event can be easily detected and/or blocked, even if all services are running.

References: https://jon.oberheide.org/blog/2010/06/28/a-peek-inside-the-gtalkservice-connection/ http://forum.xda-developers.com/showthread.php?t=2357417&page=119 http://forum.xda-developers.com/xperia-u/issues/app-disable-service-t2455525

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

E3V3A avatar Oct 12 '14 01:10 E3V3A

@E3V3A, thanks for adding this. Since I run a CustomROM, I guess I don't have GTalkService since I did not flash a GAPPS-package. How can I verify that no services like GTalkService are running?

SecUpwN avatar Oct 12 '14 11:10 SecUpwN

So how do you install apps on that? If you can use Google Play, then it's probably running...

E3V3A avatar Oct 12 '14 11:10 E3V3A

I enjoy using Aptoide and F-Droid. The least thing I'd ever install on my phone, is GAPPS. That is a perfect bundle of spyware, folks. I am happy having freed my phone.

SecUpwN avatar Oct 12 '14 11:10 SecUpwN

Use this to disable services: https://play.google.com/store/apps/details?id=cn.wq.disableservice&hl=en But I don't think if this approach is really so good. If people use Google's services they can't expect that Google will ask them for anything. As far as I know Google used this feature to remove a malware-app on all phones after it was installed.

andr3jx avatar Oct 12 '14 14:10 andr3jx

@andr3jx I don't see how that has anything to do with this issue? (You're suggesting to download an outdated service app from GP to disable gtalkservice?) We can obviously do this much easier from command line.

E3V3A avatar Oct 12 '14 14:10 E3V3A

I don't see how this issue is related to detecting IMSI-Catchers. I'm against implementing it. If someone wants to disable some google services he can use the mentioned app.

andr3jx avatar Oct 12 '14 22:10 andr3jx

@andr3jx and @E3V3A, would you please stop fighting like two little kids here? In my eyes, disabling GTalkService is not on our current priority list, yet I do consider proposed feature important to be added at some point. Why? If Google can obviously boldly ignore Issue 5353 since 2009, then I have to suppose they are working together with agencies that do not want people to be warned about such things like unencrypted communication channels, Silent SMS or other possible attacks. And that leads me to the assumption that our App could get uninstalled through them without the user of our App knowing. Maybe @mar-v-in from the NOGAPPS Project can help us conveniently disabling this service?

SecUpwN avatar Oct 13 '14 00:10 SecUpwN

Ok, let me clarify how this is related to this AIMSICD. The Google INSTALL_ASSET or REMOVE_ASSET can be used to install or remove anything (by anyone), including our app and replacing it with spyware, if someone wanted to. Now I'm not saying this is trivial to do, which it isn't, but the fact that it can be done, is bad enough, especially when your name is Google. So this is an extremely dangerous function, that we really think the user should be in charge of.

Thus, the proposal is to implement this as a detection mechanism in settings, and let the user decide whether or not this can be disabled. So there is nothing really to argue about here. In addition, this is one of the very few easy to implement detections of when your device is being remotely manipulated. That is the skull icon. "Hit emergency wipe, drop and run!"

E3V3A avatar Oct 26 '14 21:10 E3V3A

@E3V3A, thank you for this clarification. Everyone should now see the additional importance to implement this feature. And thanks for your comment, @andr3jx! I have just contacted the developer of the App and hope he might shed some light on how to fully disable GTalkService.

SecUpwN avatar Oct 26 '14 23:10 SecUpwN

XPrivacy might be another choice to look into...

E3V3A avatar Oct 26 '14 23:10 E3V3A

XPrivacy might be another choice to look into...

Maybe @M66B can give us a hint on an easy solution?

SecUpwN avatar Oct 26 '14 23:10 SecUpwN

Here are two more articles on the Andoid remote "Kill Switch" law in California and how EFF is trying to prevent this craziness. here and here ~~Note: it's quite possible that kill switch is different from that of Google in OP.~~

E3V3A avatar Nov 02 '14 15:11 E3V3A

Kill switch is made by Google.

Google released Android 5.0 Lollipop Wednesday, and for the first time, it lets users to enable a “kill switch” on their phones. The feature, dubbed “factory reset protection,” requires a Google ID and password before a phone can be reset, and only works when a phone passcode is enabled.

E3V3A avatar Nov 03 '14 16:11 E3V3A

The feature, dubbed “factory reset protection,” requires a Google ID and password before a phone can be reset, and only works when a phone passcode is enabled.

Sounds like custom ROMs are "safe" from this "feature". Or is it hidden in there as well?

SecUpwN avatar Nov 05 '14 11:11 SecUpwN

Instead of asking new questions to an already complicated topic, try to find some of the answers yourself. Not everyone care about custom ROMs, and they're all different.

E3V3A avatar Nov 05 '14 20:11 E3V3A

Just tossing this into the discussion: *#*#8255#*#* should launch the so-called GTalk Service Monitor (didn't work on my AOKP ROM though). And since @jonoberheide wrote the awesome blog post you mentioned in the OP, I felt like he's the right person to help us on this. I wrote him a message introducing this challenge to him 16 days ago, but sadly did not receive an answer yet. Still hoping for a reply of him.

Did you know that Google exercised the remote application removal feature on the Apps of Jon which he used to demonstrate on SummerCon security conference how easy it would be to bootstrap a Rootkit onto Android phones via the Android Market? I will continue to research for implementable methods.

SecUpwN avatar Nov 16 '14 22:11 SecUpwN

We should not use google apps at all. After installing pure CM11 without gaaps I feel a free person, at last :-)

menschenfresser avatar Nov 21 '14 23:11 menschenfresser

@menschenfresser Well, sorry, but we're trying to promote a wider support for our App. Please don't bother posting in the issue threads unless you have something more constructive and relevant to tell us.

I have removed some of your other posts as they were completely irrelevant.

E3V3A avatar Nov 22 '14 01:11 E3V3A

censorship :-( then fuck this project.

menschenfresser avatar Nov 22 '14 01:11 menschenfresser

we are trying not kick out all Google Services anyway, no need to delete anything.

He3556 avatar Nov 22 '14 12:11 He3556

censorship :-( then fuck this project

@menschenfresser, first of all: Cool to see you're running pure CM without any GAPPS installed! Have you ever tried out AOKP? It is based upon CM, but yet enables much more tweaking - I just love it! Thing is, I hate Google stuff, too. But since our App shall run on as many devices as possible (which likely most of the time run stock ROMs), our project is not meant to remove all Google crapware, because this would require ROOT and is beyond the scope of developing our App. Here comes the good news: Since I am one of those privacy fanatics having rooted my phone and love phones free of Google (welcome in my club), I have been working on our project with AOSP ROMs and alternatives in mind from the very start.

Maybe you can elaborate a little on why you're so angry about our project? Feel free to get in touch with me via E-Mail, I am sure I can clear things up for you. Help us with pull requests!

SecUpwN avatar Nov 23 '14 13:11 SecUpwN

@E3V3A, I'm pushing this Issue to get a better idea of it. What do you think about my suggestion here?

  1. After each boot of the phone, AIMSICD would check if GTalkService is present.
  2. If GTalkService is present, AIMSICD could display a warning and offer to disable it.
  3. Make disabling/enabling an option in the PREFERENCES which is greyed out if not present.

SecUpwN avatar Dec 09 '14 07:12 SecUpwN

Sound good to me, but I don't know how to do that in practice. I know Titanium Backup and App Quarantine can do this, but not how it's actually done.

E3V3A avatar Dec 09 '14 19:12 E3V3A

Check if service is running - I have -not- found a way to list all components of a package (like DisableService app does).

dumpsys activity services | grep -i "GTalk"
dumpsys| grep -i "gtalkservice"

Disable service:

pm disable com.google.android.gsf/.gtalkservice.service.GTalkService

another thing to disable

pm disable com.google.android.gsf/.gtalkservice.service.GTalkServiceProxy
pm disable com.google.android.gms/.gcm.ProxyGTalkService

others I found:

.gtalkservice.service.ConnectionService
.gtalkservice.service.ConnectionServiceProxy
.gtalkservice.service.PushMessagingRegistrar
.gtalkservice.service.PushMessagingRegistrarProxy

andr3jx avatar Dec 09 '14 22:12 andr3jx

Excellent! Now we need to test this on various stock devices. (I assume ROMs are not using this, unless Google "add-ons" have been added.)

E3V3A avatar Dec 10 '14 00:12 E3V3A

I've just received an answer from @wangqi, the creator of the App Disable Service. He said that his App has a very simple functionality and basically does these things:

  1. Use getRunningServices to get all running services
  2. Use getServiceInfo to retrieve all services of any app
  3. Use the pm command to disable any found services

SecUpwN avatar Feb 03 '15 09:02 SecUpwN

This is great, but unfortunately this seem to be just the top of the iceberg. A recent review of my Samsung device Android permissions, was really jaw dropping as well. While providing useful insight into why certain other things doesn't work. Which means that for Samsung phones we have a whole new set of these dangerous remote tools.

E3V3A avatar Feb 04 '15 01:02 E3V3A

@E3V3A, I vote for adding detection and protection against this one and on adding the core features of our App as a priority. We can (and should) open separate Issues for the other attack vectors and then see how we can possibly add countermeasures for these relevant to IMSI-Catchers and remote attacks.

SecUpwN avatar Feb 04 '15 12:02 SecUpwN

Also re-opening this Issue for @smarek to have a last look at it if this can be implemented at all. Thanks!

SecUpwN avatar Nov 14 '15 23:11 SecUpwN

"Do one thing and do it well". Why don't you implement this feature in another app? I would not expect this functionality from an IMSI-Catcher detector...

vanitasvitae avatar Jan 25 '16 01:01 vanitasvitae