FBI used iPhone notification data to retrieve deleted Signal messages (9to5mac.com)
482 points by 01-_- 8 hours ago
upofadown 3 hours ago
Putting on my user hat...
"OK. Signal has forward secrecy. So messages are gone after I receive them. Great!"
Oh, you didn't turn on disappearing messages? Oh, right, then forensic tools like Cellebrite can get them. You have to turn on disappearing messages. The default is off.
Oh, you did turn on disappearing messages? We send the messages in notifications. So the OS can keep them. Turns out Apple was doing that. There is an option you can turn on to prevent that. It is off by default.
"I'll just delete the entire app!" No, sorry, the OS still has your messages...
At what point does the usability get so bad that we can blame the messaging system?
This same app had a usability issue that turned into a security issue just last year:
End to End Encrypted Messaging in the News: An Editorial Usability Case Study (my article)
microtonal an hour ago
I think one of the main issues is that end-to-end message encryption is a sham as long as backups are not encrypted. I could have good device security, but if the person I'm talking to does not use ADP, iMessage and WhatsApp messages get backed up with only at-rest encryption (I think Signal opts out of standard iOS backups) and possibly the same for backups of the iPhone notification database (which the article suggests as a possibility).
Similarly on Android, WhatsApp suggests unencrypted backups to Google Drive by default.
Putting on my tinfoil hat, I am pretty sure that Google/Apple/Meta have some deal (successor to PRISM) where end-to-end encrypted messaging is tolerated as long as they have defaults that make it possible to access chats anyway. Apple not enabling ADP by default and WhatsApp doing Google Drive backups that are not end-to-end encrypted is the implementation. Since most people just use the defaults, it undermines security of people who care.
It's a 'win-win', the tech companies can wash their hands in innocence, the agencies get access to data, and phone users believe that they are chatting in a secure/private manner.
AJ007 an hour ago
"end-to-end message encryption is a sham as long as" -- I agree with that but would add even more caveats. If someone can't list those caveats off the top of their head they shouldn't be pretending they aren't able to communicate securely.
Just look at Salt Typhoon, every single person should be way more paranoid than they are, including government & agency officials. The attach surface and potential damage - financial and reputation - will only get worse with AI automation and impersonation, and that's for people who are doing nothing interesting and are law abiding citizens.
microtonal 29 minutes ago
tapoxi 18 minutes ago
Signal data is not backed up, they have a local backup solution and an in-app e2e cloud backup for $2/month.
jacquesm 2 hours ago
People keep pushing signal because it is supposedly secure. But it runs on platforms that are so complex with so much eco system garbage that there is no way know even within a low percentage of confidence if you've done everything required to ensure you are communicating just with the person you think you are. There could be listeners at just about every layer and that is still without looking at the meta-data angle which is just as important (who communicated with who and when, and possibly from where).
dingaling an hour ago
I've raised concerns about the Signal project whitewashing risks such as keyboard apps or the OS itself, and the usual response is that it's my fault for using an untrustworthy OS and outside Signal's scope.
At some point there need to be a frank admission that ETE encrypted messaging apps are just the top layer of an opaque stack that could easily be operating against you.
They've made encryption so slick and routine that they've opened a whole new vector of attack through excessive user trust and laziness.
Encrypting a message used to be slow, laborious and cumbersome; which meant that there was a reticence to send messages that didn't need to be sent, and therefore to minimise disclosure. Nowadays everything is sent, under an umbrella of misplaced trust.
OutOfHere an hour ago
There is nothing secure about sending encrypted content to notifications. If it were secure, it would only notify that there is a message, with no details included.
anon84873628 33 minutes ago
DevX101 2 hours ago
The median user isn't going to change default settings, so your app is as secure as whatever the default it.
stvltvs an hour ago
Even if I change the setting, my messages aren't truly secure against this unless all recipients do the same on all of their devices.
dist-epoch an hour ago
Use SimpleX if you really want a secure messenger. Endorsed by Whonix, which in endorsed by Snowden.
jonpalmisc 7 hours ago
Settings > Notifications > Notification Content > Show: "Name Only" or "No Name or Content"
I've had this enabled to prevent sensitive messages from appearing in full whilst showing someone something on my phone, but I guess this is an added benefit as well.
nickburns 7 hours ago
Just to clarify, this is within the Signal app settings—not the OS (iOS or Android) system settings.
Critical distinction, as merely changing OS notification settings will simply prevent notification content from being displayed on-screen.
hammock 6 hours ago
Wait so if I do iOS setting notifications > never show previews it’s still caching them in the background? Unencrypted?
nickburns 6 hours ago
namdnay 5 hours ago
JumpCrisscross 6 hours ago
Signal should switch the default to being less verbose.
avidiax 2 hours ago
nickburns 6 hours ago
iknowstuff 3 hours ago
fragmede 6 hours ago
wodenokoto 4 hours ago
When you put it up against each other it makes perfect sense, but I would never have thought about it in that way!
Thank you for adding this to the conversation.
kwanbix an hour ago
I allway say it: it is the defaults, stupid (paraphrasign).
The Defaults have to be the most sensitive ones.
If you are a supposed super secure app, this should be the default.
jhalstead 7 hours ago
Fwiw, in my Signal app on Android this setting is in
Settings > Notifications > Messages > Show
wolvoleo 6 hours ago
My Samsung also keeps a history of notification content. Under Settings->Notifications ->Advanced -> Notification History
tialaramex 6 hours ago
cdrnsf 6 hours ago
Disable Apple Intelligence summaries for sensitive app notifications too.
huxley 6 hours ago
Given the quality of the summaries, you might want to keep them just for plausible deniability </s>
embedding-shape 7 hours ago
I guess enabling Lockdown mode might avoid this particular issue too, together with a bunch of other stuff?
everdrive 6 hours ago
Why would lockdown mode prevent this? I have lockdown mode on but that doesn't automatically make my notifications private.
rustyhancock 6 hours ago
embedding-shape 6 hours ago
giancarlostoro 6 hours ago
SwtCyber 2 hours ago
Originally enabled it just to avoid awkward moments
echelon_musk 4 hours ago
WhatsApp supports this too.
Settings > Notifications > Show preview
Night_Thastus 4 hours ago
This seems to be the default for me, at least on Android.
izacus 4 hours ago
Android also supports custom encrypted payloads so Signal doesn't have to give them to Google.
pigggg 4 hours ago
Just curious, how come at least once a month signal bugs me to turn on notifications? I said no for a reason, every single time - why does it keep asking?
Not implying anything evil but it feels a bit weird esp after this.
greysonp 4 hours ago
Signal developer here. It's just because notification reliability is always a top support complaint, and a lot of people turn off notifications and don't realize they've done so. Admittedly, once a month is likely too aggressive.
dataflow 4 hours ago
How about instead of prompting to enable notifications, you leave a small banner or other unintrusive/non-annoying UI noting that they're off, which users can tap in order to learn more about how to reenable them?
For an app that prides itself on privacy, it's kind of crazy that you're making it so easy to accidentally blow it.
illiac786 3 hours ago
pigggg 4 hours ago
Is there some "no means no" additional setting that could be added where someone has to go into settings that would prevent that?
I fear that with the notifications pop up asking me this I might hit the wrong button and woops turn it on.
NAR8789 3 hours ago
jacquesm 2 hours ago
Any time after a user switches it off on purpose is too aggressive.
elevation 3 hours ago
> notification reliability is always a top support complaint
I know octogenarians who use signal daily. "You called me and it didn't ring" or "messaged and it didn't beep" are definitely the top support complaints I receive. Thanks for being sensitive to this use case.
peacebeard 4 hours ago
Making the product worse for everybody because a minority can’t manage their own settings is a terrible strategy.
cbg0 4 hours ago
ryandrake 4 hours ago
> why does it keep asking?
Why does any software keep asking you to do things you explicitly told them you don't want to do? Because it's in the software developer's best interest to get you to do them, not yours. We've gotten way past the point in software where we no longer expect the software to serve the user's interest and solve the user's problems. Now, the expectation is that the user gets nagged and coerced into serving the software's interest and solving the developers' problems.
EDIT: Looks like a developer confirmed this in a sibling comment already: It nags you because that solves their support problem.
greysonp 4 hours ago
We build Signal for everyone, and that includes a lot of people who are not as technologically literate as the average tech worker. For a lot of people, they don't even know they dismissed the notification permission prompt, they were just closing boxes. For them, the reminder is helpful and prevents them from experiencing missing notifications. Striking a balance between helping these people and annoying more technologically-literate users is very difficult, with compromises everywhere. We're just trying to make sure Signal works for people, nothing more.
zarzavat 4 hours ago
some_furry 4 hours ago
ryandrake 4 hours ago
alwa 3 hours ago
“Their support problem” is a regular person’s problem getting the software to work how they want. That frustrated them enough to complain about.
I don’t follow how it’s necessarily selfish for the developer to reduce that.
There certainly are selfish ways to reduce support load, like making it harder to ask for help at all. But this way seems like the right way: listen to users’ problems and act to avoid them.
If your remedy causes more pain and frustration than the status quo, you’ll end up with more support load, not less.
Sure it’s greyer when the developer’s trying to sell something, but what does Signal gain from pushing notifications on users?
This seems to be about making the software humane and forgiving—meeting users where they are, not tricking them into something they don’t want.
krunck 4 hours ago
The Proton Drive app keeps asking me to turn on backups of photos and video. There is no option to say "don't ask again."
I guess they /want/ more storage to be used? Or is there a support issue they are trying to deal with?
alpaca128 4 hours ago
pigggg 4 hours ago
ryandrake 4 hours ago
ethanrutherford 4 hours ago
It's pretty shortsighted, bordering on intentionally obtuse, to insinuate that the only person that benefits from solving the support problem is the person on support.. Take the example of automatic backups others brought up in this thread. Are you really going to imply that there's zero benefit to the person who didn't lose their data because the app reminded them to turn backups on? I don't disagree that it could be improved with a simple "don't ask me again" style setting, but that doesn't change the fact that every time someone doesn't issue a support ticket, it's because they didn't run into an issue. Any effective solution to a support problem is mutually beneficial for the user as well as the support staff.
Forgeties79 3 hours ago
mackman 4 hours ago
Messaging platforms where people receive and promptly respond to messages are more successful in the long run. That's why SMS overtook email. If you own a messaging platform there isn't anything inherently nefarious about pushing people to enable notifications.
Forgeties79 4 hours ago
There is if they have repeatedly said no
snhjsdrhrsh 4 hours ago
SwtCyber 2 hours ago
Pretty sure that's just iOS behavior + app design. If notifications are off, apps will occasionally prompt again to make sure you didn't disable them by accident or miss something
jshier 44 minutes ago
No, the OS will not do that, nor is the developer able to trigger the system prompt again when they detect the user has notifications off. Only thing they can do is present their own prompt and link out to the Settings app for the app's settings. Can't even deep link to the app's notification settings.
benhurmarcel 4 hours ago
Reminds me what Whatsapp if you set up a 2FA PIN, which forces you to type it about every week to check if you forgot it. So annoying.
fn-mote 2 hours ago
Sorry, I really cannot tell if this is sarcasm or not.
One of the TOTP apps had a periodic test that you still knew the paraphrase. It started frequent and then backed off to like once a month. There’s definitely a benefit even if it’s annoying.
OutOfHere an hour ago
johnnyApplePRNG 4 hours ago
NSL, perhaps?
chasil 7 hours ago
First, a critical setting for Signal users:
"Signal’s settings include an option that prevents the actual message content from being previewed in notifications. However, it appears the defendant did not have that setting enabled, which, in turn, seemingly allowed the system to store the content in the database."
Second, how can I see this notification history?
alin23 7 hours ago
Not sure if it's exactly the same, but I had to add a When notification arrives with <message>, do <action> event trigger in my Crank macOS app (https://lowtechguys.com/crank) so I can show you how to do it on macOS:
HOURS=6
EPOCH_DIFF=978307200
SINCE=$(echo "$(date +%s) - $EPOCH_DIFF - $HOURS * 3600" | bc)
sqlite3 ~/Library/Group\ Containers/group.com.apple.usernoted/db2/db \
"SELECT r.delivered_date, COALESCE(a.identifier, 'unknown'), hex(r.data)
FROM record r
LEFT JOIN app a ON r.app_id = a.app_id
WHERE r.delivered_date > $SINCE
ORDER BY r.delivered_date ASC;" \
| while IFS='|' read -r cfdate bundle hexdata; do
date -r $(echo "$cfdate + $EPOCH_DIFF" | bc | cut -d. -f1) '+%Y-%m-%d %H:%M:%S'
echo " app: $bundle"
echo "$hexdata" | xxd -r -p > /tmp/notif.plist
plutil -p /tmp/notif.plist 2>/dev/null \
| grep -E '"(titl|title|subt|subtitle|body|message)"' \
| sed 's/^ */ /'
echo "---"
done
Basically, notifications are in an sqlite db at ~/Library/Group Containers/group.com.apple.usernoted/db2/db and are stored as plist blobs.In recent years, filesystem paths for system services have started to converge for both macOS and iOS so I'm thinking with jailbreak you could get read access to that database and get the same data out of it.
627467 7 hours ago
On android there are apps that let you see the history - i use NotiStar occasionally to see if i unwittingly dismissed important notifications. And i believe there are apps/settings that help you clear the history from the device.
But this is a reminder that these centralized notification infrastructure (FCM and APNs) store notification content (if the app is told to send content in it - signal with option enabled wouldn't send content) even if we clear local history these middleman still hold it
chasil 6 hours ago
On Lineage Android, i see: Settings / Notifications / Notification History.
If you drop a settings widget on your home screen, it will let you choose a specific area, including notifications.
I don't know if the output is the complete database.
commandersaki 5 hours ago
So I wonder about this. The quote from the 404 media article [0] is:
“We learned that specifically on iPhones, if one’s settings in the Signal app allow for message notifications and previews to show up on the lock screen, [then] the iPhone will internally store those notifications/message previews in the internal memory of the device,” a supporter of the defendants who was taking notes during the trial told 404 Media
The default setting appears to be to only show notification preview when unlocked. Will that notification still be stored unencrypted in notification storage or is it in an encrypted store because it will preview after unlock?
It makes sense that any notification that previews on the lock screen would be unencrypted (including the case where it is encrypted but the encryption key is adjacently stored).
This all reads to me that this was a user induced OPSEC issue and Signal had the right defaults.
sillysaurusx 2 hours ago
I think that’s a little nutty. People go to signal for secure messaging. That’s their entire brand. An insecure by default setting is the wrong setting, even if it nets them a lot of tech illiterate users. Compromising the security of the system defeats the entire point of using Signal instead of some other messenger.
By this logic, you, me, and everyone else using the defaults are using bad opsec. Doesn’t that strike you as problematic?
amazingman an hour ago
jhalstead 7 hours ago
On a Pixel, I can see some history by going to
Android > Settings > Notifications > Manage > Notification History
arvid-lind 5 hours ago
Wasn't sure if it was the Pixel or GrapheneOS, but what a relief to actually be covered in one of these weird 0day issues.
Unrelated to the OP, but I bet the thousands of "exploits" that Claude Mythos has identified already are a lot of these kind of things that regular people would never think about.
seb1204 6 hours ago
Yes, mine (the history option) is turned off. Nice opt in implementation.
nashashmi 6 hours ago
On android its quite easy. There is a page of a protocol address that has all notifications show. I used to have a shortcut to it. It has been years since I was on android.
But it was really useful each time I did not see a notification in time.
Edit: typo
tsimionescu 6 hours ago
> I used to have a seizure to it.
Hopefully, you meant to write "shortcut"...
nashashmi 5 hours ago
SwtCyber 2 hours ago
You don't, at least not without forensics tools
benhurmarcel 4 hours ago
I wonder how long does the system store those notifications
AlBugdy an hour ago
So Signal is sending the notifications through Apple's ecosystem somehow, presumably to save battery life by not having a persistent connection to Signal's servers? That's what I think happens on Android, too. When I had Lineage years ago, I had a persistent connection to Signal as the notifications didn't come through Google. Unfortunately there was a persistent notification for the persistent connection with no way to remove it.
After these news Signal should ask the users ASAP and on new installs something like:
> Do you want the notifications to pass through Apple (no privacy, better battery) or through Signal itself (better privacy, but less battery life due to the persistent connection to Signal's servers.
It should be as part of the setup wizard, not inside the settings.
Correct me if I've misunderstood something.
svpk an hour ago
In my recollection, which may be imperfect:
1. On android if Google Play isn't available (or you install the no Google apk version) it'll use a websocket for notifications. Apple doesn't allow a persistent connection except through their own notification framework.
2. In either case Signal doesn't send message contents through the notification framework (not even encrypted). Once Signal receives a notification the app wakes up and reaches out to the signal service directly for actual encrypted message.
3. Regardless when signal shows the contents of your message in the notification menu of your device your device keeps a record on your device of that message content.
The FBI here didn't get anything from apple, once they had the apple device unlocked they looked at the notification database on the device to get the message contents. This isn't really any different from the fact that if the FBI has your unlocked phone they can read your signal messages. The notable bit is that the notification database retains messages even after the app is deleted.
0xR1CK an hour ago
" if the ___ has your unlocked phone they can read your signal messages. "
It's worth noting you can add an additional security check pin/bio/pass to signal that is different from your phone unlock.
The protester had also uninstalled signal from phone (even with access to the phone, they would not have access to signal, if they had reinstalled signal, and some how got the security pin or passphrase, they wouldn't be able to load the prior messages, without either, no messages at all).
jshier an hour ago
There is no other way to send push notifications on iOS, you have to use APNS. When the app is active you can switch to your own local socket connection, but as soon as it goes into the background those connections are lost. Pushes can also start the app in the background if it hasn't been used in a while and has been evicted by the OS.
You can send push notifications with your own encryption on top, which I believe Signal does, so Apple can't see it on the APNS side, but your local extension to decrypt the content is still subject to the user's settings, and part of the notification history if you put message content in the notification.
blitzar 6 hours ago
> testimony in a recent trial
Court cases are the real way to audit security.
Larping about security and complaining about companies responding to court orders only gets you so far. Its way more useful to look at what actually happens in reality.
tclancy 4 hours ago
I know it’s not germane to the Signal issue, but this caught my eye, “who previously pleaded guilty to providing material support to terrorists”.
The case comes with a long statement about the Antifa “organization”. Just your weekly reminder we are living under an Orwellian administration. https://www.justice.gov/opa/pr/antifa-cell-members-convicted...
bronco21016 4 hours ago
Yes and no. Court cases certainly will disclose what capabilities various parties have come up with when it comes to security. However, there are documented cases where the government chooses to abandon prosecution for the sole purpose of preventing disclosure of some of their cyber capabilities.
SwtCyber 2 hours ago
True, court cases are one of the few times details actually surface
tbrownaw 6 hours ago
The recent Trivy / LiteLLM mess was also a security thing, and seems rather different.
jMyles 5 hours ago
The problem is that, in the current environment of dishonest and corrupt states, "what actually happens in reality" isn't the same as what happens in court because of parallel construction.
1vuio0pswjnm7 5 hours ago
"However, it appears the defendant did not have that setting enabled, which, in turn, seemingly allowed the system to store the content in the database."
"[A]llowing the system to store the content in the database" where a third party, such as Apple or a government, can access it is the default
Only a small minority of users know about settings and how to change them. The vast majority of users do not change default settings. Apple knows this
rsync 3 hours ago
“Only a small minority of users know about settings and how to change them. The vast majority of users do not change default settings.”
Even worse, whatever critical settings you may set as a sophisticated user will frequently be reset, or changed, or re-organized under different settings… And of course, set back to insecure defaults… With subsequent software updates.
This is a regular occurrence with Firefox and privacy settings.
Whatever the actual impetus is, we should act as if this is intentional.
nine_k 4 hours ago
If you care about security at all, you disable any previews on the lock screen. The lock screen is by definition visible to anyone without any authorization. Showing anything on it immediately destroys any secrecy. It must be obvious to anyone capable of elementary logic inference.
If you don't know how to disable it, you use your favorite search engine / LLM / knowledgeable relative to find out, and disable it.
But if you just didn't pay attention, "never thought about it", you don't care about security, and no amount of technical means would help, sorry.
loeg 4 hours ago
> If you care about security at all, you disable any previews on the lock screen. The lock screen is by definition visible to anyone without any authorization. Showing anything on it immediately destroys any secrecy. It must be obvious to anyone capable of elementary logic inference.
With at least one combination of settings, it shows the message content only when the lockscreen has been unlocked, but not yet swiped away.
nine_k 3 hours ago
gertop an hour ago
Disabling notification preview in the operating system settings doesn't prevent the issue, they're still saved in the database.
The only way they're not saved is to disable name/content in signal itself.
Maybe you're not as capable of elementary logical inference as you thought?
nine_k 5 minutes ago
1vuio0pswjnm7 an hour ago
Imagine a parallel universe where stories about use of personal computers were written from a different perspective. For example,
"However, it appears Apple's system uses a default setting which, in turn, seemingly allowed it to store the defandant's content in Apple's database"
instead of
"However, it appears the defendant did not have that setting enabled which, in turn, seemingly allowed the system to stoire the content in the database"
In the later version, the defendant, namely his inaction in not changing a default setting, appears solely responsible for the outcome. And the actor that placed a copy of his incoming messages in a database that the actor created is referred to as "the system", not the corporation that wrote the system and sold the computer with this system pre-instaalled
esseph 5 hours ago
> Only a small minority of users know about settings and how to change them.
I couldn't believe this so went to look up some data on this.
Holy FUCK that is bleak. There needs to be way more computer education, not just "how2type" classes.
sillysaurusx 2 hours ago
Unfortunately, users don’t want to learn. They want the app to do what they want. Anything involving learning is likely to get an instant “screw this” reaction. Seen it firsthand many times, and always found it mystifying.
shooly an hour ago
ttkari an hour ago
This is the same issue that got a local drug organization busted some time ago - their entire α-PVP cooking operation was busted after one of the gang members was caught during a sale, his iphone was confiscated and the entire org was right there in the notification history.
I guess that's what you deserve if you trust apple with your operational security.
alsetmusic 6 hours ago
Original article: FBI Extracts Suspect’s Deleted Signal Messages Saved in iPhone Notification Database[0]
0. https://www.404media.co/fbi-extracts-suspects-deleted-signal...
tbrownaw 6 hours ago
That's unfortunately less informative if you aren't already one of their subscribers.
gabeio 6 hours ago
https://archive.is/bSQhD You can view their link here.
donohoe 3 hours ago
Was this not a known issue (in terms of trade-offs) for years? I recall discussion back in 2018 at least that made mention of this concern.
https://github.com/RealityNet/iOS-Forensics-References https://theforensicscooter.com/2021/10/03/ios-knowledgec-db-...
niek_pas 6 hours ago
I wonder why Apple doesn't 'just' delete the notification data associated with the app from the internal database when the user deletes the app? It seems like asking for problems to just keep old notification content around forever.
alsetmusic 6 hours ago
It's one of those problems where as soon as someone notices, it's crazy that no one noticed. I can't imagine this not being overhauled going forward. It's just a bad way to operate and now it's news.
bigyabai 4 hours ago
> I can't imagine this not being overhauled going forward.
On which end, Apple or Signal? Because neither Apple nor Google will overhaul this behavior, the FBI asked for it directly: https://arstechnica.com/tech-policy/2023/12/apple-admits-to-...
ikmckenz 2 hours ago
gumby271 2 hours ago
I think that's how the Android notification history works. If I uninstall an app, the entries in the history aren't shown anymore. You also have to opt in to notification history and toggling it off and back on clears the old entries. There's also a time window that it keeps entries for: https://source.android.com/docs/core/display/notification-hi...
rustyhancock 6 hours ago
If it never hits flash that might work, but if it's in flash storage then the block may not be erased by the time its dumped.
I'm not sure precisely how the NAND controller responds to requests for raw data from blocks with "deleted" data. And if this would require decapping the flash.
Some flash will happily let you see the data and delay erasing it.
Generally flash is non deterministic about when blocks even those with entirely stale data are erased . It might be years before the block is reused due to wear leveling algorithms and it might retain data that entire time.
Here's hoping the controller for phones which hold sensitive data are more active
gruez 5 hours ago
If the "database" works like most other databases (eg. postgres or sqlite), deleting a row doesn't immediately cause the data to be wiped from disk, for performance reasons. Then as others mentioned you have filesystem/SSD logic that does something similar on top of that.
btown 4 hours ago
But you can do other things to mitigate this. For instance, give each app a set of rolling daily encryption keys, and encrypt new messages at rest. Remove the app, remove all keys. Nightly, remove the oldest key. Perhaps have the entire key database either stored in Secure Enclave, or if there isn't room, have the key database itself encrypted by a rotating single key in Secure Enclave. Now there's nothing that an attacker can do.
6thbit 5 hours ago
So this is where we find out the one end of e2e is the phone and not the app.
Semi-related, in whatsapp reading the text in the notification doesn't mark the message as read, so the OS is kinda mitm here.
zenoprax 5 hours ago
Signal creates the notification, does it not? That's like claiming `echo "my_private_data" | notify-send` is insecure.
If piping encrypted content resulted in a plaintext notification then you'd have a right to be concerned.
6thbit an hour ago
Exactly yes, and that is insecure here because the app relayed the message beyond its layer and ownership. Thus not making the app the end of the communication.
coldtea 3 hours ago
What prevents the phone from taking screenshots of you reading the messages in the app?
The actual one end is the phone, not the app, period.
halapro 4 hours ago
While it's definitely surprising that the OS caches this data after the notifications have been swiped away, I always thought that notifications are an obvious hole in the whole E2E encryption setup.
Thorrez 4 hours ago
AIUI, Signal push notifications just saying a message was received. Signal then fetches the E2E encrypted message from the server and decrypts it locally. So Apple/Google cannot read the messages, nor can Signal servers.
leesalminen 3 hours ago
AIUI, Signal decrypts the E2EE message locally, but then sends the decrypted message to iOS in order to display the notification to the user. iOS then stores this data and it persists after the user dismisses the notification.
This makes sense and there's really no way around it without a change from Apple. If iOS is going to show the user a Signal notification with the decrypted message in the notification body, then iOS must be given the decrypted message. iOS could (and probably should) delete that data off the device as soon as the user dismisses/engages with the notification. But it sounds like they do not.
kouru225 an hour ago
I don’t know why anyone trusts Signal. People keep talking about them. I thought it was clear years ago that they were a sketchy company
chinathrow 7 hours ago
On Android, when I use WhatsApp and have notifications for groups turned off, I can still see that they arrive briefly and then get removed (the icon top left vanishes). I wonder often, if this is a way to push all group message content into an unencrypted data trace as well - for the same use case.
arkon_hn 7 hours ago
If the notification has the data, then yes. It's trivial to create an app that listens to notifications; Samsung even has one themselves called NotiStar that replicates the notification history feature that Android normally has.
pipe01 2 hours ago
I've never seen this happen, maybe you're seeing the "Fetching messages" notification that sometimes pops up for a second?
etiam 7 hours ago
Also discussed yesterday, in https://news.ycombinator.com/item?id=47703573
SwtCyber 2 hours ago
This is one of those cases where the "secure app" narrative collides with how messy real systems actually are
frizlab 7 hours ago
Aren’t notifications supposed to be encrypted for Signal?
shantara 7 hours ago
iOS stores the previously displayed notifications in an internal database, which was used to access the data. It’s outside of Signal’s control, they recommend disabling showing notification content in their settings to prevent this attack vector
exitb 6 hours ago
They do control the content on the notification. It's a bit odd to put the sensitive text in the notification only to recommend disabling it at the system level.
kccqzy 5 hours ago
frizlab 5 hours ago
makosdv 7 hours ago
You can choose what to show in the notification and there is an option to include the message, so I'm guessing that allowed some unencrypted incoming messages to be read.
frizlab 7 hours ago
Sibling comment explains. The notification does arrive encrypted and is decrypted by an app extension (by Signal), however, if the message preview is shown, it is stored unencrypted by iOS. It is that storage that is accessed.
butvacuum 7 hours ago
it seems iOS will drop previews into an unencrypted section. which, Is how I expected iOS notification previews to work without unlocking the phone
krisknez 7 hours ago
This kind of vulnerability is not tied to Signal but all apps which send notification.
throawayonthe 5 hours ago
They are;
“Messages were recovered from Sharp’s phone through Apple’s internal notification storage—Signal had been removed, but incoming notifications were preserved in internal memory. Only incoming messages were captured (no outgoing).”
ie the messages recovered were 1. incoming 2. stored by the OS after decryption
i also was spooked by the headline :p
echelon_musk 6 hours ago
As an aside, I decrypted an encrypted iPhone backup using a tool from GitHub because I wanted easy access to my Voice Memo recordings.
Photos I had long deleted were still in the backup! It's quite surprising just how much is being stored by the phone.
boysenberry 5 hours ago
What did you use?
echelon_musk 2 hours ago
shalmanese 7 hours ago
I thought Signal didn’t show message previews by default and you had to go in and enable it? I’ve never had message previews in my Signal and I don’t remember changing anything. Maybe when they introduced the feature, you could pick but they strongly suggested it not showing?
foooorsyth 6 hours ago
The opposite, actually. Signal endlessly nags you to turn on notifications, and when you turn them on, previews and content are shown by default. You cannot opt out of the nags.
commandersaki 4 hours ago
According to my setting screen the Show Previews setting is "When Unlocked (Default)".
Screenshot of notification settings page: https://files.catbox.moe/3gwjoy.png
seydor 4 hours ago
We are running out of Murphy's laws for digital communications. People will go back to physical messaging
coldtea 3 hours ago
Younger people have largely abandonded even physical contact and talk, they ain't going back nowhere.
b8 3 hours ago
Sounds like an intentional government feature. Just speculation though. I'm glad I have a Pixel, but I'm on the default OS and need to switch to GrapiousOS (secure version). Just haven't due to lack of nice Google features.
seethishat 4 hours ago
A lot of dumb criminals seem to carry smart phones. The irony.
scarecrowbob 3 hours ago
Probably, but these are people who are being charged for political "crimes" brought mostly because the government doesn't think people have a right to protest. While it's unsurprising that the citizen who discharged their weapon was tried for this, most of the other folks were just doing run-of-the-mill protest stuff.
I also get that in Texas they are fine "criminalizing" protesting, but that's just part of its hyper-authoritarian "charm", and a lot of us don't think that protesting in itself should be criminal.
inemesitaffia 30 minutes ago
They are part of a larger direct action group.
kevincloudsec 5 hours ago
everyone's arguing about whether apple or the government is to blame. the actual problem is the verification methods themselves. credit card, drivers license, or a pass card. three options that each create a centralized database linking your real identity to your device. age verification is just identity verification with a friendlier name.
the verification accepts other people's credit cards and IDs. so the 'age gate' doesn't even verify the person using the device, just that someone with a credit card touched it once. it's all the privacy cost of an identity check with none of the supposed child safety benefit
loeg 4 hours ago
I think you're on the wrong thread?
xvector an hour ago
It's an LLM.
dav 4 hours ago
iOS Data Protection — The Four Classes
Data Protection is implemented by constructing and managing a hierarchy of keys, building on the hardware encryption technologies built into Apple devices. It's controlled on a per-file basis by assigning each file to a class; accessibility is determined by whether the class keys have been unlocked.
The four protection classes, from strongest to weakest:
NSFileProtectionComplete — Files are only accessible when the device is unlocked.
NSFileProtectionCompleteUnlessOpen — A file can only be opened when the device is unlocked, but is not closed when the device is locked — it's encrypted when the last open handle is closed. Suitable for data being uploaded in the background.
NSFileProtectionCompleteUntilFirstUserAuthentication — The resource cannot be accessed until after the device has booted. After the user unlocks the device for the first time, the app can access the resource and continue to do so even if the user subsequently locks the device. Fortify This is commonly called AFU (After First Unlock). This is the default class for all third-party app data not otherwise assigned to a Data Protection class.
NSFileProtectionNone — The resource has no special protections. It can be read or written at any time. The encryption only uses a key derived from the device's UID.
The BFU/AFU Distinction — The Heart of the Signal Issue
Apple's iOS devices operate in two key security states that directly impact data accessibility: Before First Unlock (BFU) and After First Unlock (AFU).
When an iPhone is in the BFU state, it has been powered on or rebooted but not yet unlocked with a passcode. In this state, the Secure Enclave does not release the decryption keys needed to access most user data.
Once you've unlocked once (AFU), files protected with NSFileProtectionCompleteUntilFirstUserAuthentication become accessible, the Keychain is available, and background processes and apps can access encrypted content as needed.
The Signal notification content issue connects here because notification data (including previews) stored in the default CompleteUntilFirstUserAuthentication class remains decryptable by any process — including OS-level forensic tools — as long as the phone has been unlocked at least once since the last reboot.
walmas 5 hours ago
People also got charges in the same case for removing people from a Signal chat
mnls 7 hours ago
People who NEED to hide their notifications from iOS have this already disabled.
They rest who "evaluate their threat models" can practice Spy-life-gymnastics by disabling it from Signal.
phyzome 6 hours ago
What a goofy comment.
The article you're commenting on is about people who obviously would have wanted this disabled, but didn't have it disabled, presumably because they didn't know about this issue.
xandrius 7 hours ago
Victim blaming?
lowbloodsugar 2 hours ago
Terrorism charges. That’s what we should be talking about.
komali2 2 hours ago
It sounds like they were considering liberating the ICE concentration camp. If you go down that route, you need to be ready for the terrorism charges. They brought rifles and one of them allegedly shot at a cop.
Personally, it's a moral good to free people from a concentration camp, even if it requires violence to do so. However it's also obvious that when you oppose a State, you get hit with terrorism charges. ...unless you're a jan6er, of course.
jsdevtom 4 hours ago
If I have access to the UI, I don't need to break your encryption.
nottorp 5 hours ago
... and I thought I'm turning off notifications for all apps just so I don't get spammed. Looks like the setting is more useful than that.
SilverElfin 3 hours ago
Is there a way to delete all Apple notification history from Apple’s servers?
sneak 3 hours ago
How convenient that Apple can turn a blind eye to this, and maintain their useful fiction that they don’t provide law enforcement backdoors.
Privacy, that’s Apple: https://www.reuters.com/article/world/exclusive-apple-droppe...
lenerdenator 7 hours ago
There needs to be a bit more "group chat" control in Signal messages, wherein you could enforce certain settings for certain chats regardless of the phone settings. You could have group chats that would enforce not showing more information in the notifications, while others would still allow it.
preinheimer 7 hours ago
This feels like it would run against the “I bought my device, I should control how it behaves” line of thinking.
helpfulclippy 6 hours ago
I think it fits in pretty well with Signal. As it stands, a group chat can control when a message is automatically deleted for everyone, so everyone can rely on that being a shared setting. That's an intentional design decision. There's no individual opt-out.
An individual can disable name or content in notifications in iOS, or set "mute messages" for a chat to prevent notifications from appearing for that specific chat, but there's nothing that gives group members any assurance that other group members are doing that.
etiam 7 hours ago
But it would be pretty well in line with the "I trust my contact with this communication, but only if they're not systematically misled to copy it to readily exploitable insecure storage" line of thinking.
Since the purposes of the program are pretty heavy on private communication, I'm inclined to think that takes precedence here, especially considering the consequences for dropping default message previews versus adding default reveal of supposedly private information.
lenerdenator 3 hours ago
True, though the device could simply not be connected to that chat if the user doesn't want to implement the policies necessary to access that chat.
The major hole here is that you turn off your notifications and don't have a bunch of database records, but the threat actor somehow finds out who your contacts are, gets a hold of their phone, and can then see all of the messages you sent via their notifications database. So if you want to trust the device for secure communications, you can't do that.
kome 7 hours ago
smartphones in general runs against the “I bought my device, I should control how it behaves” line of thinking
i_am_proteus 7 hours ago
Reminder that no end-to-end encryption arrangement can do anything before encryption, or after decryption, at the endpoints.
windowliker 7 hours ago
Right. It's purely a protection against MitM snooping. The app has to have the messages in plaintext to display to you via whatever mechanism the OS uses. Seems obvious, but also not, at the same time.
I've found other ways Signal can leak information, even with disappearing messages. It's not the total install-and-be-done privacy screen that some people think it is, and requires a little effort at the user end to fill in a few gaps.
ChrisArchitect 5 hours ago
[dupe] Discussion on source: https://news.ycombinator.com/item?id=47703573
SergeAx 6 hours ago
Probably stupid question: why won't they e2e-encrypt push notifications too? The vector is obvious and has been open since forever.
0x62 6 hours ago
Signal does not send any sensitive information in push notifications sent via APNs [0]. This story concerns the local OS cache of push notifications, which are triggered after E2E decryption has occurred.
tbrownaw 5 hours ago
The "e" in e2e encryption is a computing device, not the device's user's brain.
SergeAx 5 hours ago
Right. So I send a push notification with the "silent" flag and encrypted content; the app receives it, decrypts the text, and displays the notification locally. Google/Apple has only ciphertext in their FBI/CIA/NSA-accessible databases.
jhatemyjob 3 hours ago
SilasX 3 hours ago
Hmmm this is interesting. Because I've long had the complaint that notifications are frustratingly ephemeral. There have been many cases where I've gotten a notification that my phone clearly has but which I can't read, because when I tap it, it's purged permanently, and then I have a spotty internet connection, so I can't see it in the actual app that loaded.
I'm always like "JFC, can't you cache the notifications, so I can see it there while waiting for the app to gets its act together?" But no, that's never an option.
So I'm getting a laugh out of how notifications last long enough to be extracted by someone just not the person that they're for. (Though to be fair, it could be a case of a notification that was never tapped, and therefore hadn't been purged yet. I couldn't tell from the story.)
lofaszvanitt 4 hours ago
Sigh, just the usual. If you don't know the platform's nuances, you are fckd.
nixosbestos 6 hours ago
Um. Android has notification history also and I see no similar ability to hide notification content from the system ...
gumby271 2 hours ago
In the Signal app itself there's an option to hide the message body or both the sender and body, that way the OS wont have anything to store in the history.
nixosbestos 43 minutes ago
-_- I see it now, on Android. Thanks for prompting me to recheck.
TeMPOraL 5 hours ago
Good. The moment they add it, all kinds of apps will start to abuse it, for "sekhurity" (read: engagement) reasons. See e.g. all the apps that now disallow taking screenshots, for no legitimate reason.
Personally I'd be in favor of a hard app store policy, that if an app notifies you about something, all the importantdetails (like full message text) must be included - specifically to allow the user to view the important information without having to open the app itself.
nixosbestos 4 hours ago
I'm referring to what sounds like a feature of the app, not the OS... The app... already chooses what to send through the OS notification API so I really don't have any idea what scenario you're worried about.
I generally sympathize, I also don't like when apps block screenshots (or even more stupidly, they can block Android's amazing "select text from anywhere" feature...). But I don't think there are similar concerns for Signal allowing me to hide notification content from the OS.
TeMPOraL 2 hours ago
kome 7 hours ago
signal is security theater, and a very bad user experience
noman-land 7 hours ago
Prove it.
rainingmonkey 6 hours ago
> very bad user experience
"To use the Signal desktop app, Signal must first be installed on your phone."
well_ackshually 6 hours ago
bharat1010 4 hours ago
Kind of a wake-up call that even "deleted" messages aren't really gone if the OS is caching notification previews — makes you rethink what end-to-end encryption actually protects you from.