Beeper reverse-engineered iMessage to bring blue bubble texts to Android users::The push to bring iMessage to Android users today adds a new contender. A startup called Beeper, which had been working on a multi-platform messaging
Seems like Beeper will see the cleartext of the replies, though, since they send the notifications via BPNs, right?
[edit: thanks for the replies. I see now the footnote on their BPNs diagram: “Push notification does not contain message contents” so it seems like the answer is “no they will not”]
No, they know that a message has been received, but the phone is what decrypts the message. Beeper can’t see it.
No, with this new app messages are encrypted between you and Apple’s iMessage servers using iMessage encryption more or less the same way an iPhone does.
The push service simply notifies your device it has a message waiting, no message content passes through Beeper servers.
I don’t know for sure, but often mobile notification protocols are more like “wake up and check your incoming messages” than “user foo says bar”. If this is true then the best they could do is collect timestamps of when you probably received messages.
Assuming that it’s actually reverse engineered, this is great news. If not, there’s a massive lawsuit brewing.
They didn’t reverse engineer shit. Not sure where this lie comes from
They did for Beeper Mini but not for the original Beeper (now called Beeper Cloud) which uses Mac’s as a server.
We literally shut down another app doing this last week because it was so sketchy
The other app was running iMessage on Macs owned by the company and relaying the messages insecurely to its Android app. What we see here is a third-party implementation of the iMessage protocol running on Android devices directly, an example of adversarial interoperability.
The article specifically address this and explained the difference.
No. This is much more impressive, useful, secure, and sustainable because it’s totally different internally.
You literally didn’t read before speaking.
It still needs Apple’s servers, which tells me they will try and find a way to shut it down. Now that Apple is going to implement RCS, I care a lot less about this.
What exactly do you mean with it requiring Apple’s servers? All of the services Beeper integrates with require it to communicate with the servers those services belong to.
I really want to sign up for Beeper, but the fact I have to give them my phone number to sign up for a waitlist seemed like a red flag. How is their security profile?
deleted
They do have to run servers in order to keep the service alive. If you want to run this stuff yourself on your own server that’s possible using PyPush. The reason they have to run those servers for you is to keep the notification service alive.
deleted
Yeah, sorry, I got confused. Beeper mini does need servers to keep the notification service alive. And thus not crazy to ask for 2$ a month. Beeper cloud could indeed do without servers I guess, but I don’t know anything about that. I was just keeping up with the development of pypush (the python poc) and reverse engineering progress.
I don’t understand your point of “you have to log in with a google account”. I understood that was a requirement to check subscription status (and as such limit fraudulent apk’s).
But that seems to be a different story than “opensourcing this would mean a competitor could do it for free”.
You can already do this for free with pypush. And if you want to use something else then python you could build something based on it with any language as pypush is completely open source.
Your Google account is required because it uses GCM for notifications on the phone. The Mini servers act as a middleman between GCM and ANP (Apples background notification protocol).
They talk about this in the docs, they didn’t think it was realistic to try to reproduce ANP on Android, besides Android already has a service.
By that logic, there’s nothing guaranteeing iMessage on iPhones is secure or private either because it’s closed source. If you don’t want to trust Beeper mini, you’ll be free to run their iMessage bridge on your own Matrix stack when they open source it at some point, which they’re promising to do (and you still won’t know that Apple isn’t scraping your messages on the iOS side). When I decide to trust a company, it’s because I look at what they’re transparently communicating to their end users. Every indication is that they are trying to get out of the middle of handling encrypted messages. Their first move to make this happen was allowing people to self host their own Beeper bridges (which you can still do with Beeper Cloud if you prefer and you will know that your messages are always encrypted within the Beeper infrastructure). They aren’t going to release the source for their client ever because that’s the only way they make any money.
Notice how in the article they say “we’re not the middle man… Any more”? That’s because, up until now, Beeper has been working on a system where they operate as a middle man for your data.
To be fair they never claimed otherwise and all of the code for the bridges are open-sourced and can be run on your own servers so that those servers you control (as opposed to Beeper-owned servers) act as a “middle man” and none of your messages need be trusted to a 3rd party.
To put it simply: only the actual bridge on Beeper Cloud has access to unencrypted messages and you do have the option to run the bridge yourself while continuing to use the Beeper app. You can use as many or as few self-hosted bridges as you’d like.
A few bridges are preconfigured for self-hosting with just a couple of clicks for free through fly.io here
This post is referring to beeper mini. It’s confusing naming, but that’s not the same as beeper(cloud service). Beeper mini is available to everyone on the play store and is not a cloud service. You just get it, login to Google (to pay the subscription cost) and it works. No invite needed
That’s to prevent multiple entries by one person. Their security is very good, with audits and their products being largely open source (for this, PyPush. For Beeper Cloud, their Synapse fork and their bridges.). Only the parts that don’t matter to security (the clients, mostly) are closed source.
Btw will they continue to live as Element changed licences to Synapse and Dendrite projects ?
Yes. They have a fork of Synapse that they can continue to use even if the license prevents them from using upstream (which doesn’t seem true, but I could be wrong).
Want a invite code? Its just to prevent people from mass signing up
Can I get a code, please please?
Yes please, I would love an invite code
This is the best summary I could come up with:
What may hold it at bay is the Digital Markets App (DMA), a law in Europe that says big tech companies will have to have an interoperable interface for their chat networks.
In addition, Beeper uses certificate pinning, which makes network traffic analysis more difficult to perform in order to verify its claims.
To work around this limitation, the team built BPNs to connect to Apple’s servers on the user’s behalf when the app isn’t running.
When the Android phone’s battery died, however, the texts reverted to green bubbles and did not make it to Beeper’s app — they went to Google Messages instead.
The company is also hoping to gain trust by building in public, with 50-plus projects that it’s published to GitHub with the open source code that goes into the app.
Founded in 2020, Beeper comes from former Y Combinator partner Eric Migicovsky and CTO Brad Murray, previously of wholesale marketplace startup Faire and Fitbit.
The original article contains 1,306 words, the summary contains 158 words. Saved 88%. I’m a bot and I’m open source!
Are their messages from their app going to show blue to iMessage users or something? Cuz I don’t see why you’d need to reverse engineer that otherwise. Even then… How hard is it to spoof a Mac address or other hardware identifier that says the message came from an iPhone?
The fact this is even an issue is just ridiculous to begin with. If you give that much of a shit: Use a different god damn messenger that treats everyone the same.
afaik, their while thing is that they do everything on-device, so your device is the only one with access to your messages
In exchange for security loss, is it really worth it?
Edit: the downvotes are very expected. You people need to lean about why this is important
https://www.androidauthority.com/beeper-app-opinion-3345142/
First, the elephant in the room needs to be addressed: security. In Beeper’s start-up guide, the first thing you see is a huge alert box: “Beeper may be less secure than using encrypted chat apps by themselves.” Fundamentally, there’s no way to fix this. To use any of the chat apps, you need to link Beeper to that service using your credentials, which is inherently more insecure than logging into the app directly. Beeper is quick to defend itself by pointing out its robust privacy policy, its ethical business practices with a user-centered focus, and its use of end-to-end encryption (E2EE). However, that doesn’t protect your credentials from hackers that could gain access to Beeper and send your grandma a message through WhatsApp pretending to be you and asking to wire $1,000 to an account in China.
More in depth: https://www.reddit.com/r/beeper/comments/13hhx9e/transient_key_retention_a_suggestion_to_solve/?rdt=61709
There’s 0 security loss. Everything is on device. They reverse engineered iMessage and your device is seen as an iPhone to Apple.
Perhaps read before speaking?
Or read before typing? 😂
What security loss, mate?
These: https://www.androidauthority.com/beeper-app-opinion-3345142/
First, the elephant in the room needs to be addressed: security. In Beeper’s start-up guide, the first thing you see is a huge alert box: “Beeper may be less secure than using encrypted chat apps by themselves.” Fundamentally, there’s no way to fix this. To use any of the chat apps, you need to link Beeper to that service using your credentials, which is inherently more insecure than logging into the app directly. Beeper is quick to defend itself by pointing out its robust privacy policy, its ethical business practices with a user-centered focus, and its use of end-to-end encryption (E2EE). However, that doesn’t protect your credentials from hackers that could gain access to Beeper and send your grandma a message through WhatsApp pretending to be you and asking to wire $1,000 to an account in China.
More in depth: https://www.reddit.com/r/beeper/comments/13hhx9e/transient_key_retention_a_suggestion_to_solve/?rdt=61709
That’s about beeper, not beeper mini. Mini was just launched, that’s older information that only applies to the MITM version (beeper which is now beeper cloud).
Beeper mini talks directly to the services you use, no MITM, which is why they plan on adding more services to mini until it can replace the older Beeper (cloud).
My understanding is that this absolutely applies to their previous iterations, but not this – there’s no authenticating with your Apple ID, for example. It’s sending and receiving iMessage data directly between the Apple servers and your device, now.