The Heartbleed software bug is not only one of the most serious online security breaches in recent memory, it has also demonstrated how difficult it is for websites to tell their customers whether they’re at risk or not.

The Heartbleed Bug is a serious vulnerability in the popular OpenSSL cryptographic software library. This weakness allows stealing the information protected, under normal conditions, by the SSL/TLS encryption used to secure the Internet. SSL/TLS provides communication security and privacy over the Internet for applications such as web, email, instant messaging (IM) and some virtual private networks (VPNs). The Heartbleed bug 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. This allows attackers to eavesdrop on communications, steal data directly from the services and users and to impersonate services and users.

Heartbleed Bug

What leaks in practice?
We have tested some of our own services from attacker's perspective. We attacked ourselves from outside, without leaving a trace. 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.

How to stop the leak?
As long as the vulnerable version of OpenSSL is in use it can be abused. Fixed OpenSSL has been released and now it has to be deployed. Operating system vendors and distribution, appliance vendors, independent software vendors have to adopt the fix and notify their users. Service providers and users have to install the fix as it becomes available for the operating systems, networked appliances and software they use.

What versions of the OpenSSL are affected?
Status of different versions:

OpenSSL 1.0.1 through 1.0.1f (inclusive) are vulnerable
OpenSSL 1.0.1g is NOT vulnerable
OpenSSL 1.0.0 branch is NOT vulnerable
OpenSSL 0.9.8 branch is NOT vulnerable
Bug was introduced to OpenSSL in December 2011 and has been out in the wild since OpenSSL release 1.0.1 on 14th of March 2012. OpenSSL 1.0.1g released on 7th of April 2014 fixes the bug.

How about operating systems?

Some operating system distributions that have shipped with potentially vulnerable OpenSSL version:

Debian Wheezy (stable), OpenSSL 1.0.1e-2+deb7u4
Ubuntu 12.04.4 LTS, OpenSSL 1.0.1-4ubuntu5.11
CentOS 6.5, OpenSSL 1.0.1e-15
Fedora 18, OpenSSL 1.0.1e-4
OpenBSD 5.3 (OpenSSL 1.0.1c 10 May 2012) and 5.4 (OpenSSL 1.0.1c 10 May 2012)
FreeBSD 10.0 - OpenSSL 1.0.1e 11 Feb 2013
NetBSD 5.0.2 (OpenSSL 1.0.1e)
OpenSUSE 12.2 (OpenSSL 1.0.1c)
Operating system distribution with versions that are not vulnerable:

Debian Squeeze (oldstable), OpenSSL 0.9.8o-4squeeze14
SUSE Linux Enterprise Server
FreeBSD 8.4 - OpenSSL 0.9.8y 5 Feb 2013
FreeBSD 9.2 - OpenSSL 0.9.8y 5 Feb 2013
FreeBSD 10.0p1 - OpenSSL 1.0.1g (At 8 Apr 18:27:46 2014 UTC)
FreeBSD Ports - OpenSSL 1.0.1g (At 7 Apr 21:46:40 2014 UTC)

Q. How do I correct this issue in my Linux instance?
Update the OpenSSL package to the latest supported release that incorporates this patch.

Red Hat Enterprise Linux / CentOS / Fedora:
Connect to your instance using the associated key pair and user name.
Run the command sudo yum update openssl.

Ubuntu Linux / Debian:

Connect to your instance using the associated key pair and user name.
Run the command sudo apt-get update.
Run the command sudo apt-get upgrade.

SuSE Enterprise Linux (SLES):

By default, the 0.9.8 branch of OpenSSL is installed on SLES, so it is not affected by this vulnerability.

Q. How do I confirm the version of OpenSSL running within my instance?
Use the operating system's built-in package management tools to query the current release.

Red Hat Enterprise Linux:
Connect to your instance using the associated key pair and user name.
Run the command sudo yum info openssl.
The version displayed should be 1.0.1e-16.el6_5.7 or later.

Ubuntu Server 12.04 LTS / 13.10:

Connect to your instance using the associated key pair and user name.
Run the command sudo dpkg –s openssl.
On a Ubuntu Server 12.04 LTS the version displayed should be 1.0.1-4ubuntu5.12 or later.
On a Ubuntu Server 13.10 the version displayed should be 1.0.1e-3ubunt1.2 or later.
After the openssl package has been updated, you must restart any services that use these libraries. This can include Apache, nginx, etc. If in doubt, rebooting the operating system will force all services to use the updated libraries.

Exploitation of this bug leaves no traces of anything abnormal happening to the logs.

Wednesday, April 9, 2014

« Back