Comment by mzajc
14 hours ago
> MicroG downloads and runs google code in a privileged context
> many privacy and security issues
> leaking location to apps that dont have the location permission.
Could you share some details on these three points?
14 hours ago
> MicroG downloads and runs google code in a privileged context
> many privacy and security issues
> leaking location to apps that dont have the location permission.
Could you share some details on these three points?
I started to try to answer your question, but I found that the GrapheneOS account gave an answer. Here are quotes:
> microG still heavily uses closed source Google services and even downloads executables run with the full privileges of microG. It downloads and runs droidguard with the privileges it has, giving that full access to the privileged access granted to microG.
> microG has repeatedly had vulnerabilities leaking sensitive data to apps including location data. The approach of having an extra service sitting between apps and the OS which handles sensitive data means having to add all the same privacy and security checks as Play services which microG doesn't do in practice and it has caused severe privacy leaks. The main location leakage was eventually fixed but it persisted for years and there are still holes in the location service causing privacy issues.
I also regularly try to explain to people why microG doesn't make sense. It's more of a big picture thing so it's hard to explain briefly. Consider why people would even install microG. It's only helpful for people who have apps that rely on Google Play Services. Those libraries can have fallback implementations and run even without Google Play Services or microG
Sandboxed Google Play is installed as a regular app. It has the same restrictions as other user-installed apps. If apps have Google libraries that don't need Google Play Services or microG are installed with regular apps, they effectively have the same access as Sandboxed Google Play. If those same apps are installed on a device with microG, Google effectively has the same access, big picture.
GrapheneOS's priorities are privacy, security, and app compatibility. There are issues with microG as far as privacy goes, as already noted. It requires privileged permissions to even work properly, and even microG admits that its reimplementations of Google Play Services features are incomplete, so it's worse in terms of app compatibility too.
> It downloads and runs droidguard with the privileges it has, giving that full access to the privileged access granted to microG.
Wow, no kidding! I checked the source code and sure enough, it downloads the DroidGuard APK from Google[0], and loads a class from it[1], (seemingly?) without any kind of sandboxing or separation. I believe I'm safe because I don't have the Play Integrity API enabled, but I really wish the UI was more explicit about this, because the info text only says
> microG GmsCore contains a free implementation of SafetyNet, but the official server requires SafetyNet requests to be signed using the proprietary DroidGuard system.
[0]: https://github.com/microg/GmsCore/blob/32bc8954ff872d0e1a05d...
[1]: https://github.com/microg/GmsCore/blob/32bc8954ff872d0e1a05d...
It runs the Google Play executable code it downloads with the full permissions and privileges available to microG. Since microG is normally integrated with the Location permission along with a bunch of privileged access unavailable to regular apps, that can be accessed by the code it's running. The executable it's downloading is highly obfuscated and regularly changed because it exists to try to detect and defeat tampering via obfuscation and anti-tampering techniques. It heavily uses the privileged access available to it. This is enabled by default on /e/ in addition to the many other Google connections it adds by default both via microG which are not present in AOSP.
They'll just flag you for asking.
Here's the actual response:
https://news.ycombinator.com/item?id=50171175
By "they" I assume you mean GrapheneOS supporters? I can only speak for myself, but I only flag things when they clearly deserve to be flagged. Fair discussions are important. They help us grow as people and even in our case, GrapheneOS, but we encounter a crazy amount of misinformation here. Some members of our team are also targets for endless harassment. It's so unfortunate that people behave that way. There are also clear sockpuppets attacking GrapheneOS while promoting others. There was a brand new account participating in this thread that was clearly doing that.
Misinformation, harassment, and people who are using unfair methods to win arguments and damage the reputation of others is unacceptable. That's the kind of thing that I flag. What other people do with their permissions is up to them, but I would say that I wouldn't condone people flagging just because they disagree. I'd consider flagging genuine questions to be awful behavior as well.
I ask a lot of questions in the GrapheneOS community, I oppose a lot of opinions that are held there, but I have never been "flagged" for questioning or for debating something. The only time somebody is going to be flagged is if they are being outright disrespectful spreading misinformation or just being a general asshole.
In the GrapheneOS community, "being outright disrespectful spreading misinformation" is pretty much anything that brings solid counter-arguments to Daniel Micay's personal points of view. You probably haven't tried debating some advanced security and privacy topics with them.
3 replies →