I have a good idea what you spent the last week and a half doing: putting out Heartbleed fires. But don't stop now! Keep that momentum going for just a bit longer. Let me explain why.
The simple explanation is that Heartbleed was a nasty one. The vulnerability was in OpenSSL, a system library that nearly every piece of networked software relied on. Not only that, but it was used on nearly every network server we might connect to. And not only that, but it had a remote exploit that could render real business-sensitive data to attackers.
In other words, Heartbleed took all the ingredients for a massive migraine and packed them into one little bug. Now, let's do just a bit of a post-mortem and see if there are some opportunities for improvement.
First of all, why is this one such a big deal? We've had other network software zero days before and we've survived those just fine. Well, for one thing, OpenSSL isn't just a piece of network software; it's a library. Any software that was statically linked with the OpenSSL library inherits all of OpenSSL's problems. Let's hear it for dependencies!
Now, in terms of putting out the fires, you should probably have a checklist. Start with fixing OpenSSL itself. Then rebuild (or otherwise update) all the software on your system that was dependent on OpenSSL. What, you don't have a list of those? Uh-oh. Then rebuild everything. Not feasible? OK, now you're getting the picture of just how big a deal Heartbleed was and is.
And that's not even where it ends. You should probably change your password on any third-party Web and mobile apps you use. In fact, many of them have probably been forcing you to do just that. Then there's the actual data that may have gotten breached on any of those systems. Are you concerned about the credit card numbers you left on those systems? You should be.
We're going to be cleaning up after Heartbleed for a long time to come. The direct and indirect impacts of this kind of bug are big, and they don't just go away by updating one piece of software like OpenSSL.
But I said we should look for things we can do to improve. What I'm talking about are things that should make things a little easier should we face another widespread security defect in code like OpenSSL.
Clearly, what made Heartbleed such a heartache for so many people is that so much software is dependent on OpenSSL. One thing I often find lacking in terms of security management is an up-to-date inventory of system dependencies. On any given mission-critical system, it's vital to know not only what software is on that system, but all of its dependencies. This should start with libraries with which the software was linked during its build, but continue on to all of the software frameworks that were used to build the software.
Sign up for Computerworld eNewsletters.