You need this sandboxing on the phone not because of security but because the developer of the app is untrusted, that's the opposite of Gimp / Krita / VLC or whatever else is packaged where the author is trusted and the sources are available.
You need this sandboxing on the phone not because of security but because the developer of the app is untrusted, that's the opposite of Gimp / Krita / VLC or whatever else is packaged where the author is trusted and the sources are available.
Do people think that distribution developers are hand combing through all those apps? Untrusted by default is more scalable.
Why would you give those apps root access?
Easy to get root anyway, just add an alias to sudo to .bashrc and whenever the user follows an online instruction guide into fixing something they'll get root privileges.
or overwrite LD_PRELOAD for the user
or replace the users desktop files and pretend to be another application (because you can overwrite /usr/share/applications launchers in .local/share/applications)
Not that it makes a huge difference in practice, IMO. The apps most users run (i.e. distro apps) are plenty trusty for normal threat models. Apps that run real untrusted code (web browser) have their own sandboxes. And people with more serious threat models can run qubes or tails or whatever
You shouldn't but you install debs/rpms from the internet which get root permissions during install.
As in, any unrestricted process with user privileges on Linux can up to root through vulnerabilities in the kernel or other components. Namespaces, LSMs, and seccomp limit that exposure.
> unrestricted process with user privileges on Linux can up to root through vulnerabilities in the kernel or other components
Getting pwnd via vulnerabilities is very different from giving root access. You're arguing with a strawman, I'd rather not engage.
The solution is choosing an acceptable level of trust and putting safeguards like sandboxing where possible. (And ideally monitoring on the possible violations)
It's much harder to make a trust bet like that than, in principle, to make a local decision like "Hmm, why is the xz tool requesting access to the ssh port? That doesn't seem right"
In other words, sandboxing based on permissions, without loosing the advantages of having fine-grained control over dependencies.
Flatpak is a step forward in terms of sandboxing, but a step back in terms of dependency control.
Just look at the xz backdoor... "Author trusted"...
Sandboxing just puts the problem one level higher and doesn't remove it.
Then on the subject of the xz backdoor, nothing is safe from that kind of attack.
We are always going to have much greater confidence in the security of the base OS than the security of random apps in the ecosystem.
You named some great applications that have seen a lot of scrutiny... But what if someone installs a malicious gimp plugin, or wants to use a closed source app like discord? Your argument falls apart quickly.
Where exactly is that true? Certainly not on mobile. There's a reason why I don't put anything sensitive on it...
And on Linux I'd say it's about the same for both.
For closed source apps I agree with that and something like snap/flatpack is maybe a better model for them.
On workstations, glibc and coreutils see a lot more attention than e.g. xonotic.