Hacker News new | ask | show | jobs
by murderfs 26 days ago
> They are "permitted" to access to Google Play Services because their work hardening Android currently benefits Google.

Very little in GrapheneOS has gone back upstream post-Copperhead.

> Once Google feels like there is sufficient stability and compatibility with hardened memory allocator and tagged memory (and when they can get Qualcomm to support it across their range), they will make harder, until impossible, for Graphene.

What are you talking about? Google doesn't use hardened_malloc, and they literally invented MTE.

1 comments

> Very little in GrapheneOS has gone back upstream post-Copperhead.

Most of what we've landed upstream has been post-Copperhead. AOSP made it increasingly difficult to contribute without being an Android partner and it's nearly impossible now. We've contributed elsewhere including to the Linux kernel and PowerDNS. We don't try to submit security improvements to the Linux kernel anymore based on direct experience of it not being worth the effort required but we still submit patches for bugs. We're not interested in arguing with upstream developers about whether security improvements are worthwhile so we won't contribute those changes to projects not enthusiastic about it. We've made recent contributions to various projects we use including PowerDNS because they don't make it too difficult to contribute.

> What are you talking about? Google doesn't use hardened_malloc, and they literally invented MTE.

Google didn't invent MTE or memory tagging.

Pixel 8 launched in October 2023 as the first production device with MTE and GrapheneOS began using MTE in production later that month. Pixel OS still doesn't use MTE by default and only began offering a way to use it with Android 16 via Android Advanced Protection Mode (AAPM). AAPM only uses MTE for a few core processes and apps explicitly opting into it which are nearly non-existent. It doesn't use it for the kernel, most of the OS or almost any user installed apps.

GrapheneOS uses MTE for the kernel, all of the base OS processes including apps with a tiny list of minor exceptions to work around HAL issues and many users installed apps by default. It supports opting into using MTE for all user installed apps by default and then disabling it for the ones not compatible with it which are becoming less common in large part due to GrapheneOS users reporting issues to app developers.

> AOSP made it increasingly difficult to contribute without being an Android partner and it's nearly impossible now.

Yes, by "upstream", I mean "upstream Android".

> Google didn't invent MTE or memory tagging.

Sure, they didn't invent memory tagging (SPARC ADI was an implementation from a decade ago, and I'd bet IBM had an implementation of something similar in like the 70s, judging by the rest of ISA innovations in the last decade), but they definitely invented the instantiation of it in ARM. Pretty much everything aside from instruction encoding for MTE was specified in a doc sent by Google to ARM in response to ARM telling Google something along the lines of "the entirety of our efforts in the security space are going to be spent on something that you're not going to see any benefit from within the next decade: CHERI aka Morello aka Arran".