Hackers are finding ways to get around stringent app store controls by exploiting existing non-malicious apps that are vulnerable.
That's the verdict of AVG chief technology officer Yuval Ben-Itzhak, who says it can be done via a different app, by inspecting data on transit or even via the web, while users browse on their mobile browser.
In a blog post Ben-Itzhak says there are three main ways an app can be vulnerable to hackers: data transmission, data storage and third party components.
On the data transmission side, Ben-Itzhak says almost all mobile apps transmit and receive data between the device and remote servers – allowing apps to update, send stats, check licenses and monitor analytics, for example.
But if there is no encryption for data leaving a device, hackers can ‘look inside' it and get passwords, credit card numbers or other personal details.
“This is most common on public Wi-Fi hotspots like those found in airports, malls or coffee shops,” he says.
Certificate validation can also be an issue, he says.
“When apps send data to a remote server, it's important that it is the correct one and not one owned by a hacker. The use of digital certificates on the server can help the app validate the server's identity. Without these digital certificates, data can be at risk.
On the data storage side, he says most mobile apps store data locally, often in the form of log files.
Again, a lack of encryption of private data can be dangerous, he says.
“A separate app installed on the device can potentially have a permission to access such files, ‘look inside' and retrieve personal data.
Files left after uninstall can also later be accessed by other apps to retrieve data.
Developers reusing components (SDKs) from third parties in the creation of apps can also be an issue, with Ben-Itzhak saying the toolkits are not always secure.
He cites several examples including Android WebView, used by ‘most' Android developers to download and render web content. “This component was identified to be vulnerable to remote attacks - CVE-2012-6636.
Ben-Itzhak is urging developers to secure their apps by learning about secure coding and vulnerable SDKs to avoid common mistakes.
Security testing should be embedded in general quality assurance procedures, automated tools should be used to statically and dynamically scan and test for vulnerabilities and unneeded functionality should be removed from code. Apps that are no longer supported should have distribution stopped, he says.
And he says Apple's App Store and Google Play also have a role to play.
“The developers are not entirely responsible for eradicating vulnerable apps,” he says.
He says improvements can be made to help prevent the distribution of vulnerable apps, including improved communication between app stores and developers when issues arrive.