Once a Forgotten Child, OpenSSL's Future Now Looks Bright
Trailrunner7 writes: Rarely does anything have a defined turning point in its history, a single day where people can point and say that was the day everything changed. For OpenSSL, that day was April 7, 2014, the day that Heartbleed became part of the security lexicon. Heartbleed was a critical vulnerability in the venerable crypto library. OpenSSL is everywhere, in tens of thousands of commercial and homespun software projects. And so too, as of last April, was Heartbleed, an Internet-wide bug that leaked enough memory that a determined hacker could piece together anything from credentials to encryption keys.
"Two years ago, it was a night-and-day difference. Two years ago, aside from our loyal user community, we were invisible. No one knew we existed," says Steve Marquess, cofounder, president and business manager of the OpenSSL Foundation, the corporate entity that handles commercial contracting for OpenSSL. "OpenSSL is used everywhere: hundreds, thousands of vendors use it; every smartphone uses it. Everyone took that for granted; most companies have no clue they even used it." To say OpenSSL has been flipped on its head—in a good way—is an understatement.
Heartbleed made the tech world realize that the status quo wasn't healthy to the security and privacy of ecommerce transactions and communication worldwide. Shortly after Heartbleed, the Core Infrastructure Initiative was created, uniting The Linux Foundation, Microsoft, Facebook, Amazon, Dell, Google and other large technology companies in funding various open source projects. OpenSSL was the first beneficiary, getting enough money to hire Dr. Steve Henson and Andy Polyakov as its first full-timers. Henson, who did not return a request to be interviewed for this article, is universally known as the one steady hand that kept OpenSSL together, an unsung hero of the project who along with other volunteers handled bug reports, code reviews and changes.
"Two years ago, it was a night-and-day difference. Two years ago, aside from our loyal user community, we were invisible. No one knew we existed," says Steve Marquess, cofounder, president and business manager of the OpenSSL Foundation, the corporate entity that handles commercial contracting for OpenSSL. "OpenSSL is used everywhere: hundreds, thousands of vendors use it; every smartphone uses it. Everyone took that for granted; most companies have no clue they even used it." To say OpenSSL has been flipped on its head—in a good way—is an understatement.
Heartbleed made the tech world realize that the status quo wasn't healthy to the security and privacy of ecommerce transactions and communication worldwide. Shortly after Heartbleed, the Core Infrastructure Initiative was created, uniting The Linux Foundation, Microsoft, Facebook, Amazon, Dell, Google and other large technology companies in funding various open source projects. OpenSSL was the first beneficiary, getting enough money to hire Dr. Steve Henson and Andy Polyakov as its first full-timers. Henson, who did not return a request to be interviewed for this article, is universally known as the one steady hand that kept OpenSSL together, an unsung hero of the project who along with other volunteers handled bug reports, code reviews and changes.
I pooped my pants due to heartbleed. Silly programmers.
Just wait until they find the NSA backdoors...
What in the fuck kind of summary did I just read?
Someone has to be shilling to post a summary like that one. The only future for OpenSSL is to be replaced over time by LibreSSL or another competitor.
OpenSSL.... yeah, right, whatever.
LibreSSL is the one that deserves all the credit and support.
With a smaller team and zero experience working with the codebase, LibreSSL has consistantly beat OpenSSL to the punch regarding ripping out trash, rendering and refactoring garbage into sanity, and fixing bugs.
OpenSSL should have been doing this all along but were just lazy, not competent, poorly organized, etc.
And now they just go all "we're a foundation now" and reap kudos from the world?
BAH, totally undeserving.
And all you're going to get is the same crap in the tarball instead of new original thoughts.
According to the link you posted, web servers running Wordpress AND a "pirated Linux version" (costing over $200 on disc) are required. I'd say that's a far cry from "just about any BSD or Linux server...is getting totally owned. Wouldn't you?
Exploiting vulnerabilities in Joomla and Wordpress, the first component is a generic backdoor that requests commands from its Command and Control server
Has nothing to do with SSL.
What's wrong OpenSSL, some rich corp switched to LibreSSL and stopped giving you pay checks?
OpenSSL is finished, period.
I said this before Heartbleed when everyone thought that OpenSSL was the best and the programmer who made it, gods. The code is crap. The variable names 70s style crap. The file structure crap. The multi platforming methodology crap. The function names crap. The API crap.
To call it spaghetti code is insulting to visual basic programmers everywhere.
To me this is like what people are realizing with many police departments; it isn't just a few bad apples. If the good apples condone the bad apples then they are all bad apples. It is the same with OpenSSL it was a shitty project before heartbleed and keeping anyone with the project from those days is just wrong. If they were programmers with the slightest sense of decency or capability they would have grouped together and forked the project.
Guess they have money riding on the story. Who else would pay for misinformation?
For you to do better ?.
Won't happen will it, because you can't.
Most of the forks have made stupid mistakes, N00B ones. OpenBSD's little screwups were particularly amusing.
Yes, the code is spaghetti, but it's based on standards that are an even worse pile of crap. I've seen OpenSSL equivalents from more modern languages, they aren't pretty either. Their API's ended up a mess as well because again, the standards they comply with are crap.
This isn't the typical twenty lines of application code sitting on MBytes of 'frameworks', this is the dirt that the frameworks run on, yes it's old, yes it's ugly, but it's also fast and reasonably maintainable, well, if you can actually program it is.
Having followed the commit logs of LibreSSL I'll have to ask what you count as 'reasonably maintainable', because what I've seen are some horrible examples of how to not code?
you need to get known by the higher managemant to advance. The easiest way to reach that state is to mess up in a way that creates sufficient attention.
Same thing here, just on a bit larger scale.
http://en.wikipedia.org/wiki/Succ%C3%A8s_de_scandale
guys, openssl has had remote shell exploits over and voer for years and nobody said anything, then this half assed heartbleed bug comes and everyone gets their panties in a bunch. you are a funny bunch.
OpenSSL is a monster of a library - complex, poorly written, barely designed, with an outrageous API which forces developers to carry out many of the chores that the library itself should do under the wraps. No, this is not good news. The fact that so much of the Internet security depends on this piece of junk is very bad news. The only good news would be for OpenSSL to be buried, once and for all, in a well-deserved and deep grave. Unfortunately, that is not going to happen any time soon - we'll be stuck with this sorry excuse for a library for a long time.
For those who don't know, OpenSSL Foundation is basically a for-profit scam designed to prevent bug fixes from getting into the OpenSSL code base so that they can charge fees for FIPS compliance work.
There's a great presentation from the LibreSSL team: http://www.openbsd.org/papers/bsdcan14-libressl/mgp00001.html
You can start to see why Heartbleed was bound to happen to the OpenSSL code base, and why there are likely to be more lurking issues there.
.
So how was the problem with OpenSSL solved?
Well, the same people, with their same ideas, who could not run a successful project in the past were given large amounts of money to run the project in the future. The summary for this thread reads more like a self-congratulatory press release from the OpenSSL people, rubbing in our faces that they managed to get money to continue their poor project management.
Until the refs royally screw up several big plays, including one at the end that makes the difference in a close game. Then they are no longer "invisible".
*) Feature: now nginx can be build with BoringSSL and LibreSSL. Thanks to Piotr Sikora.
If you're going to talk about deserving and especially with regard to our support, GnuTLS is actually the one.
LibreSSL, like OpenSSL, is just a way to keep X.509 entrenched. As long as we keep using a PKI where each identity is certified by only a single party, and you either completely 100% trust the cert or not, most of the Internet is going to remain vulnerable to MitM attacks. This has nothing to do with code quality and it isn't a slam against the implementors; it's that they are implementing a broken idea.
X.509 is fine for your corporate intranet, but is totally inappropriate for any situation where two parties don't share a common "master." We need to stop using it for the public Internet. GnuTLS at least provides a way for moving forward to the post-1980s Internet, whereas most other SSL libraries (LibreSSL included) are stuck with only being able to solve the problem as it existed many decades ago.
Why couldn't Henson even be bothered to respond to the request for an interview, much less be interviewed?
For fuck's sakes, man. You're now fully employed for OpenSSL. Would it kill you to do an interview?
Please help metamoderate.
The diffs are huge every single time, despite the releases being boring bug and security fixes. Things that shouldn't need more than twenty lines each.
% diff -rNU 0 openssl-1.0.1[lm]|wc
675635 2681760 21556437
Twenty-one megabytes. 675 thousand lines changed.
Here's the changelog between 1.0.1L and 1.0.1M, for two months of bugfixes:
Changes between 1.0.1l and 1.0.1m [19 Mar 2015]
*) Segmentation fault in ASN1_TYPE_cmp fix
[detailed descriptions snipped]
*) ASN.1 structure reuse memory corruption fix
*) PKCS7 NULL pointer dereferences fix
*) DoS via reachable assert in SSLv2 servers fix
*) Use After Free following d2i_ECPrivatekey error fix
*) X509_to_X509_REQ NULL pointer deref fix
*) Removed the export ciphers from the DEFAULT ciphers
Twenty-one megabytes for seven fixes. What the hell are they doing with their source code to create that much churn?
"Slow Down Cowboy! It's been 58 minutes since you last successfully posted a comment" -- slashdot, driving users away.
> every smartphone uses it
Uh, what about iPhone? Last I checked, that was a fairly popular smart phone, and it doesn't use OpenSSL!
The problem is that some of the design decision behind openssl are so aweful that some of the code review tools just don't work well to detect bug.
Hearthbleed has specifically resisted to valgrind, because the geniuses behind openssl had implemented they own memory management replacement functions in a way that is resistant to memory analysis.
The memory porblem went undetected.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
For the "many eyes" to work, there are quite few requirement.
Yes, being opensource is a requirement, but is not the single only requirement.
The code need to be actually readable and to attract users motivated to check it.
That wasn't the case. OpenSSL's code is known to be really crappy, with lots of bad decisions inside. Any coder trying to review it will have their eyes starting to bleed.
It doesn't attract people who might review it. It only attracts the kind of people who just want to quickly hack a new feature and slap it on the top, without having a look at what's running underneath.
The code need also to be reasonably accessible to code review tools.
Lots of reviewers don't painfully check every single last line of code by hand. Some use tools to do controls. OpenSSL has had such a series of bad decision in the past, that the resulting piece of neightmare is resistant to some types of analysis.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
You do not know how the assembly maps to uops in modern cpu
And someone cant take the time to figure it out?
I have been watching these hacking videos and watching the master piece of reverse engineering of the MAME/MESS team for many years. It is only a matter of time and knowledge.
And "time" points to the major difference. The MAME project tends to wait years after a game's release before emulating it. Server operators, on the other hand, expect to use a cryptography library on servers with new CPUs immediately.