Live data from Hacker News

OpenSSL is written by monkeys (2009)

peereboom.us

111–120 of 188 posts

Re: OpenSSL is written by monkeys (2009)

#111
post #47

Why is this so hard? I'm honestly curious to know. The theory is extremely well laid out, i.e. it's just number theory. We know to do stuff in a way that avoids side-channel attacks, i.e. try not to leak power usage when you're exponentiating, etc. Why do people keep using the awful mess that's openssl?

It's not just number theory; it's a web of interlocking state machines implementing the TLS protocol, which itself depends on a variety of different marshalling formats for the number theoretic parameters, built on the shifting sands of optimizations for different machines, all evolved over the the course of ~15 years, starting from a package that was, literally, Eric Young's "teach myself C" project.

Ok, I can see the interlocking state machines introducing complexity that is unavoidable but the rest of it just seems like self-inflicted nonsense. I'm more than willing to take a performance hit and have a correct implementation that is easy to reason about in some high level language than one that every other week is shown to be broken because of some dangling pointer in some patch committed 2 years ago. I don't think I'm the only one with this opinion. I'm sure many others would take the performance hit just so they could have the piece of mind that the underlying crytopgraphic library securing their application's data is actually formally verified. The best part about the high level implementation is that it will only get better over time because of improvements in compiler technology.

I'm not much of a conspiracy theorist but this one seems too well placed to be an accident and as long as people can't reason about the mess that is openssl stuff like this is gonna continue to slip in. We have formally verified browser kernels but yet we can't have something as fundamental as SSL/TLS be formally verified. The formally verified browser kernel: http://goto.ucsd.edu/quark/.

Edit: My google foo is very weak these days. Trending story is https://github.com/vincenthz/hs-tls, an implementation of SSL/TLS in Haskell.

Re: OpenSSL is written by monkeys (2009)

#112
post #106

Earlier quoted context omitted.

That doesn't make any sense.... even if you don't trust a CA at all, it is impossible for a self-signed cert to be MORE trustworthy, since it provides absolutely ZERO authentication. It could be created by anyone at all, including on the fly by a MITM.

Maybe he is saying by removing trusted root certificates he will trade the possibility of receiving a fraudulent certificate the first time he uses a site for the possibility of not being warned if a certificate changes because the trusted roots are compromised. If he needs to worry about state actors there is an argument to be made for this trade-off, but really if he was worried about that he would be delivering ce…

Yes, verifying certs out-of-band is most likely more secure than a CA. I was not counting that in the self-signed cert vs CA signed cert comparison, since that is not what most people mean when they talk about a self-signed cert.

Re: OpenSSL is written by monkeys (2009)

#114
post #46
post #33

Earlier quoted context omitted.

Can you MITM public wifi? Real question, but I thought the answer was "no", which would make public wifi a compelling counter-example.

Yes. You arp poison the default gateway and route traffic through your own host instead.

Or spoof DNS responses to point to a machine under your control.

Re: OpenSSL is written by monkeys (2009)

#115

Adobe's Flash Player used OpenSSL on Linux for a long time, but eventually switched to NSS because the OpenSSL project would repeatedly break their library ABI without changing version numbers. The OpenSSL developers said that a stable ABI was a non-goal of theirs. (Disclosure: I was an engineer on Adobe's Flash Player team.)

We had the same issue with KDE, pretty sure Qt did too.

Re: OpenSSL is written by monkeys (2009)

#116
Article raises a good point.

Seeing this repeated 50+ times made me cringe though

    if ((req = X509_REQ_new()) == NULL)
        ERROR_OUT(ERR_SSL, done);
seriously..

also, writing new code and not using Rust, or D, or even C++. WTFs like the above are par for the course when you're writing in a 40 year old language without any features of modern low-level languages.

Re: OpenSSL is written by monkeys (2009)

#117

Earlier quoted context omitted.

If there's something more to Tumblr, I wouldn't know, and there is no reason to assume I would. "This guy says something I associate with racism so he's racist. I say something you associate with Tumblr and there's NO REASON TO ASSUME I KNOW ANYTHING ABOUT TUMBLR". nknighthb, meet double standards. Double standards, nknighthb.

The trope is universal and deeply embedded in American society. It is not surprising that someone apparently from the UK would not realize this. It is surprising that a non-American is so eager to force their own cultural context onto an American issue. Isn't that a very American thing to do?

> The trope is universal and deeply embedded in American society.

No, it's not. Quit trying to pass yourself off as the ambassador of American culture. The majority of my 50 years on this earth have been spent living in the Midwest or U. S. South, neither of which are exactly hotbeds of racial tolerance and likely the origin of any racial slur you'll hear. And yet when I saw the title it never occurred to me to think of race at all. That is, until your comment showed up and I said to myself, "what the hell is he talking about?"

Sure, there are some racial slurs that involve the word "monkey". But they're not even close to what you're talking about, and if one were to use them one would come off sounding about 76 years old.

Re: OpenSSL is written by monkeys (2009)

#118

Why is this so hard? I'm honestly curious to know. The theory is extremely well laid out, i.e. it's just number theory. We know to do stuff in a way that avoids side-channel attacks, i.e. try not to leak power usage when you're exponentiating, etc. Why do people keep using the awful mess that's openssl?

What is the alternative?

https://github.com/vincenthz/hs-tls

Re: OpenSSL is written by monkeys (2009)

#119
post #104
post #15

Earlier quoted context omitted.

This might be intended. Supporting SSL is better than not supporting it (well, except in situations where an OpenSSL bug could leak your server's memory, but that's a bit of a stretch " rel="nofollow">http://filippo.io/Heartbleed/#www.peereboom.us> -- but put this aside), because it's always better to encrypt traffic even in a way vulnerable to passive attacks; and some people may reasonably opt-out of the SSL CA bus…

I use(d) free StartSSL for my hobby projects too. So I wanted to revoke my certificates today, post heartbleed and stuff. They charge $25 to do the right thing and revoke your cert. So I will not use them again. Edit: Btw. That's per fucking subdomain , as you don't get wildcard certs for free. Going back to self signed I guess...

I put the CVE id in my "reason" and it went through with no charge.

Re: OpenSSL is written by monkeys (2009)

#120
post #119
post #104

Earlier quoted context omitted.

I use(d) free StartSSL for my hobby projects too. So I wanted to revoke my certificates today, post heartbleed and stuff. They charge $25 to do the right thing and revoke your cert. So I will not use them again. Edit: Btw. That's per fucking subdomain , as you don't get wildcard certs for free. Going back to self signed I guess...

I put the CVE id in my "reason" and it went through with no charge.

Gotta try that after i catched some sleep. Got no reply from them on twitter. I'd expect them to an annouce this officialy though.
Post reply on HN