The folly of not preemptively disabling 'boot from USB' on an ATM
Ever since Barnaby Jack leapt on stage at Black Hat USA and had ATMs spew money as if it were going out of style, hackers around the globe have been busy trying to replicate the research before banks and ATM vendors get the vulnerabilities fixed. You'd have thought that after three-and-a-half years both vendors and banks would have fixed the bugs and dealt with the physical attack vectors long ago. Unfortunately, that doesn't seem to be the case.
A pair of security researchers speaking in Hamburg at last week's Chaos Communication Congress provided new insight and demonstrated some USB-based malware that had been crafted by criminals and used earlier in the year to siphon money from several unpatched ATMs. The original malware authors had taken steps to remove many of the installation traces that forensic investigators would have found useful, so the researchers had to piece together many parts of a complex puzzle.
While it hasn't been disclosed which type of ATM were targeted (or which bank was affected), it seems that the criminals had uncovered physical flaws in the bank's ATM devices that allowed them to cut access holes through which they could slip in their infector USB device. Once the USB device was in place, the ATMs could be rebooted and the malware automatically installed.
I'd have thought that with all the hoopla that followed Black Hat in 2010 and the personal visits that Barnaby Jack (and IOActive -- the consulting company he worked for at the time) made to the ATM manufacturers and high-street banking organizations at the time, that everyone would have at least disabled the "boot from USB" functionality. Apparently, this particular bank hadn't acted on the memo.
The ATM malware appears to have had a number of interesting features designed to protect it from both investigators and fellow criminals or mules. After supplying a 12-digit magic number to bring up a built-in menu, the money mules were provided direct manual access to the machines' money-dispensing functions. However, before money could be extracted, a second code was required, a challenge-response code, most likely added to prevent mules from operating independently of the malware authors.
Given the relative sophistication of the malware and the efforts involved in protecting it from both bank investigators and other criminals, I wouldn't be surprised to learn that the malware is already in use by other organized crime gangs around the world. It would be a rare occurrence for any bank targeted by this malware to openly disclose it was a victim -- doing so is not good for business and customer confidence.
While the attack vector -- booting from an infected USB stick -- will have many security veterans rolling their eyes in disbelief that the targeted bank hadn't already mitigated the threat, I've heard several people argue that writing code (malicious or otherwise) for ATMs is difficult. Unfortunately, it's simpler than most realize. Anyone with an understanding of CEN/XFS, or the time to peruse the online manuals, will quickly master the fundamentals.
This USB infector process is the low-hanging fruit for criminals targeting ATM machines. Banks that haven't already mitigated the attack vector are, for lack of a better word, negligent. There can be no excuses for not disabling the "boot from USB" functionality, especially now with the public disclosure of criminal abuse.
-- Gunter Ollmann, CTO, IOActive Inc.
Gunter Ollmann serves as CTO for IOActive Inc. where he is responsible for the strategic vision of the security services portfolio, driving new research areas and bringing new services to market. With over two decades in the information security arena, Gunter has stared down ... View Full Bio