Worried about security in the cloud? Fret over this instead: Last month, a hacker surfaced who claimed he can sell access to more than a dozen government, military and university websites — all cracked easily because of bad programming.
Consider whose websites were hacked and offered for sale to thieves for less than $500 each: the states of Michigan and Utah. And the South Carolina National Guard. And government agencies in Italy and Albania. And, maybe most disturbing of all, the US Army's Communications-Electronics Command, which does software engineering for battlefield systems. These guys really should be getting their programming right.
Oh, it gets worse. The hacker almost certainly hijacked the sites by using a pair of tricks that have been around seemingly forever: SQL injection and buffer overflow. Those attacks don't require an expert black hat, just a script kiddie with some time to kill.
And those attacks are easy to prevent; programmers just have to set things up so that the system makes sure any input to a website is valid. If a form asks for a name and the input turns out to be a snippet of SQL code or 5,000 binary bytes, it should be rejected — not passed on to a back-end database.
But validating input requires a little extra code that slows down Web servers just a little bit. As a result, many programmers and most programming tools don't do it automatically because, hey, faster is better, right?
That's been the mantra of the IT industry for 50 years. And it's been a curse to almost everything else of value in IT. Security? Reliability? Flexibility? Maintainability? They've all been sacrificed in favor of cheap little tricks that make things run faster.
That's not a coincidence. It's a philosophy, one that infects everyone from programmers and network admins in your IT shop to educators, software and hardware vendors and, yes, cloud vendors too.
After all, the faster the servers run up in the cloud, the more customers the cloud vendor can handle at the same cost. When your profit all turns on efficiency, speed is money.
Security? That's expensive. And you can bet it won't be more of a priority to a cost-cutting cloud vendor — whose standard contract probably includes an uptime guarantee but no security-vetting clause — than it ever was in your own datacentre .
You can't change that "faster ber alles" philosophy. So if you want security in the cloud, you'll have to force the issue. You'll have to get some security guarantees written into your contracts, including provisions that allow you to do security testing on your own cloud-based applications.
Then you'll have to reinvest some of your savings from going to the cloud into doing that security testing. Hire some "ethical hackers" to hammer on your cloud applications, trying to break them, hijack them or find ways inside them. Then keep bringing them back periodically to hammer away again —remember, the cloud is all about constantly moving applications around. What's safe today may be insecure next month.
Does that sound over the top? Maybe, but it's the only way for you to validate security in the cloud.
And if you don't do it, you can be pretty sure that sooner or later, some hacker will find you.
Frank Hayes has been covering the intersection of business and IT for three decades. He can be contacted at firstname.lastname@example.org