Seattle-based IOActive has issued a critical security advisory detailing a physical and authentication bypass in the Diebold Opteva ATM.
“IOActive has discovered two vulnerabilities in Opteva ATMs with the AFD platform that, when combined,” warns the advisory “may allow an unauthorized user to vend notes from the device.”
The combined use of the vulnerabilities is necessary because of ATMs’ practice of separating the safe from the operating system. Diebold’s Opteva line of ATMs with the AFD platform contain an upper cabinet for the operating system and a lower cabinet for the safe, each with its own authentication requirements.
The researchers first gained physical access to the internal computer by inserting a metal rod through a speaker hole in the ATM, lifting a metal locking bar and gaining access to the upper cabinet of the ATM containing the computer. With access to the computer, they were able to get a direct line to the AFD controller for the safe. But they still needed a second vulnerability to get to the money.
For this, IOActive reverse engineered the AFD’s protocol and firmware. From here, the team was able to complete the authentication protocol unencrypted and set up communications without properly authenticating. In short, the two vulnerabilities allowed the team to act as an unauthenticated user and gain access to the content of the safe.
Since the process does not require any device specific knowledge, IOActive concludes that “an attacker with access to one device could reverse engineer enough of the controller protocol to effectively bypass authentication and vend notes from any other device that uses an AFD as long as the vulnerability remains unpatched.”
The problem here, and one of the most disturbing aspects of the advisory, is that IOActive doesn’t know whether it has been patched. It first reported the issue to Diebold in February 2016; but it did not get a secure transit from Diebold to allow it to disclose the issue until January 2017.
In February 2017, one year after the first notification to Diebold, Diebold requested and received tracelogs from IOActive. IOActive tried to follow-up, and eventually was told, “[your]… system is very old (2008/2009 vintage) and is unpatched.” Its offer to retest current firmware was ignored, as were further attempts to follow-up with Diebold.
Finally, on July 26, 2017, more than 18 months after initially contacting the vendor, IOActive decided to go public. At this stage, it is unknown whether the devices have been patched, nor whether any newer versions of the firmware are still vulnerable.
The advisory from IOActive is available here.