I remember reading an article where the government and Google were able to read notifications and record them from every android device. I wonder if Graphene might have patched this problem, and if not, do they have any plans to do so?

Thanks!

  • dracs@programming.dev
    link
    fedilink
    English
    arrow-up
    31
    ·
    9 months ago

    The issue lies with Google’s FCM (Firebase Cloud Messaging) system, so it’s not something GrapheneOS can really fix. As far as I know FCM doesn’t offer a way to encrypt notification content. Some apps like Signal work around this by instead of sending the message content, they send a little “wake up” notification. This tells Signal on your phone to wake up and it goes and retrieves the new message.

    If you don’t install Google Play Services, you won’t be impacted. But you’ll also not get notifications for most applications. There is an alternative push notification system called UnifiedPush which allows you to choose any server to handle your notifications (and even self host it). But it does require both the service and the app to support it, so it’s not very wide spread yet.

    • Pantherina@feddit.de
      link
      fedilink
      English
      arrow-up
      12
      arrow-down
      2
      ·
      9 months ago

      Lol, FCM sends the CONTENT of messages through Google?? Wtf why do we even have “E2EE” Whatsapp then?

      • dracs@programming.dev
        link
        fedilink
        English
        arrow-up
        12
        ·
        9 months ago

        I’ve never worked directly with FCM, but that’s my understanding of the issue. I don’t know about WhatsApp. But it may do the same thing as Signal where the notification is just a wake up call and then the app connects directly to the WhatsApp servers to get the actual message.

      • d3Xt3r@lemmy.nz
        link
        fedilink
        English
        arrow-up
        6
        ·
        edit-2
        9 months ago

        Firebase is a platform/service provided by Google, so it makes sense that the content goes thru Google’s servers.

        Also, E2EE in a closed-source app like WhatsApp, run by a nefarious corporation like Meta, was always a joke concept, a marketing ploy at best. People who are truly concerned about their privacy would never touch WhatsApp.

      • dracs@programming.dev
        link
        fedilink
        English
        arrow-up
        5
        ·
        9 months ago

        It’s mostly a power efficiency thing. Before push notifications were the norm, most apps used a polling method. They had the application send a request every X seconds asking “anything new”. There wasn’t coordination between apps, so even every app checked once every 30s, it likely wouldn’t be on the same 30s. This caused the device to wake up a lot and never let it switch into low power mode.

        A push notifications system like FCM or UnifiedPush means only a single application needs to run in the background. It maintains a persistent connection to the push notification service and waits for a message. When it receives one it wakes up the relevant app and passes it the details.

    • MigratingtoLemmy@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      3
      ·
      9 months ago

      If I were to install MicroG in a different profile would the rest of my push notifications be compromised too?

        • MigratingtoLemmy@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          2
          ·
          9 months ago

          Essentially, the apps which don’t use Google FCM service are not affected (from what I understand?). I assume that there isn’t a problem on the client-side and this exploit works purely because Google stores these notifications.

            • MigratingtoLemmy@lemmy.worldOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              9 months ago

              Would you happen to know what WhatsApp and Signal use? I believe FOSS apps from F-droid do not use Google’s notification service

                • MigratingtoLemmy@lemmy.worldOP
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  9 months ago

                  Thanks, I’ll go read some more. I’m trying to move away from WhatsApp and wanted to run Signal in my main profile on Graphene. I hope I can use it without FCM there.

                  • dracs@programming.dev
                    link
                    fedilink
                    English
                    arrow-up
                    1
                    ·
                    9 months ago

                    Signal does have a fallback if FCM is unavailable. It supposedly uses slightly more battery, but I can’t say I noticed it. I’ve swapped to using Molly which is a fork of Signal which implements UnifiedPush (among some other features).

          • dracs@programming.dev
            link
            fedilink
            English
            arrow-up
            3
            arrow-down
            1
            ·
            9 months ago

            Anything using FCM will be effected. UnifiedPush which I mentioned I don’t believe has an option to encrypt notification content either. Using it you’d already at least have the option of using a provider with a better privacy policy or self hosting it.

            • evo@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              2
              ·
              edit-2
              9 months ago

              I don’t believe has an option to encrypt notification content either.

              This is not an option you would actually want from any service.

              You don’t want to be giving the plain text message to anyone to encrypt. Instead the notification contents should be given to the service provider (FCM or anyone else) already encrypted and only able to be decrypted by the app.