17 Comments

Summary:

Researchers have discovered a serious flaw known as Heartbleed that affects the security software that runs on about two-thirds of the servers on the internet and could expose user data, including passwords. Here’s what you need to know about it

It seems as though every week or so there’s a new hack or exploit that reveals millions of passwords or important data from a popular web service, and this week is no exception. On Tuesday, IT professionals got word of a serious flaw in OpenSSL — the browser encryption standard used by an estimated two-thirds of the servers on the internet. The flaw, which was dubbed “Heartbleed,” may have exposed the personal data of millions of users and the encryption keys to some of the web’s largest services. Here’s what you need to know:

What is Heartbleed?

It’s a bug in some versions of the OpenSSL software that handles security for a lot of large websites. In a nutshell, a weakness in one feature of the software — the so called “heartbeat” extension, which allows services to keep a secure connection open over an extended period of time — allows hackers to read and capture data that is stored in the memory of the system. It was discovered independently by a security company called Codenomicon and a Google researcher named Neel Mehta, both of whom have helped co-ordinate the response.

As cryptographer and Johns Hopkins professor Matthew Green describes it, the problem is “a tiny vulnerability — a simple missing bounds check — in the code that handles TLS ‘heartbeat’ messages. By abusing this mechanism, an attacker can request that a running TLS server hand over a relatively large slice (up to 64KB) of its private memory space” (if you’re interested, Green has more technical info about the details of the bug and potential hazards at his site).

The Heartbleed site set up by Codenomicon, which also has more technical information on the bug, calls it “a serious vulnerability… that allows anyone on the Internet to read the memory of the systems protected by the vulnerable versions of the OpenSSL software. This compromises the secret keys used to identify the service providers and to encrypt the traffic, the names and passwords of the users and the actual content.”

Screenshot 2014-04-08 19.51.54

As Tim Lee at Vox points out in his overview, the lock that you see in your browser’s address bar when you visit a website “is supposed to signal that third parties won’t be able to read any information you send or receive. Under the hood, SSL accomplishes that by transforming your data into a coded message that only the recipient knows how to decipher.” But researchers found it was possible to “send a cleverly formed, malicious heartbeat message that tricks the computer at the other end into divulging secret information.”

The Guardian says the vulnerability was introduced in 2011, apparently by accident when the open-source code was updated, and quotes Matthew Bloch of the hosting company Bytemark as saying: “it is not clear at the moment that there is any way to know whether [hacks based on the bug have] already happened, since the vulnerability has been around for two years.”

Why does it matter?

OpenSSL is used by an estimated two-thirds of the servers currently on the internet, and those known to be affected include most of Yahoo’s web properties, the dating site OKCupid and the image-sharing service Imgur, which handles a lot of the image-sharing on sites like Reddit (Yahoo said late Tuesday that it had patched most of the servers for its core websites). The weakness could allow a hacker to pilfer personal information about users of those sites, including login details, passwords and other important data. The Guardian says the bug means “servers vulnerable to Heartbleed are less secure than they would be if they simply had no encryption at all.”

Matthew Green says that unlike some of the fancier crypto-related attacks we’ve seen recently, “Heartbleed doesn’t require any interesting crypto. In fact it’s the result of a relatively mundane coding error. And predictably, this makes it more devastating than all of those fancy attacks put together.”

Ars Technica points out that OpenSSL is “by far the Internet’s most popular open-source cryptographic library and TLS implementation. It is the default encryption engine for Apache, nginx, which according to Netcraft runs 66 percent of websites.” The anonymity project Tor said in a note about the bug: “Expect everybody who runs an https webserver to be scrambling today. If you need strong anonymity or privacy on the Internet, you might want to stay away from the Internet entirely for the next few days while things settle.”

Who is affected by it?

According to a report in the Guardian, “among the systems confirmed to be affected are Imgur, OKCupid, Eventbrite, and the FBI’s website, all of which run affected versions of OpenSSL. Attacks using the vulnerability are already in the wild: one lets a hacker look at the cookies of the last person to visit an affected server, revealing personal information.” Amazon told The Register that it has dealt with some of the parts of its infrastructure that were vulnerable but still has work to do.

There’s a list of affected companies and sites on Github (as of mid-day Tuesday). The Wall Street Journal says that security researcher Ivan Ristic spent much of Monday creating a tool to test whether a website is affected and estimates that the bug affects 30 percent of servers that are using SSL. The Verge points out that one of the worst things about the Heartbleed weakness is that “it’s old — the bug dates back two years, and it’s still unclear how long anyone’s known about it.”

Codenomicon’s Heartbleed site says the company tested some of its own services from outside, as though it was an attacker, and found that “without using any privileged information or credentials we were able steal from ourselves the secret keys used for our X.509 certificates, user names and passwords, instant messages, emails and business critical documents and communication.” Google was reportedly unaffected, as were Twitter and Facebook.

Tim Lee at Vox points out that the bug is likely to be most valuable to intelligence agencies, which have the infrastructure to intercept user traffic on a mass scale: “We know that the National Security Agency has secret agreements with American telecommunications providers to tap into the Internet backbone. Users might have thought that the SSL encryption on websites such as Gmail and Facebook protected them from this kind of snooping. But the Heartbleed bug could allow the NSA to obtain the private keys needed to unscramble these private communications.”

What can you do about it?

If you are a web user, the short answer is not much. You can check the list of sites affected on Github, or you could try a tool from developer Filippo Valsorda that checks sites to see if they are still vulnerable (although false positives have been reported), and you should probably change your passwords for those sites if you find any you use regularly.

