The developing world is increasingly using mobile banking apps to move money, but new research shows those apps are often poorly coded and pose security risks.
Researchers with the University of Florida looked at dozens of apps used for mobile money systems but extensively analyzed seven that have millions of users in Brazil, India, Indonesia, Thailand, and the Philippines.
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.
While the convenience is unparalleled for the developing world, the research paper shows that security is often lagging. Complicating the problem is that the terms of service for many services shift the liability to customers if there’s a problem, they wrote.
“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.
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.
All of the services were notified of the vulnerabilities before the publication deadline of the research paper, they wrote.
“Most have not sent any response to our disclosures,” the paper said. “We have chosen to publicly disclose these vulnerabilities in this paper out of an obligation to inform users of the risks they face in using these insecure services.”
The paper was co-authored by Bradley Reaves, Nolen Scaife, Adam Bates, Patrick Traynor and Kevin R.B. Butler.