Researchers from the University of Florida analyzed seven mobile banking products that have millions of users in Brazil, India, Indonesia, Thailand, and the Philippines and found gaping holes in security, but no consumer protection from fraud.
This article in PC World describes the problem:
“The problems they found represent a large attack surface, including SSL/TLS issues, botched cryptography, information leakage and opportunities to manipulate transactions and modify financial records.
The impact of the problems is unknown, but “it is possible that these apps are already being exploited in the wild, leaving consumers with no recourse to dispute financial transactions,” according to their research paper, to be presented on Wednesday at the 24th USENIX Security Symposium in Washington, D.C.
So-called “branchless” banking systems using mobile apps have revolutionized banking in developing countries, where the poor have long suffered from difficult access to traditional banking systems, they wrote.
In some countries, branchless banking apps are used for 30 percent of some nations’ GDP, relying on the near universal deployment of cellular network and mobile devices.
The apps can let people send money to others, pay their bills, check account balances and buy airtime credits.”
The researchers were properly peeved that the lax security that enables criminals to access bank accounts is implemented in countries with relatively few consumer protection laws related to financial loss:
“Providers must not marry such vulnerable systems with a liability model that refuses to take responsibility for the technical flaws, and these realities could prevent sustained growth of branchless banking,” they wrote.
The article goes on to identify more specifics related to each app:
“One app in India called the Oxigen Wallet is vulnerable to a man-in-the-middle attack. Poor authentication and cryptography could allow an attacker to compromise an Oxigen account and conduct unauthorized transactions.
GCash, used in the Philippines, uses a static encryption key when communicating with a remote server. A user’s PIN and session ID are encrypted with the key, which is public, before being sent.
“An attacker with this key can decrypt the user’s PIN and session ID if the encrypted data is captured,” they wrote. “This can subsequently give the attacker the ability to impersonate the user.”
They also found problems with Airtel Money and MoneyOnMobile, both used in India, mPAY of Thailand, Zuum of Brazil and mCoin of Indonesia.”
Security should never be taken for granted by developers, banks, or consumers. It has been proven time and again that security requires external testing and validation, a costly effort that all too many implementations forgo. PCI security requires external validation testing; perhaps all mobile banking software should also.
Overview by Tim Sloane, VP, Payments Innovation at Mercator Advisory Group
Read the full story here