Finding More Than One Worm In the Apple 116
davecb (6526) writes "At Guido von Rossum's urging, Mike Bland has a look at detecting and fixing the "goto fail" bug at ACM Queue. He finds the same underlying problem in both in the Apple and Heartbleed bugs, and explains how to not suffer it again."
An excerpt: "WHY DIDN'T A TEST CATCH IT?
Several articles have attempted to explain why the Apple SSL vulnerability made it past whatever tests, tools, and processes Apple may have had in place, but these explanations are not sound, especially given the above demonstration to the contrary in working code. The ultimate responsibility for the failure to detect this vulnerability prior to release lies not with any individual programmer but with the culture in which the code was produced. Let's review a sample of the most prominent explanations and specify why they fall short.
Adam Langley's oft-quoted blog post13 discusses the exact technical ramifications of the bug but pulls back on asserting that automated testing would have caught it: "A test case could have caught this, but it's difficult because it's so deep into the handshake. One needs to write a completely separate TLS stack, with lots of options for sending invalid handshakes.""
Re:From whence the headline? (Score:2, Informative)
It's exactly the original title of the article which is:
"acmqueue - Finding More Than One Worm in the Apple"
Re:From whence the headline? (Score:4, Informative)
both these bugs would have been caught with fairly simple-minded static analyzers checking against well-known coding standards from a decade ago.
Except they wouldn't. Coverity out right stated that their static analyzer would not have caught the heartbleed bug.