Hi all,

Critical info on OpenSSL / Heartbleed bug - Y O U ARE vulnerable. You are most likely vulnerable if you run servers. However, you are almost certainly vulnerable if you USE servers, as a consumer ... in other words, if you log into ANYTHING. This post was inspired by a discussion on the DC404 security group, then by a podcast I heard on the subject, then by some research I did on it. I've posted this same info over on DC404.

-----

I had observed this discussion on the OpenSSL / Heartbleed issue. I found it interesting, but I figured, I'm not running any servers, so I'm not too concerned. Then, a podcast I listen to did a show on the topic, and I heard that Lastpass had some things to say on the subject. Then, I started thinking, this may affect me as a consumer. Then, I started researching it more and more, and what I found concerned me greatly. The bottom line, if I'm understanding this right, is that consumers who know about this and who care, which will be few, should probably change their passwords on EVERY site they care about, but ONLY after the site has patched its software and revoked and replaced their security certificates. I have a dialog ongoing with Lastpass tech support to try to determine what the danger is by logging into various accounts, like my bank, before the site has been updated. I'll try to share the research I've done. Big caveat, much of this is over my head. I can only share what I've read and you guys will, no doubt, be able to understand the implications better than I. This gets a little long, but I think the information is good.

The documentation at the heartbleed.com site that was already mentioned is very good. Here are some quotes from it, but I'd recommend reading the whole thing. Note, I am not quoting the entire site here.

"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."

"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."

"Encryption is used to protect secrets that may harm your privacy or security if they leak. In order to coordinate recovery from this bug we have classified the compromised secrets to four categories: 1) primary key material, 2) secondary key material and 3) protected content and 4) collateral."

"What is leaked primary key material and how to recover?
These are the crown jewels, the encryption keys themselves. Leaked secret keys allows the attacker to decrypt any past and future traffic to the protected services and to impersonate the service at will. Any protection given by the encryption and the signatures in the X.509 certificates can be bypassed."

"What is leaked secondary key material and how to recover?
These are for example the user credentials (user names and passwords) used in the vulnerable services. Recovery from this leaks requires owners of the service first to restore trust to the service according to steps described above. After this users can start changing their passwords and possible encryption keys according to the instructions from the owners of the services that have been compromised. All session keys and session cookies should be invalided and considered compromised."

"What is leaked protected content and how to recover?
This is the actual content handled by the vulnerable services. It may be personal or financial details, private communication such as emails or instant messages, documents or anything seen worth protecting by encryption. Only owners of the services will be able to estimate the likelihood what has been leaked and they should notify their users accordingly."

"What is leaked collateral and how to recover?
Leaked collateral are other details that have been exposed to the attacker in the leaked memory content. These may contain technical details such as memory addresses and security measures such as canaries used to protect against overflow attacks."

"Am I affected by the bug?
You are likely to be affected either directly or indirectly. OpenSSL is the most popular open source cryptographic library and TLS (transport layer security) implementation used to encrypt traffic on the Internet."

(Ron speaking here, the following three items are very important.)

"Can I detect if someone has exploited this against me?
Exploitation of this bug leaves no traces of anything abnormal happening to the logs."

"Has this been abused in the wild?
We don't know. Security community should deploy TLS/DTLS honeypots that entrap attackers and to alert about exploitation attempts."

"Can attacker access only 64k of the memory?
There is no total of 64 kilobytes limitation to the attack, that limit applies only to a single heartbeat. Attacker can either keep reconnecting or during an active TLS connection keep requesting arbitrary number of 64 kilobyte chunks of memory content until enough secrets are revealed."

So, the bug which has been around for 2 years, allows an attacker to:

* Attack the vulnerable site
* Leave no trace of it
* Repeatedly download 64K chunks of memory
* Attack again and again later with no trace
* Decrypt any past and future traffic to the protected services (if keys are lost)
* Impersonate the service at will (if keys are lost)
* Steal user credentials (user names and passwords)
* Impersonate the users at will (if user names and passwords are lost)
* Steal user content such as emails or instant messages, documents
* Observe things such as memory addresses and security measures such as canaries

This is VERY ugly. I know many of you in the security industry are already taking steps to remediate your servers. But, for those that haven't taken this seriously, please do so. However, you may not realize the impact on your users, nor the responsibility to inform all those users.

This page clearly indicates that the bug allows the potential theft of user names and passwords right out of the computer's memory. It also clearly says that the vulnerable services should remediate their servers then provide instructions to the users as to what to do.

As a consumer, this worries me substantially. A large majority of all the websites I log into with names and passwords may be vulnerable, and if history is any example, many will NOT be patching it quickly. It seems to me, that every time I log into one of those that haven't patched, I have a good probability of getting my password stolen, as the bad guys will now be targeting the banks and the isp's and the social networks that we log into, since they'll have a window of opportunity until all the systems are patched.

I can envision several scenarios and status levels and my interpretation of the results:

a) SERVER was vulnerable but ISN'T VULNERABLE now because it was patched, CERTS are UPGRADED. - My current and future data is safe. The old certs, my user name and password, and prior communications and documents may have already been stolen. Old recorded communications could be cracked without perfect forward secrecy. I should change my password now.

b) SERVER was vulnerable but ISN'T VULNERABLE now because it was patched, CERTS are OLD. - My current and future data is NOT safe, since the certs could have been stolen. Bad guys could decrypt data or impersonate the site. I should wait to change my password until the cert is upgraded. In the mean time, it sounds like I shouldn't even log in to the sites. This is what I'm trying to get some clarity on.

