There's a "Signal deanonymized" thing going around:
gist.github.com/hackermondev/4…
Stay calm. Deep breaths.
👉 while this is a real consideration, the only thing the attacker gets from this is a very rough (kilometers or tens of kilometers radius) location
👉 other communication platforms that use any kind of caching CDN to deliver attachments are just as affected
👉 you almost certainly should continue to use Signal, unless you specifically know that this is a big problem for you.
Unique 0-click deanonymization attack targeting Signal, Discord and hundreds of platform
Unique 0-click deanonymization attack targeting Signal, Discord and hundreds of platform - research.mdGist
This entry was edited (11 months ago)
reshared this
Michał "rysiek" Woźniak · 🇺🇦
in reply to Michał "rysiek" Woźniak · 🇺🇦 • • •In other words, it's not great that this is possible, but nowhere near an immediate and present danger to anyone except a very very small group of people doing very very specific things.
If you're in that group, you'd already known you are. You'd have someone to ask about this. And you'd almost certainly be using some other tools to anonymize yourself anyway.
If that's not the case, then this is almost certainly not something to lose sleep over. Signal remains a safe choice of a secure IM. 👍
Michał "rysiek" Woźniak · 🇺🇦
in reply to Michał "rysiek" Woźniak · 🇺🇦 • • •If you are still worried about this, my read of it is that these things might make the attack more difficult:
👉 turn off automatic downloading of media files
This makes this attack rely on you clicking the image to download it, making it very difficult for the attacker to know when to check for the cached status of the resource.
This is important, because for each attachment the attacker can only ask this question once per the period Cloudflare caches these resources (not sure exactly).
Michał "rysiek" Woźniak · 🇺🇦
in reply to Michał "rysiek" Woźniak · 🇺🇦 • • •You can also:
👉 turn of push notifications – this makes the attack rely on you clicking the chat to download the image
👉 turn off read notifications – again, this makes it more difficult for the attacker to know when to ask the question they can only ask once per a specific period of time
👉 use Signal over Tor or a VPN to obscure your actual location – the attacker would get the rough location of the exit node
Michał "rysiek" Woźniak · 🇺🇦
in reply to Michał "rysiek" Woźniak · 🇺🇦 • • •Technical details tl;dr:
- Signal (and other communication platforms) uses Cloudflare with caching enabled for media
- one can check on which Cloudflare endpoints a given attachment URL got cached (one can use a VPN for this), giving them the ability to roughly geolocate users whose Signal downloaded the file
- a patched version of Signal (or whatever app) allows the attacker to send the message with an image, and extract the attachment URL to know what URL to check for having been cached
Michał "rysiek" Woźniak · 🇺🇦
in reply to Michał "rysiek" Woźniak · 🇺🇦 • • •- images usually get downloaded automatically (and thus get cached on Cloudflare side)
- push notifications make this a 0-click thing, as the targeted user doesn't even have to click on a conversation to have the image downloaded
I believe this technique would work against any communication app that uses any global CDN that does endpoint caching and provides the caching status in HTTP headers of the response.
Michał "rysiek" Woźniak · 🇺🇦
in reply to Michał "rysiek" Woźniak · 🇺🇦 • • •Agnieszka R. Turczyńska
in reply to Michał "rysiek" Woźniak · 🇺🇦 • • •Thank you for this summary.
BTW, does using a trusted proxy in Signal help to mitigate this issue?
Michał "rysiek" Woźniak · 🇺🇦
in reply to Agnieszka R. Turczyńska • • •Agnieszka R. Turczyńska
in reply to Michał "rysiek" Woźniak · 🇺🇦 • • •You can set a proxy to be used by Signal. I would expect that in this case request to download the attachment from CDN goes through the proxy. And the best the attacker will get is the ip address of the proxy.
However, I will reveal my ip to the proxy. That's why trusted.
Kevin Karhan
in reply to Agnieszka R. Turczyńska • • •@agturcz Use @torproject or better yet, #XMPP+#OMEMO with an #OnionService aka. #Server on a
.oniondomain...Kevin Karhan :verified: (@kkarhan@infosec.space)
Infosec.SpaceMichał "rysiek" Woźniak · 🇺🇦
in reply to Kevin Karhan • • •@kkarhan I ran and hosted a bunch of XMPP servers a while back. It was a pain to use, and it was easy for users to make mistakes and accidentally send messages in the clear.
You are making people les safe. Last time: please stop doing this in my mentions and replies.
@agturcz @torproject
contrapunctus ✊🏳️🌈🏳️⚧️
in reply to Michał "rysiek" Woźniak · 🇺🇦 • • •@kkarhan @agturcz An awful lot of people say they've used #XMPP "a while back". But they're often unaware of the best of XMPP, and have an unfairly negative view of it.
Did you happen to try...
...#Snikket for hosting?
snikket.org
...apps like #Quicksy and #Prav which use phone numbers for easy onboarding, same as #Signal #WhatsApp or #Telegram?
quicksy.im
prav.app
...featureful clients like #Cheogram #MonoclesChat #Gajim #Movim etc?
Snikket Chat
Snikket ChatMichał "rysiek" Woźniak · 🇺🇦
in reply to contrapunctus ✊🏳️🌈🏳️⚧️ • • •@contrapunctus @agturcz yes, I am aware of all these. I am also aware of Simplex, Briar, and whole slew of completely decentralized IMs. And I made a long ranty talk about shortcomings of Signal that one time, got pretty popular on media.ccc.de.
And I still react badly to unnecessarily alarmist hot takes that can lead regular folks to make bad technological decisions.
contrapunctus ✊🏳️🌈🏳️⚧️
in reply to Michał "rysiek" Woźniak · 🇺🇦 • • •@agturcz Then, I confess to being confused about what you mean.
Why did you find it to be "a pain to use"?
Some clients don't have end-to-end encryption enabled by default - I hope that will change some day, but I never found that to be a dealbreaker. If someone sends cleartext, me and my friends immediately ask them to enable OMEMO.
Still, no feature or convenience is worth using a centralized silo. Reddit, Twitter, and Meta are proof enough.
Michał "rysiek" Woźniak · 🇺🇦
in reply to contrapunctus ✊🏳️🌈🏳️⚧️ • • •@contrapunctus @agturcz first of all, please don't explain centralization to me, I was talking about it before it was cool:
media.ccc.de/v/30C3_-_5319_-_e…
Secondly, "some clients don't support X" is a deal breaker. Because now regular folks need to track and think about whether or not their contact's server supports a safety feature they rely on.
Third, "if someone sends a cleartext…" is not anywhere near being acceptable for a communication tool like that. Sending cleartext should not be *possible*.
Technomonopolies
media.ccc.deMichał "rysiek" Woźniak · 🇺🇦
in reply to Michał "rysiek" Woźniak · 🇺🇦 • • •@contrapunctus @agturcz I had worked with people reporting on Panama Papers, I had worked with people working with sources whose threat model included men with guns who were trained and willing to use them.
This kind of "no biggie if someone sends cleartext, we can ask them to enable OMEMO" stuff is what can get people killed. Advocating for tools like that is putting real people in real danger.
I am glad XMPP is improving, but it is simply nowhere near a Signal replacement yet.
contrapunctus ✊🏳️🌈🏳️⚧️
in reply to Michał "rysiek" Woźniak · 🇺🇦 • • •@agturcz Sounds like @snikket_im is your best bet, then. All Snikket clients have OMEMO enabled by default. And this way you actually can actually trust the operator, i.e. yourself, and control exactly what cloud services are used (including "none").
And Signal is seemingly not the perfect solution it's being made out to be, either.
troet.cafe/@pixelschubsi/11380…
troet.cafe/@pixelschubsi/11380…
pixelschubsi (@pixelschubsi@troet.cafe)
troet.cafe - MastodonMichał "rysiek" Woźniak · 🇺🇦
in reply to contrapunctus ✊🏳️🌈🏳️⚧️ • • •@contrapunctus you seem to be ignoring what I and others are telling you about how dangerous what you're doing – promoting XMPP into a space it has no business being in in its current state – is.
I am done with this conversation.
@agturcz @snikket_im
Benjamin Kwiecień 🇵🇸
in reply to Michał "rysiek" Woźniak · 🇺🇦 • • •Benjamin Kwiecień 🇵🇸
in reply to Benjamin Kwiecień 🇵🇸 • • •Kevin Karhan
in reply to Michał "rysiek" Woźniak · 🇺🇦 • • •@agturcz that's not how you fix #TechIlliteracy, espechally since things changed for the better.
@monocles / #monoclesChat & @gajim / #gajim are quite easy, whereas @signalapp / #Signal demands #PII in the form of a #Phone number which is more often than not not legally obtainable without "#KYC
... show more@agturcz that's not how you fix #TechIlliteracy, espechally since things changed for the better.
@monocles / #monoclesChat & @gajim / #gajim are quite easy, whereas @signalapp / #Signal demands #PII in the form of a #Phone number which is more often than not not legally obtainable without "#KYC" aka. "forced #SelfDoxxing" all whilst being an extremely #centralized, #SingleVendor & #SingleProvider solution that falls under #CloudAct ant thus cannot adhere to #GDPR & #BDSG!
"JuSt UsE sIgNaL !"won't fix #TechIlliteracy but rather provide false sense of security to #TechIlliterates when the correct solution is to teach proper #TechLiteracy like @cryptoparty@chaos.social / @cryptoparty@mastodon.earth / #CryptoParty does...Otherwise we'd only perpetuate the #Enshittification-#Lifecycle as has happened with #AIM, #ICQ, #BBM and so many more...
If #Signal and @Mer__edith actually cared, they would've setup their system truly decentralized as an #OnionService over @torproject / #Tor!
#THXBYE #EOD #ITsec #InfoSec #OpSec #ComSec #DigitalSnakeoil #FakeSec
Michał "rysiek" Woźniak · 🇺🇦
2025-01-22 00:27:15
Max L.
in reply to Kevin Karhan • • •@kkarhan Sorry but no, the correct solution is to push for easy to use solutions that are at the same time private and secure. Hiding privacy and security behind a veil of "you need to know" is discrimination of people that are not able (either mentally, physically or monetary) to gain that knowledge.
The correct move here is for @signalapp and any other service to fix this and for legislators to enact laws enforcing proper security and privacy by design.
Kevin Karhan
in reply to Max L. • • •@max
To quote you directly:
It is easier, faster, cheaper and overall simpler to get someone setup with #XMPP + #OMEMO espechally if they don't have a #PhoneNumber a
... show more@max
To quote you directly:
It is easier, faster, cheaper and overall simpler to get someone setup with #XMPP + #OMEMO espechally if they don't have a #PhoneNumber and/or #ID to acquire a #SIM.
And if you go and say, "Just buy a [insert country here] [e]SIM!" and expect #TechIlliterates without a #CreditCard, #PayPal or other means of #OnlinePayment to fiddle around with some #eSIM if not having to get some #eSIMcard because they can only afford to maintain one SIM and can't spend triple-digits on a new devices then you completely missed the point!
It's not that I expect anyone to get #TechLiterate within minutes, but similar to setting up a cordless DECT phone it's something one has to do once in 5 years and just have them put the password in a safe spot to retain...
Point is that #Signal #WontFix their setup and that was evidently clear even before @Mer__edith succeeded #MoxieMarlinspike: Their entire operation has a distinct #CryptoAG stench as it's an #unsustainable #VCmoneyBurning party!
A counterexample on how this could've been done are #Tor, #eMail and other truly #OpenSource as in #MultiVendor & #MultiProvider standards.
Whereas it's trivial to get people setup on one of many XMPP servers I've personally tested!
AFAIK Signal doesn't even have an #OnionService /
.onionfor their Website, much less any #API enpoints to use it with!You're free to also provide evidence and supporting data to your arguments, rather then neighsaying against proven to be more secure and reliable [by virtue of decentralization] options like XMPP+OMEMO and/or #PGP/MIME.
The proper fix is to actually assess the situation and acknowledge the risks and limitations as well as the very nature of communications, which means upgrading later is exponentially more painful, thus getting people properly setup once is way easier.
Speaking of #monocles: That business is at least #sustainable because it's funded by users (€2 p.m.) which they can pay anonymously
Michał "rysiek" Woźniak · 🇺🇦 (@rysiek@mstdn.social)
Mastodon 🐘Kevin Karhan
2025-01-22 01:01:57
Claudius
in reply to Max L. • • •Kevin Karhan
in reply to Claudius • • •@claudius @max @signalapp
No problem:
- #PGP/MIME [see @delta / #deltaChat & @thunderbird / #Thunderbird]
- #XMPP+#OMEMO [see @monocles / #monoc
... show more@claudius @max @signalapp
No problem:
I could go on all night, so please shove that #TechPopulism somewhere the sun doesn't shine!
#EOD #thxbye #next #muted
Kevin Karhan
2025-01-22 14:11:24
adb
in reply to Michał "rysiek" Woźniak · 🇺🇦 • • •I don't think people should be using #Signal, besides this problem, it is a centralized service which means it is vulnerable to enshitification and it requires phone numbers to register which sucks a hell lot
I use #DeltaChat, decentralized, anonymous, no data required for registration, and it doesn't have this deanonymization attack problem
Benjamin Kwiecień 🇵🇸
in reply to adb • • •contrapunctus ✊🏳️🌈🏳️⚧️
in reply to adb • • •@adbenitez I was ready to boost in the first paragraph, and then I saw the #DeltaChat recommendation 😅
I haven't heard good things about DeltaChat UX. #XMPP allows you to self-host, register on public servers without even providing an email address, and ask non-geek contacts to install Quicksy or Prav (so they can register using phone numbers). It's got AV calls and other features expected in modern chat.
And XMPP is actually made for chat from the ground up.
Michał "rysiek" Woźniak · 🇺🇦
in reply to contrapunctus ✊🏳️🌈🏳️⚧️ • • •Benjamin Kwiecień 🇵🇸
in reply to Michał "rysiek" Woźniak · 🇺🇦 • • •l
in reply to contrapunctus ✊🏳️🌈🏳️⚧️ • • •I find it very strange to recommend #XMPP in response to this issue. Modern XMPP clients transmit media out-of-band by uploading the files to HTTP server using xmpp.org/extensions/xep-0363.h… and then sending the URL: docs.modernxmpp.org/client/pro…. XMPP clients then get an https:// URL and have to download directly from it exposing their IP to the server. It is trivial to setup a server logging IP addresses, upload an image there and send the URL to the victim.
@adbenitez @rysiek
HTTP File Upload
Daniel GultschJoinJabber
in reply to l • • •Michał "rysiek" Woźniak · 🇺🇦
in reply to JoinJabber • • •yes, but as many pointed out in many other parts of this thread, while XMPP clients might happen to not be affected by this very specific issue, they happen to be affected by a slew of other way more serious issues that make them effectively not an option for most people.
I am not going to repeat what these issues are, I am sure if you really want to know you can read through the thread.
@link2xt @contrapunctus@en.osm.town @adbenitez
Michał "rysiek" Woźniak · 🇺🇦
in reply to adb • • •@adbenitez I would love people to use decentralized tools. I did a talk/rant about things that annoy me in Signal at MCH2022. This included the phone numbers thing:
media.ccc.de/v/mch2022-196-sig…
That does not mean that Signal has no value. If somebody is already using Signal, they're in a way, way better position, than if using any of the corporate apps (like WhatsApp), or any of the shady crap (like Telegram).
It's a question of harm reduction.
Signal: you were the chosen one!
media.ccc.deBenjamin Kwiecień 🇵🇸
in reply to Michał "rysiek" Woźniak · 🇺🇦 • • •Debacle
in reply to Michał "rysiek" Woźniak · 🇺🇦 • • •Three big problems with Signal — for me:
1. No first class client for my OS (#Debian, #Mobian), only Google Android and Apple iOS.
2. Still requires a phone number to register.
3. Worst: No choice of server, no #digitalSovereignty.
Benjamin Kwiecień 🇵🇸
in reply to Debacle • • •R.L. Dane 🍵
in reply to Benjamin Kwiecień 🇵🇸 • • •I think they're saying lack of first class client because it's an electron program.
It's also difficult to get a signal client for Debian on ARM.
Debacle
in reply to R.L. Dane 🍵 • • •@rl_dane @ben
Yes, Electron is horrible, but also the app did not work for me back then, because it additionally required the Android app. Maybe that is fixed now?
PS: For a daily driver messaging app, I require "sudo apt install whatever" from Debian main. YMMV, of course.
R.L. Dane 🍵
in reply to Debacle • • •Debacle
in reply to R.L. Dane 🍵 • • •I wonder why a desktop or console client can't be the main/only client for Signal… What is so difficult, that only Android or iOS can handle it?
Benjamin Kwiecień 🇵🇸
in reply to Debacle • • •mirabilos
in reply to Debacle • • •R.L. Dane 🍵
in reply to mirabilos • • •Benjamin Kwiecień 🇵🇸
in reply to R.L. Dane 🍵 • • •Mae
in reply to Michał "rysiek" Woźniak · 🇺🇦 • • •Benjamin Kwiecień 🇵🇸
in reply to Mae • • •