Hackers' delight: Mobile bank app security flaw could have smacked millions
Certificate pinning unpicked
Security researchers from the University of Birmingham, UK, last week went public about security shortcomings in mobile banking apps that leave millions of users at a heightened risk of hacking.
The researchers developed a tool called Spinner to perform semi-automated security testing of mobile phone apps. After running the tool on a sample of 400 security critical apps, they were able to identify a serious flaw in many banking apps – including those offered by HSBC, NatWest and Co-op as well as Bank of America's Health account app.
The researchers found that although banks had been diligent in building security into their apps, one particular technology used – so-called “certificate pinning” – which normally improves security, meant that standard tests failed to detect a serious vulnerability that could let attackers take control of a victim's online banking.
Dr Flavio Garcia, one the the researchers, explained: “Certificate Pinning is a good technique to improve the security of a connection, but in this case, it made it difficult for penetration testers to identify the more serious issue of having no proper hostname verification.”
The security weak spot created a possible mechanism for an attacker – providing they are connected to the same network as the victim (eg, a Wi-Fi hotspot) – to perform a so-called "man in the middle attack" and retrieve the user's credentials, such as username and password/PIN code. Other potential avenues for attack were also found, including the possibility for a wrong-un to do some “in-app phishing” in software offerings from Santander and Allied Irish bank.
These attacks would have allowed the rogue take over part of the screen while the app was running and use this to phish for the victim’s login credentials.
All the fixings
The University of Birmingham researchers worked with the banks involved, and the UK government's National Cyber Security Centre to fix all the vulnerabilities, and the current versions of all the apps affected by this pinning vulnerability are now secure.
Banking customers using the same old Apple device that the researchers used (probably a 1st generation iPad, which is limited to iOS 5.1.1) should probably think about using something else for their banking, according to app security firm Arxan.
Winston Bond, technical director EMEA at the firm, urged banks to review the research and push updates to their customers.
“Banks should fix vulnerabilities as quickly as they can and push updates to their customers,” Bond said. “One of the issues highlighted by this research is that users of older Apple devices, [which] are restricted to older iOS versions, can't pick up any updates once the app developer moves the minimum OS version for the app beyond their version. They are stuck on the last compatible version, with whatever bugs and vulnerabilities that includes.
“For banks and other organisations to protect themselves from outdated apps, every major app developer has to balance the relentless pressure to adopt the latest iOS features against the need to keep updating the users of older devices,” he added.
More robust cryptographic technology deployments by banks would also guard against attacks even in cases where users are connecting into services from ageing or not fully patched devices.
“Certificate pinning is a way to make sure that a mobile app will only talk directly to the server that it is meant to,” Bond explained. “All the communications traffic is strongly encrypted and it can only be understood when it gets to the right place. In this case, it stops anyone getting between you and the bank and seeing how much money you have in your account or changing the details when you tell the bank to pay someone.
"There are several ways to implement certificate pinning, with some trade-offs between flexibility and security,” he added.
It's also worth noting that the University of Birmingham team managed to carry out these attacks while following the app store licence agreement rules – which prohibit reverse-engineering or modification of apps. Real attackers won't play so nicely.
Mark James, a security specialist at anti-malware firm ESET, added: “Using financial services through your mobile device, either a smartphone or tablet, should ideally be done through your cellular [mobile] connection if possible, or if not, then through a VPN to minimise the chances of your connection being hijacked."
Some initial results were given in the paper [PDF] A Security Analysis of TLS in Leading UK Banking Apps presented at the Conference on Financial Cryptography and Data Security in January. The full results were given in the paper Spinner: Semi-Automatic Detection of Pinning without Hostname Verification which was presented last week at the 33rd Annual Computer Security Applications Conference in Orlando, Florida in the US. ®