There's big trouble in the world of information security, and yet it seems that only a handful of us techies have noticed. What's the problem, you ask? Well, there are actually several problems, but they're all related to one very important issue: public trust. Let's take a look.
The first problem cropped up a few months ago when some miscreants succeeded in compromising a pile of RSA's SecurID tokens, rendering many devices vulnerable to serious attack. That attack caused RSA to undertake a costly replacement of many tokens for its customers. It was also reported to be the key enabler for additional attacks against some of those customers.
More recently, there have been a few attacks against some commercial certificate authorities (CA) such as DigiNotar in the Netherlands. That one resulted in the attackers generating hundreds of forged SSL certificates purporting to be from Microsoft, Google and many others.
What do these things have in common, and why should we be so concerned about them? They erode the confidence of some pretty important security infrastructures. In the cases above, which are just a few among many we've seen lately, the products involved are used by thousands and thousands of companies and individuals.
The situation with SSL certificates is even more dire. They are used by millions of people. Indeed, every browser on the planet that can connect to an encrypted site uses SSL, and the certificates form the hierarchical basis of that trust.
SSL certificates need to be signed by a CA. Our browsers and operating systems come with a set of trusted "root CAs." Any SSL certificate signed by a trusted root CA is itself trusted.
So the problem when someone is able to successfully attack a CA is that our basis of trust is compromised, making possible a man-in-the-middle attack, among other things. And that's exactly what reportedly happened to hundreds or thousands of Google Mail customers in Iran. Their "trusted" connections to Google Mail have potentially (or actually) been compromised, exposing their login credentials to the attackers, or worse.
There are some short term responses that need to be done of course, and by and large they are being properly pursued. The DigiNotar CA organisation has now effectively been disabled for any computer that has been updated by Microsoft, Apple, etc. Any SSL certificate signed by DigiNotar should now be unworkable.
But that's really not where my primary concern lies. I have strong confidence that the various operating system and browser vendors will quickly patch their products. It's the longer-term issues that are more troubling to me.
My concern is that public trust in vital infrastructures is being severely eroded. That public trust is the real victim of these attacks. If people and companies feel they can no longer use their systems securely, the trickledown impact can be enormous. It's not likely something we'll notice immediately. The patching and such will be taken care of in an orderly manner. The trust erosion is something that will play out over time, and it can have a crippling effect on our systems. I hope I'm proved wrong on this.
Because of this, operators of public trust systems such as CAs have a greater burden of security that they simply must practice. Things like patch management, secure configurations and application security are considered to be important to normal companies, but they're even more important for systems involving the public trust.
As consumers of these products, we must not accept anything less than extreme care with these public trust systems. Failures there are costly in long term ways. I've even seen some declarations of "the death of SSL" as a result of these recent attacks.
So what sorts of things should we ensure are in place with our public trust infrastructures? Certainly, they should all follow best practice approaches in all their security processes and procedures. They should also undergo mandatory and detailed audits of their security. Personally, I want the results of those audits to be openly available.
Now, when I say "audits" in this context, I am talking about significant scrutiny, down to source code analysis of the applications in use.
I know that much of what I'm saying here is already in place for registered CAs and such, but clearly there have been failures in the recent attacks I cite. I hope that in the response to these attacks the root causes of the failures are carefully studied and analysed, and the results become publicized so that we may all benefit from that knowledge.
We all want our systems to be sufficiently trustworthy so that we can put our most important business systems on the Internet. To continue to do that, our security infrastructures simply must be the best of the best. Failing to do that will exact a high price on the public trust, one that the economies of the world shouldn't have to overcome in today's harsh climate. We must do better.