Earlier quoted context omitted.
Not sure why you're getting downvoted, this is the entire point of open source. Does such a bug exist in Windows? OSX? Who checks? If someone finds the key in memory, can they tell what conditions might be causing it and where? Their only recourse under those situations is to hand it off to the OS Vendor and trust that what they implement does solve the problem, and trust that it wasn't a deliberate back-door that is…
Security researchers find security bugs in closed source operating systems all of the time.
Since Linux 6.9, LUKS suspend stopped wiping disk-encryption keys from memory
101–110 of 247 posts
Re: Since Linux 6.9, LUKS suspend stopped wiping disk-encryption keys from memory
#102I am far from a security expert, but from the number of "we missed a single line C check across files during refactoring" critical security bugs discovered on a regular basis these days, the whole premise of a "giant secure open source C codebase" seems questionable. It is not specific to C of course, but invariants are arguably even harder to enforce and track consistently (esp under changes to code) in C. Unsure if…
It's basically something like this:
original: DoTheThing()
new: DoTheThingSlightlyDifferentButKeepMyCredentialsAlive()
fix: DoTheThingSlightlyDifferentButDoInFactNOTKeepMyCredentialsAlive()
In my experience a substantial portion of gnarly bugs come down to a violation of a high-level system invariant and those do not strike me as something that can be automated. Even with something like Lean you can prove your program satisfies certain properties but you need to have thought about those properties in the first place. The proof doesn't discover the invariant for you.
If you'd had thought about the relevant security property you could have written a regression test for it which is not hard. IMO the really hard part isn't expressing the implementation safely, but it's the realization that this was a property the implementation needed to preserve.
Re: Since Linux 6.9, LUKS suspend stopped wiping disk-encryption keys from memory
#103The only reason that I do the disk encryption is so that I don't have to worry about people going through my laptop to steal tax documents and/or credit card stuff when I sell the laptop. I of course also wipe the laptop too, but I figure that if the data is encrypted at the drive level then there's very little risk of anyone being able to use some kind of forensics tool and recover data.
Re: Since Linux 6.9, LUKS suspend stopped wiping disk-encryption keys from memory
#104Re: Since Linux 6.9, LUKS suspend stopped wiping disk-encryption keys from memory
#105I am far from a security expert, but from the number of "we missed a single line C check across files during refactoring" critical security bugs discovered on a regular basis these days, the whole premise of a "giant secure open source C codebase" seems questionable. It is not specific to C of course, but invariants are arguably even harder to enforce and track consistently (esp under changes to code) in C. Unsure if…
The premise of a secure open codebase is fine. The problem is being more auditable does not automatically make it more audited. There have to be enough people with skill taking enough time to work on it.
Re: Since Linux 6.9, LUKS suspend stopped wiping disk-encryption keys from memory
#106Earlier quoted context omitted.
Security researchers find security bugs in closed source operating systems all of the time.
Yup, it’s just harder to know for sure.
Re: Since Linux 6.9, LUKS suspend stopped wiping disk-encryption keys from memory
#107I am far from a security expert, but from the number of "we missed a single line C check across files during refactoring" critical security bugs discovered on a regular basis these days, the whole premise of a "giant secure open source C codebase" seems questionable. It is not specific to C of course, but invariants are arguably even harder to enforce and track consistently (esp under changes to code) in C. Unsure if…
The lesson here is that if a feature (at a minimum) does not have a associated test case, it is not actually a feature.
The test actually proves it and while it too can change it has more staying power because it's expressed at a higher level of abstraction ("random arcane weird C shit" in the case of code versus "does this property hold" in the case of a regression test).
Re: Since Linux 6.9, LUKS suspend stopped wiping disk-encryption keys from memory
#108Earlier quoted context omitted.
The premise of a secure open codebase is fine. The problem is being more auditable does not automatically make it more audited. There have to be enough people with skill taking enough time to work on it.
If you think open source is bad, wait till you see enterprise code. I'm talking full auth bypass due to the stupidest crap. You can do that in any language if you have fools working on the code base.
https://community.spiceworks.com/t/hard-coded-password-backd...
This sort of thing leads to every kind of exploit, like
https://www.linkedin.com/pulse/half-worlds-fortinet-firewall...
Re: Since Linux 6.9, LUKS suspend stopped wiping disk-encryption keys from memory
#109Earlier quoted context omitted.
The premise of a secure open codebase is fine. The problem is being more auditable does not automatically make it more audited. There have to be enough people with skill taking enough time to work on it.
If you think open source is bad, wait till you see enterprise code. I'm talking full auth bypass due to the stupidest crap. You can do that in any language if you have fools working on the code base.
Re: Since Linux 6.9, LUKS suspend stopped wiping disk-encryption keys from memory
#110I am far from a security expert, but from the number of "we missed a single line C check across files during refactoring" critical security bugs discovered on a regular basis these days, the whole premise of a "giant secure open source C codebase" seems questionable. It is not specific to C of course, but invariants are arguably even harder to enforce and track consistently (esp under changes to code) in C. Unsure if…