Sloppy programming, poor patching, and unreliable trust engines are rife within Android apps, according to a new study. In short, millions smartphone users are potentially wide open to man-in-the-middle attacks, it's claimed.
Researchers at security firm FireEye went through the 1,000 most popular Android applications from the Google Play store and found that a large majority of them were open to at least man-in-the-middle attacks, thanks to faulty SSL error and certificate handling. For the top 10,000 apps that figure was 60 per cent.
"The Android ecosystem is all about communicating, and right now it's screaming for help," the team said in a blog post. "That's because SSL vulnerabilities and the Man-In-The-Middle (MITM) attacks they enable are wreaking havoc on data security."
The researchers examined the code for three basic SSL security errors: trust managers that don't check digital certificates are even valid, apps don't verify the hostname of the remote server is correct, and code that ignores SSL errors when using Webkit – errors that flag up when security integrity checks have failed.
Trust management engines not checking the identity of backend servers is by far the most common problem, and essentially means miscreants can masquerade as legit systems to siphon off data, and so on. This occurred in 73 per cent of the top 1,000 apps and 40 per cent of the top 10,000 applications in Google's download zone.
The second most common flaw was Webkit errors, affecting 77 per cent of the top 1,000 apps and 13 per cent of the top 10,000. Meanwhile hostname checking errors were in the single figures for both test groups.
Ad networks are an increasingly attractive attack vector for man-in-the-middle attacks, either to hijack a connection to install malware or suck away viewers to other sites. The team found the two top advertising libraries in the sample set – Flurry and Chartboost – had unreliable trust managers.
Both pieces of software have now been fixed, but that doesn't mean third-party app coders have upgraded, rebuilt their code and released new versions.
"Many issues in SSL and cryptography arise from how applications are tested and released. During development, many software shops find it useful to disable normal validation of SSL to facilitate testing," Patrick Thomas, security consultant at and risk management company Neohapsis told El Reg in a statement.
"This is a dangerous practice because it requires that someone remember to turn it back on before shipping - an easy mistake to make with huge consequences. This sort of research highlights the importance of having security expertise tightly integrated with development teams, and performing specific security testing (in addition to functional testing) before release." ®