The programmer responsible for creating the Heartbleed bug that affected millions of websites across the web has come forward to say that the flaw was a mistake and can “be explained pretty easily”.
Robin Seggelmann was working on the OpenSSL software that is used as encryption by major websites as part of his PhD when he amended a section of the code known as the “heartbeat”.
The "heartbeat" lets servers exchange brief messages with the user to check they’re still there. The user’s computer sends the server a randomly-chosen message (for example ‘coffee’) and its length (‘six characters long’).The server then returns this message to confirm that communications between the two are still working fine.
Seggelmann’s piece of code unfortunately created a loophole that let malicious users trick the server by claiming that their random message was as long as 64,000 characters. So, in the example above, the server sends back the word ‘coffee’ as well as tens of thousands of characters of potentially damaging information.
As far as hacking attacks go, exploiting Heartbleed would have been an imprecise and slow process, but if users requested enough slices of random information, sooner or later they’d find something sensitive.
“Catastrophic" is the right word," said security expert Bruce Schneier on the potential impact of the bug. "On the scale of 1 to 10, this is an 11."
Heartbleed was introduced to OpenSSl by Seggelmann on New Year’s Eve in 2011, but was only discovered this year by researchers from Google and a Finnish security group known as Codenomicon.
SSL stands for Secure Sockets Layer and is a type of encryption technology used in varying forms by websites to keep their users’ data secure. OpenSSL, the software that contained the bug, is an open source implementation of SSL, meaning that developers around the world contribute to and check its contents for free.
"I was working on improving OpenSSL and submitted numerous bug fixes and added new features," Seggelmann has told the Sydney Morning Herald. "In one of the new features, unfortunately, I missed validating a variable containing a length."
Seggelmann has admitted that the error was “quite trivial” but that its impact was “severe".
"It was not intended at all, especially since I have previously fixed OpenSSL bugs myself, and was trying to contribute to the project."
This admission may assuage those who have suggested that the flaw was introduced by intelligence agencies in order to snoop on the traffic, but as Seggelmann himself has said, just because the bug was a mistake doesn’t mean that it hasn’t been exploited by the likes of the NSA and GCHQ.
"It is a possibility, and it's always better to assume the worst than best case in security matters," said Seggelmann.