hedgehog

joined 2 years ago
[–] hedgehog@ttrpg.network 1 points 7 hours ago

The sender ('s unique device) can with 100% accuracy be appended to the message by the server after it's received.

How?

If I share an IP with 100 million other Signal users and I send a sealed sender message, how does Signal distinguish between me and the other 100 million users? My sender certificate is encrypted and only able to be decrypted by the recipient.

If I’m the only user with my IP address, then sure, Signal could identify me. I can use a VPN or similar technology if I’m concerned about this, of course. Signal doesn’t consider obscuring IPs to be in scope for their mission - there was a recent Cloudflare vulnerability that impacted Signal where they mentioned this. From https://www.404media.co/cloudflare-issue-can-leak-chat-app-users-broad-location/

404 Media asked daniel to demonstrate the issue by learning the location of multiple Signal users with their consent. In one case, daniel sent a user an image. Soon after, daniel sent a link to a Google Maps page showing the city the user was likely in.

404 Media first asked Signal for comment in early December. The organization did not provide a statement in time for publication, but daniel shared their response to his bug report.

“What you're describing (observing cache hits and misses) is a generic property of how Content Distribution Networks function. Signal's use of CDNs is neither unique nor alarming, and also doesn't impact Signal's end-to-end encryption. CDNs are utilized by every popular application and website on the internet, and they are essential for high-performance and reliability while serving a global audience,” Signal’s security team wrote.

“There is already a large body of existing work that explores this topic in detail, but if someone needs to completely obscure their network location (especially at a level as coarse and imprecise as the example that appears in your video) a VPN is absolutely necessary. That functionality falls outside of Signal's scope. Signal protects the privacy of your messages and calls, but it has never attempted to fully replicate the set of network-layer anonymity features that projects like Wireguard, Tor, and other open-source VPN software can provide,” it added.

I saw a post about this recently on Lemmy (and Reddit), so there’s probably more discussion there.

since the sender is identified at the start of every conversation.

What do you mean when you say “conversation” here? Do you mean when you first access a user’s profile key, which is required to send a sealed sender message to them if they haven’t enabled “Allow From Anyone” in their settings? If so, then yes, the sender’s identity when requesting the contact would necessarily be exposed. If the recipient has that option enabled, that’s not necessarily true, but I don’t know for sure.

Even if we trust Signal, with Sealed Sender, without any sort of random delay in message delivery, a nation-state level adversary could observe inbound and outbound network activity and derive high confidence information about who’s contacting whom.

All of that said, my understanding is that contact discovery is a bigger vulnerability than Sealed Sender if we don’t trust Signal’s servers. Here’s the blog post from 2017 where Moxie describe their approach. (See also this blog post where they talk about improvements to “Oblivious RAM,” though it doesn’t have more information on SGX.) He basically said “This solution isn’t great if you don’t trust that the servers are running verified code.”

This method of contact discovery isn’t ideal because of these shortcomings, but at the very least the Signal service’s design does not depend on knowledge of a user’s social graph in order to function. This has meant that if you trust the Signal service to be running the published server source code, then the Signal service has no durable knowledge of a user’s social graph if it is hacked or subpoenaed.

He then continued on to describe their use of SGX and remote attestation over a network, which was touched on in the Sealed Sender post. Specifically:

Modern Intel chips support a feature called Software Guard Extensions (SGX). SGX allows applications to provision a “secure enclave” that is isolated from the host operating system and kernel, similar to technologies like ARM’s TrustZone. SGX enclaves also support a feature called remote attestation. Remote attestation provides a cryptographic guarantee of the code that is running in a remote enclave over a network.

Later in that blog post, Moxie says “The enclave code builds reproducibly, so anyone can verify that the published source code corresponds to the MRENCLAVE value of the remote enclave.” But how do we actually perform this remote attestation? And is it as secure and reliable as Signal attests?

In the docs for the “auditee” application, the Examples page provides some additional information and describes how to use their tool to verify the MRENCLAVE value. Note that they also say that the tool is a work in progress and shouldn’t be trusted. The Intel SGX documentation likely has information as well, but most of the links that I found were dead, so I didn’t investigate further.

A blog post titled Enhancing trust for SGX enclaves raised some concerns with SGX’s current implementation, specifically mentioning Signal’s usage, and suggested (and implemented) some improvements.

I haven’t personally verified the MRENCLAVE values for any of Signal’s services and I’m not aware of anyone who has (successfully, at least), but I also haven’t seen any security experts stating that the technology is unsound or doesn’t actually do what’s claimed.

Finally, I recommend you check out https://community.signalusers.org/t/overview-of-third-party-security-audits/13243 - some of the issues noted there involve the social graph and at least one involves Sealed Sender specifically (though the link is dead; I didn’t check to see if the Internet Archive has a backup).

[–] hedgehog@ttrpg.network 1 points 1 day ago

Message history won’t be fully fixed. It can’t be without storing message backups in some cloud somewhere (whether it’s to iCloud, Google Drive, Dropbox, or Signal’s servers) and Signal omits its message history from system backups on iOS and Android.

iOS users are completely incapable of backing up their message history in the event of their phone being lost, stolen, or broken. This omission isn’t justified in any way, as far as I’m aware; I don’t know of any technical reason why following the exact same process as on Android wouldn’t work.

Android users are able to back up locally via Signal, but that isn’t on by default, can’t be automated, needs to be backed up separately, requires you to record a 30 digit code to decrypt it, and has limitations on when it can be used for a restore (can’t restore on iOS, for example). See https://support.signal.org/hc/en-us/articles/360007059752-Backup-and-Restore-Messages for more details.

Message history on linked devices - meaning iPads and desktop computers - is being improved, but it still won’t mean that a user who loses or trades in their phone as they get a new phone will be able to simply restore their phone from a system backup and restore their Signal message history. And even that isn’t anywhere near as easy as on Telegram, where a user can just log in with their password and restore their message history, no backup needed.

It’s great that they’re improving the experience for linked devices, but right now that doesn’t actually help if you lose, break, or trade in your phone. Maybe they’ll later allow users to restore to a phone from a linked device or support backups on iPhones, but right now the situation with message history isn’t just an unfriendly UX, but one that is explicitly and intentionally unreliable for a huge portion of Signal’s user-base.

[–] hedgehog@ttrpg.network 1 points 1 day ago (1 children)

Also read that the keys are stored locally but also somehow stored in the cloud (??),

Which keys? Are they always stored or are they only stored under certain conditions? Are they encrypted as well? End to end encrypted?

which makes it all completely worthless if it is true.

It doesn’t, because what you described above could be fine or could have huge security ramifications. As it is, my guess is that you’re talking about how Signal supports secure value recovery. In that case:

  1. The key is used to encrypt your contacts, profile name, group avatars, social graph, etc., but not your messages.
  2. Your key is only uploaded to the cloud if you have a recovery PIN or passphrase
  3. Your key is encrypted using your PIN or passphrase using techniques (key-stretching, storing in server secure enclaves) that make it more difficult to brute force

The main criticism of this is that you can’t opt out of it without opting out of the Registration Lock, that it necessarily uses the same PIN or passphrase, and that, particularly because it isn’t clear that your PIN/passphrase is used for encryption, users are less likely to use more secure pass phrases here.

But even without the extra steps that we can’t 100% confirm, like the use of the Secure Enclave on servers and so on, this is e2ee, able to be opted out by the user, not able to be used to recover past messages, and not able to be used to decrypt future messages.

[–] hedgehog@ttrpg.network 2 points 1 day ago

The concern is valid, and it has caused a lot of distrust in many companies due to the Snowden leaks, but that distrust is founded in the leaks.

Snowden explicitly endorsed Signal, too - and as far as I know he’s never walked that endorsement back.

[–] hedgehog@ttrpg.network 2 points 1 day ago (2 children)

https://signal.org/blog/sealed-sender/ explains the feature.

https://github.com/signalapp/Signal-Android/issues/13842 has some links into the code base showing where sealed sender is implemented.

[–] hedgehog@ttrpg.network 64 points 1 week ago (2 children)

My immediate reaction: It still looks like this, doesn’t it?

It doesn’t, but I feel like I saw this like a couple weeks ago. Does it still look like this on the website on mobile or something?

[–] hedgehog@ttrpg.network 2 points 1 week ago

You can use a controller. I got further in Dead Cells on my phone with the Backbone One than I did on my Steam Deck. Maybe the same would be true with Hades - it’s a shame the Netflix version doesn’t (or didn’t; I haven’t checked in months) support cross-save.

[–] hedgehog@ttrpg.network 1 points 1 week ago (1 children)

That’s worth considering, but it also needs to be weighed against possibly impacting their friendship if she’s not interested. I also wouldn’t recommend saying he “really likes her” if he doesn’t already like her a lot that way, but even just “I like you” would work just as well.

[–] hedgehog@ttrpg.network 3 points 1 week ago (3 children)

Liking multiple people at once is super common. The love triangle is a trope for a reason.

If you don’t like her then don’t worry about it (other than to maybe pay attention to how you’re acting around her and avoid flirting unintentionally) but if you’re interested in her, maybe try pursuing that? Flirt with her a bit and see if she reciprocates. If she likes you, there’s a good chance she’s been flirting with you and you’ve just been oblivious.

If you’re too shy to intentionally flirt, you could ask her outright, but it’d probably be better to ask her something that hints at your interest, like “I like this girl but I can’t tell if she’s into me - what sorts of signs should I be looking for?” Should be pretty obvious what you’re both saying and asking.

[–] hedgehog@ttrpg.network 17 points 1 week ago (3 children)

Learn, understand, challenge, repeat.

Learn as much as you can about all sorts of topics, even if you don’t have specific plans for those topics

Learn enough that you don’t just know the facts, but that you actually understand why things are the way they are. You should be able to predict things you haven’t yet learned if you understand the concepts. If you don’t understand something yet, keep learning.

Learn your fundamentals: language skills, math, logic, statistics, the science of research, history, politics, basic psychology, and the physics of whatever realm you’re operating in (meaning that in today’s day and age, you should learn about both real-world physics and about how information flows on the Internet).

A lot of people don’t know how to teach themselves, so it’s probably important to point out that learning to do so effectively is a big part of thinking for yourself. Learning how information is presented, as well as what’s often left unsaid, is important. Learn how to read graphs and charts and statistics. Improve your information literacy: Learn how to find credible sources, how to judge the credibility of a source, and what “credible” actually means. It doesn’t mean infallible.

As a general rule, don’t accept a fact until you have multiple credible confirmations of it. That might not be possible, but when information comes from untrustworthy sources, remember that. Learn the difference between something that you’ve learned and accepted and something that you’ve just heard on social media a few dozen times. This is easier when you have an understanding of what you’re learning. True things fit in better with other true things.

Don’t assume things are false just because the source isn’t credible, either. Just do extra research to verify. Do your own experiments to confirm, if possible.

Sometimes you’ll realize something you’ve accepted might be wrong, possibly because it conflicts with something else that you learned. When facts don’t add up, challenge them. You’re not infallible. Replacing a fact you accepted long ago isn’t a failure; it’s a victory. Many people are incapable of doing so.

Learn to distinguish between facts, inferences, theories, and opinions. (Note that established, accepted scientific theories often fall into the “fact” category.) Facts are verifiable. Inferences are based on facts; they’re evidence-based conclusions that can help to build theories. Theories are explanations, and they can be disproven but haven’t been proven (else they would be facts). Information presented as facts can be false. Theories and inferences can be poorly formed, even if the facts are sound (and especially when they are not). “Opinion” is a word people use to defend flawed theories. If the opinion isn’t a preference, there’s a good chance it isn’t an opinion at all and is just intentional misinformation. “You can’t argue with my opinion” isn’t applicable when the “opinion” is provably false - then it’s just a failed fact, inference, or theory. And even when it is an opinion, it can still be criticized.

Learn about logical fallacies. Even if you don’t call out the person using them, try to notice them in the wild, both by people you agree with and people you disagree with. But especially by people you agree with. Learn how to notice other ways people are misled.

[–] hedgehog@ttrpg.network 1 points 2 weeks ago

Invidious link didn't work... Do you have the youtube link?

Heads up for future reference: the video ID is the same between Youtube and Invidious, so you can just replace the invidious domain (inv.nadeko.net in this case) with youtube.com.

 

The video teaser yesterday about this was already DMCAed by Nintendo, so I don’t think this video will be up long.

view more: next ›