4 ms·
> security community has yet to deliver a proper solution What do you want them to do? I think their solution is "use memory-safe languages like Golang or Rus
by cjbprime 7y ago
> security community has yet to deliver a proper solution
What do you want them to do? I think their solution is "use memory-safe languages like Golang or Rust (or even JavaScript/TypeScript) for new projects, not C or C++" and "use extensive fuzzing on legacy C code that hasn't been replaced yet".
Fuzzing was capable of finding Heartbleed, and it's advanced massively (and been set up at scale to continuously test open source projects) since then.
- deleted 7y ago[deleted]
- guerrilla 7y ago> What do you want them to do? If you read to the end of the comment, it suggests dependent typing as the solution.
- z3phyr 7y agoRust is pretty useful against memory based bugs, and it is prudent that new projects take advantage of it. But this in no way fixes the headache of security, because (1) almost all of the existing infrastructure code depends on C (2) New classes of bugs will eventually emmerge, some partly unfixable by software solution.
- carlmr 7y ago>New classes of bugs will eventually emmerge, some partly unfixable by software solution. Sure Rust, ADA and such don't remove all classes of bugs, but they can reduce the attack surface considerably, giving you more time to focus on the remaining security bugs. And maybe people will invent software solutions that reduce the attack surface even more. Assembly is a fast car with no security features. C is a sportscar with a seatbelt. Rust is a sportscar with a seatbelt, airbags, ABS, ESC and emergency breaking. Of course you can still crash and die, it's just that you're less likely to do so.
- braindeath 7y ago> Assembly is a fast car with no security features. C is a sportscar with a seatbelt. Given the ways you can trigger UB there is no difference between Assembly and C with regards to safety.