Developers could sneak annoying pop-up ads or phishing attacks into mobile apps via design flaw in Android, according to researchers.
LAS VEGAS--Researchers have discovered what they say is a design flaw in Android that could be used by criminals to steal data via phishing or by advertisers to bring annoying pop-up ads to phones.
Developers can create apps that appear to be innocuous but which can display a fake bank app log-in page, for instance, when the user is using the legitimate bank app, Nicholas Percoco, senior vice president and head of SpiderLabs at Trustwave, said ahead of his presentation on the research at the DefCon hacker conference today.
Currently, apps that want to communicate with the user while a different app is being viewed just push an alert to the notification bar on the top of the screen. But there is an application programming interface in Android's Software Development Kit that can be used to push a particular app to the foreground, he said.
"Android allows you to override the standard for (hitting) the back buttons," said Sean Schulte, SSL (Secure Sockets Layer) developer at Trustwave.
"Because of that, the app is able to steal the focus and you're not able to hit the back button to exit out," Percoco said, adding that they've named the issue the Focus Stealing Vulnerability.
The researchers have created a proof-of-concept tool that is a game but also triggers fake displays for Facebook, Amazon, Google Voice, and the Google e-mail client. The tool installs itself as part of a payload inside a legitimate app and registers as a service so it comes back up after the phone reboots, Percoco said.
In a demo showing a user opening up the app and seeing the log-in screen for Facebook, the only indication that something odd has happened is a screen blip so quick many users wouldn't notice. The fake screen completely replaces the legitimate one, so a user wouldn't be able to tell that anything is out of place.
With this design flaw, game or app developers can create targeted pop-up ads, Percoco said. The ads could be merely annoying, like most pop-ups are, but they could also be targeted to pop up an ad when a competitor's app is being used, he added.
"So the whole world of ads fighting with each other on the screen is possible now," said Percoco, who along with Christian Papathanasiou, demonstrated an Android rootkit at DefCon last year.
The functionality would not raise any red flags in the permissions displayed when the user downloads the app because it is a legitimate function for apps to check the phone state in what is called the Activity Service, according to Schulte.
Percoco said the researchers spoke to someone at Google about their findings a few weeks ago and that the individual acknowledged that there was an issue and said the company was trying to figure out how to address it without breaking any functionality of legitimate apps that may be using it.
When contacted for comment, a Google representative said he would look into the matter.
Update August 8, 2011 at 3:50 p.m. PT A Google spokesman provided this statement: "Switching between applications is a desired capability used by many applications to encourage rich interaction between applications. We haven't seen any apps maliciously using this technique on Android Market and we will remove any apps that do."
The Google spokesman also directed CNET to Visidon's AppLock as an example of how that functionality is used. The app uses facial recognition technology to prevent unauthorized access to parts of your phone, such as your Gmail app. The legitimate use of the functionality described in the vulnerability in this example would slide AppLock's password-requesting interface over Gmail's when you tap it. Since AppLock uses your face as its password, it would slide on, allow your face to be recognized as the approved password, and then slide away.
Update August 8, 2011 at 7:40 p.m. PT Percoco's response to the Google statement: "Application switching is not the issue. The real issue is ability for other apps to identify which app is in the foreground and then decide to jump in front of that running app without the user giving it permission to do so. We also don't see how they could determine the difference between a malicious app or a legitimate one since they would both look almost identical until a user reports it to them as malicious. The 'wait until an app is reported bad before removing' stance is dangerous and will likely prove out to be a fruitless effort as attackers could post apps much faster than Google could identify and remove them from the Market."
CNET's Seth Rosenblatt contributed to this report.