Signal under fire for storing encryption keys in plaintext
Signal's desktop app faces scrutiny for storing encryption keys in plaintext, risking data theft. Despite past criticisms, no changes have been made. Users express concerns over security implications, echoing issues in WhatsApp and iMessage.
Read original articleSignal's desktop app has come under scrutiny for storing encryption keys in plaintext, potentially exposing users to data theft. Cybersecurity researchers found that Signal's desktop version stores local chat history encryption keys in a plaintext file accessible by any process on the system. This flaw allows for the easy restoration of entire Signal sessions on different devices without detection by the app. Signal's approach to end-to-end encryption focuses on protecting data in transit, shifting the responsibility for security to users once data reaches their devices. Despite past criticisms and recommendations to improve key storage security, Signal has not implemented changes. While some argue that the current setup suits the general user base, others emphasize the risks posed by potential exploits. The investigation also highlights similar encryption key storage issues in other applications like WhatsApp and iMessage. Signal has not responded to the recent findings, leaving users concerned about the security of their encrypted communications.
Related
EU Council has withdrawn the vote on Chat Control
The EU Council withdrew the vote on Belgium's Chat Control plan due to lack of support. Critics raised privacy concerns over monitoring chat messages and client-side scanning. Uncertainty looms as discussions resume post-summer.
EU cancels vote on private chat app law amid encryption concerns
The European Union cancels vote on law targeting child sexual abuse material over encryption concerns. Proposed measures involve scanning images on messaging apps, sparking privacy debates among member states. Negotiations ongoing.
OpenAI's ChatGPT Mac app was storing conversations in plain text
OpenAI's ChatGPT Mac app had a security flaw storing conversations in plain text, easily accessible. After fixing the flaw by encrypting data, OpenAI emphasized user security. Unauthorized access concerns were raised.
ChatGPT's much-heralded Mac app was storing conversations as plain text
The Mac desktop app for ChatGPT by OpenAI stored user conversations as plain text, posing a security risk. OpenAI updated the app to encrypt chats after public scrutiny. Users should update for security.
Signal under fire for storing encryption keys in plaintext
Signal's desktop app stores encryption keys in plaintext, risking data theft. Users' security responsibility increases post-data arrival. Despite criticism, Signal hasn't fixed the issue. Caution advised for desktop app usage.
When the device is stolen or lost it better protects data at rest with full disk encryption.
When the account operating Signal or the machine as a whole was taken over, the attacker can observe everything the user does and can do everything the user is entitled to do. When the data is accessible to the user, it will be accessible to the attacker and there's nothing anyone can do about it.
Not saying the severity of the issue is lower because of it, just that it might not impact as many people as the current title would suggest.
-- macOS --
On macOS protecting credentials is easy and effective. You can store secrets in two places:
1. In the system keychain. The best place because the keystore database records the code signing identity of each app that creates an entry, and any other app that tries to access those credentials will trigger a permission check by the OS. The permission check window can't be tampered with by other OS processes, nor can your own app be tampered with because the OS will block debugger APIs and also block attempts to overwrite code files on disk. There are APIs for this in whatever framework or language you're using. Browsers protect cookies and local storage for you by using this mechanism (the data is readable on disk but encrypted using a key stored in the keychain).
2. If you opted in to the App Sandbox, you can store data in ~/Library/Preferences which is virtualized and redirected to what Apple calls a "container". Apps that try to access files in containers also trigger a permission prompt.
As a quick test to prove to yourself this works make sure you're on the latest version of macOS, go into System Settings, Privacy & Security, and ensure that under "full disk access" your terminal app is unchecked. If you toggle it off you'll need to restart the process. Now run e.g. `ls Library/Containers/desktop.WhatsApp/Data` and note you get an permission prompt. This block exists for ALL APPS i.e. every app on macOS is sandboxed even legacy apps and apps that don't opt-in to what Apple confusingly calls the "app sandbox" (they mean something like "stricter app sandbox").
Storing credentials is easy on macOS because of the many years of work Apple's security engineers have quietly done, mostly without disruption. Every app on macOS has cryptographically verified identity, which is the hardest part. The rollout of all of this has been so smooth most devs don't even realize how much protection the OS now provides. Let's take a moment to note that this is worthy of serious respect. MacOS is by far the most secure desktop OS out there today, IMHO.
-- Windows --
Possible but much harder and mostly undocumented. I haven't yet tried it myself, but it's on the todo list. Firstly, note that protecting credentials from other apps requires the OS to understand app identity i.e. what files belong to an app, who signed them, and then the OS must stop other apps from tampering with those files or the address space of the program that's running. The only supported way to do this on Windows is by packaging and installing your app with MSIX. If you haven't encountered this format before please open my bio, follow the link to my company's product and the user guide will tell you all about it. If you aren't shipping your app with MSIX forget it, there's no way to protect credentials from other apps, only other users using regular file or keychain permissions.
If you do use MSIX then it's possible to create directories that only your app can read, but which are still owned by the user i.e. the user can override the protection using Explorer if they want to. The way to do this is far too complicated to explain here unfortunately and involves some serious Windows API voodoo.
-- Linux --
As always on Linux, "it depends" but is basically not possible in a widely supported and portable way. Whilst Linux the kernel has all the needed tools, they're not knitted together across the userspace and packaging ecosystem to make it possible. The closest thing to app identity is either SELinux (Red Hat specific more or less) or FlatPaks. Neither is understood by system keychains AFAIK? Debugger APIs aren't really locked down either, and you can't make a directory in $HOME that only a specific FlatPak can read.
good catch. this kind of technical analysis makes signal a stronger application. now if only someone could convince Marlinspike to get off his high horse and de-centralize the service.
AWS is a terrible host. its all too willing to de-platform, as was evidenced when Senator Joe Liebermann politely requested they de-platform Assange and Wikileaks.
Related
EU Council has withdrawn the vote on Chat Control
The EU Council withdrew the vote on Belgium's Chat Control plan due to lack of support. Critics raised privacy concerns over monitoring chat messages and client-side scanning. Uncertainty looms as discussions resume post-summer.
EU cancels vote on private chat app law amid encryption concerns
The European Union cancels vote on law targeting child sexual abuse material over encryption concerns. Proposed measures involve scanning images on messaging apps, sparking privacy debates among member states. Negotiations ongoing.
OpenAI's ChatGPT Mac app was storing conversations in plain text
OpenAI's ChatGPT Mac app had a security flaw storing conversations in plain text, easily accessible. After fixing the flaw by encrypting data, OpenAI emphasized user security. Unauthorized access concerns were raised.
ChatGPT's much-heralded Mac app was storing conversations as plain text
The Mac desktop app for ChatGPT by OpenAI stored user conversations as plain text, posing a security risk. OpenAI updated the app to encrypt chats after public scrutiny. Users should update for security.
Signal under fire for storing encryption keys in plaintext
Signal's desktop app stores encryption keys in plaintext, risking data theft. Users' security responsibility increases post-data arrival. Despite criticism, Signal hasn't fixed the issue. Caution advised for desktop app usage.