What is Heartbleed?
Researchers discovered a vulnerability in OpenSSL, one of the most commonly used crytopgraphic protocols for protecting web traffic.
The vulnerability is found in the ‘heartbeat’ extension of the Transport Layer Security (TLS) protocol that allows a session to be kept alive.
CVE-2014-0160 – OpenSSL TLS ‘heartbeat’ Extension Information Disclosure Vulnerability
VU#720951 – Open SSL heartbeat extension read overflow
An attacker can spoof the information sent in a heartbeat payload and the server will send back adjacent data from memory – up to 64KB. For example, the attacker may send a payload of 1 kilobyte in size, state the payload size as 64 kilobytes, and the system will return the payload plus 63 KB from memory.
The vulnerability has existed for about 2 years — which means it may have been exploited without detection.
Read more on the Heartbleed website: http://heartbleed.com/
How do I test my sites?
1) Qualys SSL Labs has an online tool to check SSL compliance and will report whether a website is currently vulnerable to Heartbleed attacks. The “Protocol Details” section of the results also shows support for forward secrecy.
2) Tripwire Free Vulnerability Scanner – https://www.tripwire.com/securescan/
What Actions should we take?
- If you use Linux, Apache, Nginx — and are using OpenSSL 1.0.1 through 1.0.1f – you should update to the latest fixed version of the software (1.0.1g), or recompile OpenSSL without the heartbeat extension
- If a server exhibited the vulnerability you may want to consider revoking and replacing your certificates
- Users should change passwords after sites they use confirm they have patched the vulnerability
- Consider notifying users and require them to change their passwords after the defect has been patched and certificates have been replaced
What Companies were affected?
Most web servers using OpenSSL were affected. A sampling of well-known sites that had the vulnerability:
- Companies using Amazon Web Services (AWS) Elastic Load Balancing SSL termination http://aws.amazon.com/security/security-bulletins/heartbleed-bug-update/
- LastPass – http://blog.lastpass.com/2014/04/lastpass-and-heartbleed-bug.html
- Yahoo
- Certain Loadbalancer Versions – http://support.f5.com/kb/en-us/solutions/public/15000/100/sol15159.html
- CloudFlare (all sites served)
- Akamai
- Netflix
- Foursquare
- Evernote
- Zoho
- GitHub – https://github.com/blog/1818-security-heartbleed-vulnerability
What may have mitigated some site risks.
1) Perfect Forward Secrecy (PFS) enabled (server and client)
2) Microsoft IIS and Windows OS were not vulnerable as they do not use the OpenSSL library
Confirmation of the exploit
The Cloudflare team set up a nginx server with a vulnerable version of OpenSSL and challenged the community to steal its private key. The world was up to the task: two people independently retrieved private keys using the Heartbleed exploit.
Results of the Cloud Flare Heartbleed Challenge
Technical details of the actual fix in OpenSSL Source Code
OpenSSL Heartbeat extension Bounds Check