this post was submitted on 14 Jun 2024
167 points (96.6% liked)
Linux
48186 readers
1937 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I also use calyx but I'll agree that graphene is technologically superior of the two. I'm more comfortable with the idea of using MicroG as opposed to sandboxes google play but that's not to slant the implementation in any way.
I also avoid sandboxed play like hell.
But note
Sandboxed Play is better for privacy and may prevent a Pegasus/malware vector.
DivestOS has sandboxed microG but I didnt try it. Also note that microG could break any time and the Google binaries may be outdated.
Privileged android apps are a huge attack surface as so many devices have them. So outdated privileged microG binaries may be a target.
Re-implementation means reverse-engineering and building new binaries. What's the point of MicroG if it is just downloading google binaries? An app with privileged access is different than a remote access trojan. The whole point of a sandbox is not to have the same access as the original app.
What you are saying doesn't make any sense.
Strong words here.
I couldnt find what is the correct definition of "reimplementation" but we can assume it either means "taking the binaries and bundling them in a different bundle" or "writing different code to do the same thing".
What sandbox? Not the Android app sandbox, as microG (when I used it) needed to be installed as system app i.e. flashed to the system partition.
microG may isolate the binaries or whatever code it runs in some way, but not via the Android App sandbox.
Now GrapheneOS uses a privileged app that channels the calls of the unprivileged to the OS. This is also possible for microG, so it can run unprivileged too. DivestOS does that.
The concept of signature spoofing and more is poorly pretty flawed.
I would really like if a fully open source rewrite of the core services could just work, but these apps are written for Google, contain the official proprietary code anyways, and signature spoofing only works if you dont use many hardware security features.
GrapheneOS can be extremely secure when degoogled, but it cannot securely fake to be a Google Android. And neither can microG Android.
You would need to change the apps to do that.
I appreciate the info. For my own learning, could you provide a link to some context around the types of official binaries leveraged by microG? The only firm info I have of its behaviour is that it will pseudonomise as much user information as possible.
I'm familiar with sandboxed google play on grapheneOS and have used it in the past.
No I dont know what they download. It should be in the scripts in their repo.
But they dont document that at all, instead giving the impression that it would be reverse engineered and open source.
I appreciate that you're trying to inform me but if you make such a claim, you should be able to prove it.
A friend was able to provide some context, regardless:
The one binary I'm aware of microG downloading (assuming it still does) is the SafetyNet "DroidGuard" thing, which it only does if you explicitly enable SafetyNet, which is not on by default. There is no other way to provide it.
microG only has privileged access if you install it as a privileged app, which is up to you / your distribution, as microG works fine as a user app (provided signature spoofing is available to it). Also, being privileged itself really doesn't mean giving privileges to "Google".
Apps needing Google services may indeed contain all sorts of binaries, generally including Google ones, which doesn't mean they contain Google services themselves. Anyway, they are proprietary apps and as such will certainly contain proprietary things, and it's all to you to install them or not. It's not like microG includes them.
Its also just a reimplementation of a small handful of useful Google services, such as push notifications, or the maps (not the spyware stuff like advertising) and each can be toggled on/off.
Also all apps on android are sandboxed
Also, SafetyNet is deprecated, and Google has said that app developers shouldn't use it for a long time before that, so I've never had to use it. My experience of a blob-free microG has been really good, and I trust FOSS code a hell of a lot more than sandboxed proprietary code, because I can't be sure what it does with the data I inevitably do provide it.
MicroG has also been very clear IMO about SafetyNet not being a reimplementation, but rather a sandbox when it was relevant.
Appreciate the additional context! Have thankfully not needed to use the safetynet module with microg either.