c) SERVER was vulnerable and STILL IS VULNERABLE, CERTS are UPGRADED.
- Upgraded certs are meaningless since the system can still be attacked. Implications are the same as b) above except that I should wait until the server is patched AND the certs are upgraded to change my password.

d) SERVER was vulnerable and STILL IS VULNERABLE, CERTS are OLD.
Implications are the same as b) above except that I should wait until the server is patched AND the certs are upgraded to change my password.

The bottom line for me as a consumer, is that, if the server was EVER vulnerable, I should change my password. The only question is when the server and certs will be upgraded so I can do so.

You may note that I didn't mention a whole selection of permutations where the server was never vulnerable. This is very hard for the consumer to know, unless the site has publically stated that they never were vulnerable. You can deduce that they may not have been vulnerable if they are running all MS server software, but that is very hard for the consumer to determine.

So, as a consumer, I have to assume that I have to change EVERY password for EVERY site that I connect to, but only after potentially MONTHS of testing them repeatedly to determine if they've patched their servers and upgraded their certs. I may make exceptions for the ones Lastpass says are safe, as described below.

Here's some data from SSL Labs, which has a server test utility (which runs from the website) available for free on their website.

https://www.ssllabs.com/
https://community.qualys.com/blogs/securitylabs/2014/04/08/ssl-labs-test-for-the-heartbleed-attack

Here are some of their comments:

"Your server is probably vulnerable if it's running any version in the OpenSSL 1.0.1 branch. If you'd like to verify if you're vulnerable, today I released a new version of the SSL Labs Server Test. I went through a lot of effort to implement a test that verifies the problem without retrieving any bytes from the server, other than the bytes we send in the heartbeat request. So it should be safe to use. Despite the availability of the test, if you can identify the library version number, I would urge to assume that you are vulnerable, even if the test is not showing a problem."

Here's a link to their server test:

https://www.ssllabs.com/ssltest/index.html

The Lastpass blog has been talking about the issue:

http://blog.lastpass.com/

A specific post about the bug:

http://blog.lastpass.com/2014/04/lastpass-and-heartbleed-bug.html

This text is particularly interesting:

"Because other websites may not be encrypting data the way LastPass does, we recommend that LastPass users generate new passwords for their most critical sites (such as email, banking, and social networks) if those sites utilize Apache, Nginx or show as vulnerable to the Heartbleed bug. However, users should wait until their sites have replaced their certificates, with a start date after today (April 8th, 2014)."

Now, I'm asking myself, what are my critical sites? If I've gone to the trouble to input 80+ passwords into Lastpass, are they not critical? I think a better way to say that is change the passwords on any site that you don't want someone breaking into your account on.

Lastpass' Heartbleed checker is here:

https://lastpass.com/heartbleed/

They seem to be just checking for the server name and cert dates and comparing that to the date of the bug. You can also get a check on your personal sites by using the tools / security check function from Lastpass. However, this didn't seem to be giving status on all my sites, so it may just flag the ones with known vulnerabilities.

I think I'm going to test every site manually that I have stored in Lastpass. I think the SSL Labs test is better, in that he actually simulates an attack, rather than trying to infer vulnerability. However, the Lastpass test does provide valuable data in that it shows when the cert was updated.

Let's take some examples:

-----

Here's what I get when I put suntrust.com into the SSL Labs checker. By the way, www.suntrust.com is a different ip:

"This server is not vulnerable to the Heartbleed attack. (Experimental)"

That's good to know.  But, still no way to know if it WAS vulnerable.

Here's what I get  when I put suntrust.com into the Lastpass checker:

Site:   suntrust.com
Server software:        BigIP
Was vulnerable:         Possibly (might use OpenSSL)
SSL Certificate: Possibly Unsafe (created 3 months ago at Jan 7 02:57:42 2014 GMT)
Assessment:     Wait for the site to update before changing your password


Note that the cert is 3 months old, and I'm being advised to wait and change my password. But, what the heck do I do until then?

-----

Here's what I get when I put wellsfargo.com into the SSL Labs checker:

"This server is not vulnerable to the Heartbleed attack. (Experimental)"

Here's what I get  when I put wellsfargo.com into the Lastpass checker:

Site:   wellsfargo.com
Server software:        KONICHIWA/2.0
Was vulnerable:         No
SSL Certificate:        Safe (regenerated 7 months ago)
Assessment: This server was not vulnerable, no need to change your password unless you have used it on any other site!


This is interesting. It says it never was vulnerable and I don't have to change my password. Not sure how they know that, unless it's based on the server software in use.

-----

Here's what I get when I put bankofamerica.com into the SSL Labs checker:

"This server is not vulnerable to the Heartbleed attack. (Experimental)"

Here's what I get  when I put bankofamerica.com into the Lastpass checker:

Site:   bankofamerica.com
Server software:        BigIP
Was vulnerable:         No
SSL Certificate:        Safe (regenerated 4 months ago)
Assessment: This server was not vulnerable, no need to change your password unless you have used it on any other site!


Never was vulnerable, apparently.

-----

You get the idea. This is how I'm going to check my sites, and it will be a pain in the rear to go through them all. You can do the same if you wish to your sites. By the way, Yahoo and Github WERE vulnerable according to Lastpass. You should change your passwords if you use those sites.

Hope the info is helpful.

Sincerely,

Ron


--

(PS - If you email me and don't get a quick response, you might want to
call on the phone.  I get about 300 emails per day from alternate energy
mailing lists and such.  I don't always see new email messages very quickly.)

Ron Frazier
770-205-9422 (O)   Leave a message.
linuxdude AT techstarship.com

_______________________________________________
tech-chat mailing list
[email protected]
http://lists.linuxmoose.com/mailman/listinfo/tech-chat

Reply via email to