logoalt Hacker News

blibbletoday at 3:10 AM10 repliesview on HN

> Finding a genuine security flaw in OpenSSL is extraordinarily difficult.

history suggests otherwise

> The fact that 12 previously unknown vulnerabilities could still be found there, including issues dating back to 1998, suggests that manual review faces significant limits, even in mature, heavily audited codebases.

no, the code is simply beyond horrible to read, not to mention diabolically bad

if you've never tried it, have a go, but bring plenty of eyebleach


Replies

timschmidttoday at 3:20 AM

The badness cannot be overstated. "Hostile codebase" would be an appropriate label. Much more information available in Giovani Bechis's presentation: https://www.slideshare.net/slideshow/libressl/42162879

If someone meant to engineer a codebase to hide subtle bugs which might be remotely exploitable, leak state, behave unexpectedly at runtime, or all of the above, the code would look like this.

show 6 replies
lumosttoday at 3:16 AM

It really is just a collection of several dozen research grade implementations for algorithms + a small handful of load bearing algorithms for the entire internet. Surprisingly, OpenSSL isn't the only critical piece of internet architecture like this.

show 2 replies
cryptonectortoday at 3:46 AM

> history suggests otherwise

The methodology for developing and maintaining codebases like OpenSSL has changed!

> no, the code is simply beyond horrible to read, not to mention diabolically bad

OpenSSL? Parts of it definitely are, yes. It's better since they re-styled it. The old SSLeay code was truly truly awful.

fulafeltoday at 4:44 AM

We don't know how to secure C codebases by manual review. It's been well known to security engineering people for decades. And has been wider industry and academic consensus for a long time. It's like "is man-made climate change real".

(We don't know how to secure other codebases either, but C is harder since its memory safety story is like a chainsaw juggling act so code has classes of vulnerabilities that other languages don't and this eats a lot of the attention).

rzerowantoday at 3:31 AM

Also werent a lot of deadend code removed and vulns patched into what would become LibreSSL.

Would be interesting to see if any of those found exist there.

nextaccountictoday at 4:28 AM

Why do people use OpenSSL? Or any other library that forked from it

Why not start from a clean slate? Companies like Google could afford it

show 3 replies
lovichtoday at 3:21 AM

I can read C/C++ code about as well as I can read German. Bits and pieces make sense but I definitely don’t get the subtleties.

What’s eye bleachy about this beyond regular C/C++?

For context I’m fluent in C#/javascript/ruby and generally understand structs and pointers although not confident in writing performant code with them.

show 1 reply
snvzztoday at 4:45 AM

Instead of everybody switching to LibreSSL, we had the Linux Foundation reward OpenSSL's incompetence with funding.

We are still suffering from that mistake, and LibreSSL is well-maintained and easier to migrate to than it ever was.

What the hell are we waiting for?

Is nobody at Debian, Fedora or Ubuntu able to step forward and set the direction?

assanineasstoday at 3:55 AM

[dead]

hnmullany2today at 4:17 AM

[dead]