As mentioned by commenter Philip Tellis below, you could also check this SSL tool from SSL Labs, which will give you a report on each server behind a specific DNS address. And users should make sure that their browser checks to see if a security certificate has been revoked before connecting — Chrome has this disabled by default but it can be turned on in the settings.

If you are a network administrator or website manager, then you should already be applying the patch and/or recompiling your version of OpenSSL to remove the vulnerability — and you should also be reissuing your SSL security certificates and getting users to create new passwords. The problem is that doing all of this on every server and for every user and service is going to take some time.

As the Verge points out, “the most troubling lesson might be how hard vulnerabilities are to discover, and how damaging they can be once fully revealed.” ICSI security researcher Nicholas Weaver tells the site that the Heartbleed bug is the kind of thing that you would only be able to detect if you ran it through a sophisticated memory-checking test. “This is not the kind of thing that just shows up looking at the code.”

Post and photo thumbnails courtesy of Thinkstock / aetb

  1. Philip Tellis Tuesday, April 8, 2014

    Hi Mathew,

    You may want to add a link to https://www.ssllabs.com/ssltest/ which is the de-facto place to test your servers for SSL vulnerabilities. It has few advantages over Filippo’s tool, most particularly, the ability to handle more load, and the ability to give you a report on each server behind a DNS rotation.

    You may also want to mention that end users should make sure their browser actually checks Certificate Revocation Lists as by default Chrome has this disabled.

    Regards,

    Philip Tellis

    1. Thanks, Philip — both good suggestions. I will do that.

    2. Another epic fail by FOSS. I mean EEEEEEEEEEEEEEEEEPIC!!!

      Folks, time to get off that “better than proprietary software” bandwagon or whatever laughable myth these guys are preaching. Openness does not lead to quality automatically. Quality software is done by quality people that usually demand a nice pay that only proprietary firms can afford. As simple as that.

      1. You’re an idiot lol. Why do most the internet’s servers run on Linux? and most the supercomputers in the worlda re running Linux? cus it’s more secure, reliable and much better performing than the Proprietary crap out there…e.g. Apple and Windows! ;)

      2. Funny how larry doesn’t comment back when faced with facts that shows areas where OpenSource is the better open option, seems he must be a fanboy of some proprietary software that’s losing it’s market to OpenSource!

  2. Steve Hoffenberg Wednesday, April 9, 2014

    “..checks sites to see if they are still vulnerable (although false positives have been reported), and you should probably change your passwords for those sites if you find any you use regularly.”

    It only makes sense to change passwords for sites that were previously vulnerable but are no longer vulnerable, i.e. they’ve implemented the fix. No point in changing the password for any site that is still vulnerable, as the new password will be just as much at risk as the old one.

    1. Good point, Steve — thanks.

  3. Nitpick: there’s no such thing as a “DNS address”.

  4. Please make yourself be well aware of this Heartbleed bug. It recently tried to compromise my major nationally known bank account by creating a tab panel to come up once I was already logged into my account asking for my acct #, SSN, CVC #, birthdate, mother’s maiden name and card expiration date. If this happens to you, DO NOT fill it out. Close your session and call your bank immediately. Change your logon and password through your bank on the phone. Run a malware and anti-virus scan also. The bank would never ask for any or all of this information. Is this all people have to do with their time, is to steal from others? Identity thieves and hackers need life imprisonment. The abounding greed in this world is astounding.

  5. Cindy Efland Hale Wednesday, April 9, 2014

    Thanks for the heads-up frankbyers! And I totally agree with your last 3 sentences!!!

  6. John Herrmann Thursday, April 10, 2014

    Hey thanks, I’m just a really uninformed user of the net. This is the best article I’ve read about the problem. Thanks for the info and the links. Aside from a bit of additional info Great piece.

  7. Paranoid User Thursday, April 10, 2014

    Here’s a silly question – sites like Github (and others) get hit by large DDOS attacks on a regular basis. Any bets on whether those DDOS connections were really “super clever” attackers that were using the Heartbleed vulnerability to continually harvest the “SSL protected” traffic of other users?

  8. I understand that even SSL clients (which would include every browser, mail client, ssh etc) would also be vulnerable against a spoofed/bogus/phishing site which could read out the client’s memory

    Is there a test site (trusted!) for checking out clients, or better some Opensource server that tries just that and can whether my clients are affected?
    It often is not sufficient to just upgrade the openssl shared libs, because some clients may have statically linked SSL libs…

  9. Robert Cuppoletti Friday, April 11, 2014

    Heartbleed is not a bug. It’s the codeword for the NSA’s backdoor into OpenSSL …

    We never found out the codeword to NSA’s backdoor flaw into RSA’s HTTPS keys
    (That were almost entirely restricted to embedded devices: “firewalls, routers, VPN devices, remote server administration devices, printers, projectors, and VOIP phones” by design or coincidence?)

    Was Heartbleed outed by Edward Snowden?

    1. if snowden starts something , USA will not allow him on earth \; then he may need to consult other planets Delegates;;

    2. most likely NOT. But we can not be 100% sure ever that NSA did not know about this bug

  10. Emily Schminke Taege Monday, April 14, 2014

    Should I be worried about someone getting a hold of my credit card information? Is it recommended to request a new card from my bank? (And then, of course–not using that card on the internet unless I know the website I enter it into has taken action against the heartbleed bug)

Comments have been disabled for this post