139 points

E2EE is not supposed to protect if device get compromised.

permalink
report
reply
61 points

One could argue that Windows is compromised right out of the box.

permalink
report
parent
reply
-10 points

Source:

permalink
report
parent
reply
7 points
*

Microsoft are integrating adware and spyware straight into the os.

permalink
report
parent
reply
6 points

source: 93% of ransomware are windows based

permalink
report
parent
reply
4 points

“The computer” decides when to install updates and which ones to install.

permalink
report
parent
reply
19 points

Intrinsically/semantically no but the expectation is that the texts are encrypted at rest and the keys are password and/or tpm+biometric protected. That’s just how this works at this point. Also that’s the government standard for literally everything from handheld devices to satellites (yes, actually).

At this point one of the most likely threat vectors is someone just taking your shit. Things like border crossings, rubber stamped search warrants, cops raid your house because your roommate pissed them off, protests, needing to go home from work near a protest, on and on.

permalink
report
parent
reply
12 points
*

If your device is turned on and you are logged in, your data is no longer at rest.

Signal data will be encrypted if your disk is also encrypted.

If your device’s storage is not encrypted, and you don’t have any type of verified boot process, then thats on you, not Signal.

permalink
report
parent
reply
7 points
*

That’s not how this works.

If the stored data from signal is encrypted and the keys are not protected than that is the security risk that can be mitigated using common tools that every operating system provides.

You’re defending signal from a point of ignorance. This is a textbook risk just waiting for a series of latent failures to allow leaks or access to your “private” messages.

There are many ways attackers can dump files without actually having privileged access to write to or read from memory. However, that’s a moot point as neither you nor I are capable of enumerating all potential attack vectors and risks. So instead of waiting for a known failure to happen because you are personally “confident” in your level of technological omnipotence, we should instead not be so blatantly arrogant and fill the hole waiting to be used.


Also this is a common problem with framework provided solutions:

https://www.electronjs.org/docs/latest/api/safe-storage

This is such a common problem that it has been abstracted into apis for most major desktop frameworks. And every major operating system provides a key ring like service for this purpose.

Because this is a common hole in your security model.

permalink
report
parent
reply
2 points
*

Signal data will be encrypted if your disk is also encrypted.

True.

and you don’t have any type of verified boot process

How motherboard refusing to boot from another drive would protect anything?

permalink
report
parent
reply
3 points

TPM isn’t all that reliable. You will have people upgrading their pc, or windows update updating their bios, or any number of other reasons reset their tpm keys, and currently nothing will happen. In effect people would see Signal completely break and loose all their data, often seemingly for no reason.

Talking to windows or through it to the TPM also seems sketchy.

In the current state of Windows, the sensible choice is to leave hardware-based encryption to the OS in the form of disk encryption, unfortunate as it is. The great number of people who loose data or have to recover their backup disk encryption key from their Microsoft account tells how easily that system is disturbed (And that Microsoft has the decryption keys for your encrypted date).

permalink
report
parent
reply
6 points
*

Mfw end to end can be compromised at the end.

That said, they should fix this anyway

permalink
report
parent
reply
4 points

Indeed, End-to-End Encryption protects data between those ends, not ends themselves. If ends are compromised, no math will help you.

permalink
report
parent
reply
-4 points

Plaintext should never be used in any application that deals with security, ever.

permalink
report
parent
reply
6 points

Oh no, tell that to SSH.

permalink
report
parent
reply
3 points
*

It doesn’t use plain text. It is end to end encrypted but that isn’t what this “issue” is

permalink
report
parent
reply
2 points

unless you’re reading ciphertext yourself, this doesn’t make sense

permalink
report
parent
reply
103 points
Deleted by creator
permalink
report
reply
21 points

Oh wow that’s quite a red flag ngl

permalink
report
parent
reply
35 points

If your system is compromised to such an extend, it really doesn’t make much difference how the keys are stored at rest.

permalink
report
parent
reply
27 points
*

