World-renowned IT security expert Bruce Schneier is a friend of mine. He's worked extensively with my fiance, Sean Rooney, on a couple of projects. So, beyond my career-related need to keep up with the latest IT security news, I also read Schneier's website periodically the way people look at their friends' pages on Facebook. "What's he up to lately? What's on his mind?"
On January 27th, he posted something that intrigued me. Banks are pressuring Microsoft to continue Windows XP support, because they still use the OS with their ATMs.
That shocked me because I ignorantly assumed, considering how data-sensitive ATMs are, they'd exclusively use UNIX or Linux kernels.
I must note that all of the opinions I'm expressing in this article are entirely my own. The security or insecurity of Microsoft products is a hot-button issue in my field. Based on many years of direct experience, I hold Microsoft in very low esteem when it comes to vulnerabilities in code.
As of this writing, Windows XP was released twelve years ago, positively ancient by OS standards.
A document about XP vulnerabilities that still exist would require at least a thousand page book to cover properly, so I'll just give you a "Coles Notes" version, focusing on a few that can pose a special threat to ATMs.
- Newer ATMs can be patch-managed remotely. But older ATMs, including a large percentage of the machines still in use in the US, can only be patched manually. That means a bank's IT professionals have to visit the machines, branch-by-branch, one-by-one, to apply Microsoft's Windows XP for Embedded Systems' security patches. The IT professionals who have the specialized knowledge necessary to manually patch ATMs are expensive. Their time is expensive. Major banks with older ATMs probably employ many of them. But given what I've seen of the stingy attitude many major corporations, including those in finance, have toward labor expenses, this is what I expect. Their employers may be reluctant to deploy them to each of their manual-only ATMs within the days after an embedded Windows XP patch becomes available. Microsoft and vendor neutral security firms publicize vulnerability information as soon as they have it. That could leave a window of days, or even weeks, between a vulnerability being public knowledge and a manually managed ATM receiving a patch for it. If a blackhat can crack an ATM, even if it's only one, it could be incredibly lucrative for them. So, the motive is there.
- Many ATMs running XPe (embedded Windows XP) may not be using Enhanced Write Filter. EWF is designed to protect malware from executing onto a drive, corrupting files. Running EWF is always optional in XPe. As we've seen in countless incidents like when Target and Neiman Marcus' POS (point of sale) systems were infected last year, large corporations may hire the best IT staff. But they need approval from their employers for their security strategies to take effect. The ultimate decision makers tend to be executives with limited technical expertise. Often, those executives decide to not take the advice of the "computer geeks" they employ. The "suits" usually think they're saving money by not allowing their IT and software development departments to have the budgets they ask for. But, I don't think, by taking that attitude, that those corporate executives are saving their companies money in the long run. Depending on a bank's corporate structure, a "suit" may also say no to running EWF, which has its own patches that need to be managed.
- The hardware configuration of one model of ATM to another is usually unique. Each and every hardware component needs a driver to run properly in XPe. With Microsoft OSes especially, drivers usually contain proprietary (closed-source) code. Schneier has noted that it's easier for third-party developers, including those employed by hardware component vendors and banks, to develop custom software for open-source drivers. Those developers constantly learn about new vulnerabilities they must write patch code for. Other embedded OSes, such as those built with a Linux kernel, are a lot more likely to have open-source drivers. And the specialized hardware that ATMs use are a niche.
- Microsoft will cease supporting standard Windows XP on April 8th of this year. There'll be no more anti-malware patches as of July 14th, 2015. XPe-specific support will cease sometime in the beginning of 2016. As such a large percentage of ATMs are still running an OS that was originally released twelve years ago, how likely is it that banks will migrate all of their ATMs to Windows 7 for Embedded Systems or Linux/UNIX kernel embedded OSes in two years? Many ATM models and their hardware components will need to be completely replaced in order to run a newer OS. For a bank with thousands of ATMs, that can be incredibly expensive.