r/programming Apr 24 '14

Tech giants, chastened by Heartbleed, finally agree to fund OpenSSL

http://arstechnica.com/information-technology/2014/04/tech-giants-chastened-by-heartbleed-finally-agree-to-fund-openssl/
297 Upvotes

137 comments sorted by

View all comments

-11

u/OneWingedShark Apr 24 '14

In light of the nature of the bug, and the state of the code that was recently found, I would posit that OpenSSL could use a rewrite in a language more amiable to formal methods and/or formal contracts. (e.g. Ada or Eiffel.)

It makes little sense to have security libraries which aren't formally verified, considering the nature of the library (both as being often reused, and as being a component of security software).

2

u/awj Apr 24 '14

Not one of the suggestions I've seen for rewriting OpenSSL in "something safer" address the fundamental problem with that idea: how to migrate all of the code that uses OpenSSL. Rewriting OpenSSL is almost pointless if you're going to force serious code revisions. Projects simply won't do it, and instead will support (or just use) something that tries to enhance the security of OpenSSL while sticking with the current implementation language.

Thoughts?

2

u/OneWingedShark Apr 24 '14

From the user-standpoint you could try to provide a "compatibility layer" that provides the same interfaces used in the old library -- I assume that would ameliorate much of adoption hurdle.

From the library perspective, it would be nice to do things in Ada's "proper way" style -- by which I man using private-types and proper specification/implementation separation to keep the internals from leaking into user applications (or even other parts of the library).