Have you ever forgotten a password for some service that you’ve signed up for and then needed to click on the “forgot my password” link? After providing some identifying information and perhaps answering some challenges, you’ll have your password reset.
I’ve seen the password reset operation (that last step) happen a few different ways:
· You’ll be asked to type in a new password and confirmation
· You’ll be sent a new password from the service
· The service will send you your forgotten password – *OUCH*
Why does the last method hurt? Well, first of all it means that the service actually has a database of user passwords stored somewhere. A breach of that database will reveal your password to adversaries. But that’s OK because it’s only the password to the service so the damage will be limited… right?
You know as well as I do that this isn’t the case and the government is now painfully aware of it. The recent Gawker hack has compiled a collection of federal, state and local government email addresses and passwords for future attacks. The hackers know that many people use the same password for many different services as they were quoted (grammar intact) saying to their community – “These people more than likely use the same pass everywhere. Try to gain access to the @email STMP using the email/pass combination also google their email address to find other accounts on the inernet [sic] they may have and try their password with said accounts.” (see http://fcw.com/articles/2010/12/13/gawker-hack-may-put-government-workers-at-risk.aspx?s=fcwdaily_141210)
Even without being hacked, it is very disturbing to know that some service providers actually have access to your password and therefore also have your password to many other services. You might want to check the fine print on your online banking agreement and ask yourself whether they’d consider that you’ve “safeguarded” your banking password by giving it to someone else. Essentially that is what you are doing when such a service stores it in a database regardless of how carefully you protect it.
The practice of maintaining databases of user passwords is not limited to the security-ignorant web service provider. Shamefully, there are security device vendors out there that are doing the very same thing for their device recovery service. There is nothing special about a password to a USB device that makes it any less likely to be used for other things.
There is an easy test to figure out if your deployment of security devices has a password database on the back end. Just request a password reset and see what happens. If in the end you get your “forgotten” password sent to you, then the answer is clear. Your best course of action in this case is to change the password wherever it is used for other services and don’t use your device password for anything else that you really need protected.
For more related thoughts see my other post on web logins (http://www.mxisecurity.com/blog/cto/2009/10/21/how-about-opt-in-certificate-web-logins/)