If the keys are accessible to any process, your system doesn’t need to be compromised. All it takes is an App that you”trust” to break that trust and snatch everything up. Meta has already been caught fucking around with other social media apps on device. They even intercepted Snapchat traffic on some users devices in order to collect that data. It could be as simple as you installed WhatsApp and they went and pillaged your Signal files.

permalink
report
parent
reply
-12 points

But my system is not compromised?

permalink
report
parent
reply
0 points

Why? They would need access to the device

permalink
report
parent
reply
4 points

Thanks ChatGPT.

permalink
report
parent
reply
87 points
*

How in the fuck are people actually defending signal for this, and with stupid arguments such as windows is compromised out of the box?

You. Don’t. Store. Secrets. In. Plaintext.

There is no circumstance where an app should store its secrets in plaintext, and there is no secret which should be stored in plaintext. Especially since this is not some random dudes random project, but a messenger claiming to be secure.

Edit: “If you got malware then this is a problem anyway and not only for signal” - no, because if secure means to store secrets are used, than they are encrypted or not easily accessible to the malware, and require way more resources to obtain. In this case, someone would only need to start a process on your machine. No further exploits, no malicious signatures, no privilege escalations.

“you need device access to exploit this” - There is no exploiting, just reading a file.

permalink
report
reply
41 points

You. Don’t. Store. Secrets. In. Plaintext.

SSH stores the secret keys in plaintext too. In a home dir accessible only by the owning user.

I won’t speak about Windows but on Linux and other Unix systems the presumption is that if your home dir is compromised you’re fucked anyway. Effort should be spent on actually protecting access to the home personal files not on security theater.

permalink
report
parent
reply
9 points

Not true, SSH keys need their passphrase to be used. If you don’t set one, that’s on you.

permalink
report
parent
reply
17 points
*

Come on, 95% of users don’t set passwords on their ssh keys

permalink
report
parent
reply
10 points

Well yes, but also how would users react if they had to type in their passphrase every time they open the app? This is also exactly what we’re giving up everywhere else by clicking ‘remember this device’.

permalink
report
parent
reply
2 points

If someone gets access they can delete your keys, or set up something that can intercept your keys in other ways.

The security of data at rest is just one piece of the puzzle. In many systems the access to the data is considered much more important than whether the data itself is encrypted in one particular scenario.

permalink
report
parent
reply
8 points

Kinda expected the SSH key argument. The difference is the average user group.

The average dude with a SSH key that’s used for more than their RPi knows a bit about security, encryption and opsec. They would have a passphrase and/or hardening mechanisms for their system and network in place. They know their risks and potential attack vectors.

The average dude who downloads a desktop app for a messenger that advertises to be secure and E2EE encrypted probably won’t assume that any process might just wire tap their whole “encrypted” communications.

Let’s not forget that the threat model has changed by a lot in the last years, and a lot of effort went into providing additional security measures and best practices. Using a secure credential store, additional encryption and not storing plaintext secrets are a few simple ones of those. And sure, on Linux the SSH key is still a plaintext file. But it’s a deliberate decision of you to keep it as plaintext. You can at least encrypt with a passphrase. You can use the actual working file permission model of Linux and SSH will refuse to use your key with loose permissions. You would do the same on Windows and Mac and use a credential store and an agent to securely store and use your keys.

Just because your SSH key is a plaintext file and the presumption of a secure home dir, you still wouldn’t do a ~/passwords.txt.

permalink
report
parent
reply
0 points

SSH has encrypted keys

permalink
report
parent
reply
16 points

If someone has access to your machine you are screwed anyway. You need to store the encryption key somewhere

permalink
report
parent
reply
-1 points
*

Yes, in your head, and in your second factor, if possible, keeping derived secrets always encrypted at rest, decrypting at the latest possible moment and not storing (decrypted) secrets in-memory for longer than absolutely necessary at use.

permalink
report
parent
reply
13 points
*

How in the fuck are people actually defending signal for this

Probably because Android (at least) already uses file-based encryption, and the files stored by apps are not readable by other apps anyways.

And if people had to type in a password every time they started the app, they just wouldn’t use it.

permalink
report
parent
reply
21 points

Popular encrypted messaging app Signal is facing criticism over a security issue in its desktop application.

