David A. Wheeler's Blog

Sun, 23 Nov 2014

Lessons learned from Apple goto fail

The year 2014 has not been a good year for the SSL/TLS protocol. SSL/TLS is the fundamental algorithm for securing web applications. Yet every major implementation has had at least one disastrous vulnerability, including Apple (goto fail), GnuTLS, OpenSSL (Heartbleed), and Microsoft. Separately a nasty attack has been found in the underlying SSLv3 protocol (POODLE). But instead of just noting those depressing statistics, we need to figure out why those vulnerabilities happened, and change how we develop software to prevent them from happening again.

To help, I just released The Apple goto fail vulnerability: lessons learned, a paper that is similar to my previous papers that focuses on how to counter these kinds of vulnerabilities in the future. In many ways Apple goto fail vulnerability was much more embarassing compared to Heartbleed; the goto fail vulnerability was easy to detect, in a portion that was a key part of its functionality. This vulnerability was reported back in February 2014, but there does not seem to be a single place where you can find a more complete list of approaches to counter it. I also note some information that doesn’t seem to be available elsewhere.

So if you develop software - or manage people who do - take a look at The Apple goto fail vulnerability: lessons learned.

path: /security | Current Weblog | permanent link to this entry