Hacker News new | ask | show | jobs
by Cider9986 5 days ago
Absolutely, which is why I really appreciate the network permission on GrapheneOS. It makes me more comfortable to allow other permissions knowing no data can be exfiltrated.
5 comments

It's wild to me that "internet access" is not revokable or even displayed in the Play Store in stock Android. It's such a huge security and privacy concern, even if most apps semi-legitimately need it.

Or, it would be wild, if it weren't fairly obvious that this is just Google protecting their mobile ad revenue.

There's basically zero apps without some sort of analytics nowadays.
More than half of the ones I have installed have no internet access. Most because they don't have the permission (thanks, F-Droid!) and the rest because I've rejected that permission (thanks, GrapheneOS!)
That's fine. The OS should still let me turn off all outbound network connections for an app.

Apps that are solely relying on analytics still tend to function when the analytics are unreachable.

Not in all app repositories. This isn't so common among open source software as it is in the commercial/adware ones you find very prominently in Google's curated collection
Sounds like a concern for app devs but something that shouldn't be a concern for users (because they should be able to turn it off)
Well, Google is the advertisement company.
>no data can be exfiltrated.

Well, that depends on the other apps you have installed. Unless things have changed in newer versions, apps with no networking can still do IPC, so any app can for example use Cronet to make network requests via Google Play Services, regardless of the toggle, as long as sandboxed Google Play Services has network permission.

Good point and thanks for the heads up.

Mostly asking it as a question, given that graphene runs Google play services (optionally) as a normal, sandboxed service with no special permissions might help a bit, but I guess unless you disable networking for every other service installed, this is sort of impossible to plug 100%? IPC can be quite the security hole.

Only if the other services provide a network proxy right? You'd need to find an exploit in the app otherwise.

Edit: although, I just remembered that it's actually as simple as sending "open this URL" intents to the Android equivalent of sensible-browser, which everyone will have installed. That does rely on users not understanding or caring about what's happening or it only works for the first user

Yeah, there are endless holes unfortunately with IPC. It has been hardened by more recent android versions https://developer.android.com/guide/topics/manifest/queries-...

but even something like "share via Chat app" can be used to leak information, e.g. it will have the link preview loaded".

Yes IPC is definitely a security hole, but because the two apps communicating need to both explicitly support it (I really doubt there'd be an exploitable vulnerability here of all places), it's a much smaller concern. Here I'd mainly worry about apps like Google Photos talking to Google Play Services. GrapheneOS has mentioned they'd like to implement IPC scopes to isolate apps, just like contact scopes and storage scopes.
Yep, nothing has changed yet. GOS project still has this in the road map, but as of now Inter Profile Sharing still works.
> so any app can for example use Cronet to make network requests via Google Play Services

Cronet? Isn't that Chromium's networking library? How's that letting apps connect via Google Play Services?

Agreed.
Network permissions could be used to avoid ads on Android. The horror!
And it even fails in the way that apps will see no-wifi and believe the entire device is offline. That way they can't detect it and mess around without harming regular offline users.
Depends. One of the reasons I stopped using Spotify was because its offline mode refused to work when my device had all radios off (who even thought of this?). Once I turned on Wi-Fi, even without connecting to a network, it would load immediately.
Try Metrolist it's free, fantastic and supports offline caching.

https://metrolist.meowery.eu/

Funnily enough, the Huawei P30 Pro I was using previously (back when these things could run Android with GMS) had network toggles for all apps. They weren't in the permissions menu, as they were meant for data saving purposes but you had the additional granularity of choosing if an app could access mobile data or Wi-Fi separately.

That solved the problem of ads in games much better than DNS :D

Any self-respecting OS has packet filtering, this isn't unique to or surprising from GrapheneOS. On my Samsung/OneUI I use AFWall+ which sets iptables rules iirc