Emphasis mine.

permalink
report
parent
reply
12 points

I think the point is the developers might have just migrated the code without adjustments since that is how it was implemented before. Similar to how PC game ports sometimes run like shit since they are a close 1-1 of the original which is not always the most optimized or ideal, but the quickest to output.

permalink
report
parent
reply
2 points

AFAIK Android encrypts entire fs with one key. And ACL is not encryption.

permalink
report
parent
reply
6 points

You. Don’t. Store. Secrets. In. Plaintext.

Ok. Enter password at every launch.

permalink
report
parent
reply
1 point

All your session cookies are stored in plaintext.

permalink
report
parent
reply
1 point

Chrome cookies are encrypted, for exactly the reasons stated. If malware gains access to your system and compromises it in a way that DPAPI calls can be replicated in the way Chrome does it, then your sessions will also be compromised. But this is way harder to do, and at least prevents trivial data exfiltration.

permalink
report
parent
reply
63 points

Sure, I was aware. You have the same problem with ssh keys, gpg keys and many other things

permalink
report
reply
11 points

However, you can save encrypted ssh, gpg keys and save that encryption key in the OS keyring.

permalink
report
parent
reply
3 points

Yes, but you STILL need to enter password on every reboot.

permalink
report
parent
reply
2 points

Is it possible to seamlessly integrate, so when something requests those keys you’ll get a prompt?

permalink
report
parent
reply
11 points

With SSH at least you can password protect the key itself so that you always get a prompt.

permalink
report
parent
reply
58 points
*

The backlash is extremely idiotic. The only two options are to store it in plaintext or to have the user enter the decryption key every time they open it. They opted for the more user-friendly option, and that is perfectly okay.

If you are worried about an outsider extracting it from your computer, then just use full disk encryption. If you are worried about malware, they can just keylog you when you enter the decryption key anyways.

permalink
report
reply
14 points

The third option is to use the native secret vault. MacOS has its Keychain, Windows has DPAPI, Linux has has non-standardized options available depending on your distro and setup.

Full disk encryption does not help you against data exfil, it only helps if an attacker gains physical access to your drive without your decryption key (e.g. stolen device or attempt to access it without your presence).

Even assuming that your device is compromised by an attacker, using safer storage mechanisms at least gives you time to react to the attack.

permalink
report
parent
reply
9 points

Linux has the secret service API that has been a freedesktop.org standard for 15 years.

permalink
report
parent
reply
2 points

Secret service API. Damn. That’s how FSB knows what it knows.

permalink
report
parent
reply
8 points

The alternative is safeStorage, which uses the operating system’s credential management facility if available. On Mac OS and sometimes Linux, this means another process running in the user’s account is prevented from accessing it. Windows doesn’t have a protection against that, but all three systems do protect the credentials if someone copies data offline.

Signal should change this, but it isn’t a major security flaw. If an attacker can copy your home directory or run arbitrary code on your device, you’re already in big trouble.

permalink
report
parent
reply
2 points

A better thing to be worried about IMO is that Signal contains proprietary code. Also to my knowledge nobody is publicly verifying the supposed “reproducible builds” if they even still exist.

permalink
report
parent
reply

Privacy

!privacy@lemmy.ml

Create post

A place to discuss privacy and freedom in the digital world.

Privacy has become a very important issue in modern society, with companies and governments constantly abusing their power, more and more people are waking up to the importance of digital privacy.

In this community everyone is welcome to post links and discuss topics related to privacy.

Some Rules

  • Posting a link to a website containing tracking isn’t great, if contents of the website are behind a paywall maybe copy them into the post
  • Don’t promote proprietary software
  • Try to keep things on topic
  • If you have a question, please try searching for previous discussions, maybe it has already been answered
  • Reposts are fine, but should have at least a couple of weeks in between so that the post can reach a new audience
  • Be nice :)

Related communities

Chat rooms

much thanks to @gary_host_laptop for the logo design :)

Community stats

  • 7.7K

    Monthly active users

  • 2.5K

    Posts

  • 65K

    Comments