Shared Memory in Mobile Operating Systems Provides Ingress Point for Hackers

"" Enlarge
Michigan computer science researchers have exposed a vulnerability that could lead to stolen login credentials, photos, and other personal information.

A weakness believed to exist in Android, Windows, and iOS operating systems could be used to obtain personal information from unsuspecting users, according to a team of security researchers from the University of Michigan and the University of California, Riverside. The team demonstrated the hack on the Android operating system.

The method was successful between 82 percent and 92 percent of the time on six of the seven popular apps they tested. Gmail, CHASE Bank and H&R Block were among those easily compromised.

The vulnerability occurs in the use of shared memory by the operating system that could allow a malicious app to monitor the state of user interactions with an app in use in order to steal sensitive data, such as login credentials, photos, and other personal data.

Specifically, the researchers demonstrated that the confidentiality of the shared memory framework used for graphical user interface (GUI) display can be breached by a background app without requiring any permissions. This allows a background app to seamlessly “watch” user actions and substitute malicious user interface screens in place of intended screens, with those duplicate screens siphoning off and stealing personal information. The researchers have dubbed this class of attack a UI state interference attack.

The research team presented the findings in their paper, “Peeking into Your App without Actually Seeing It: UI State Inference and Novel Android Attacks,” at the 23rd USENIX Security Symposium on August 22, 2014.

The hack is particularly dangerous because it allows attackers to time the moment that they present the user with a fake screen to when the user is expecting to enter sensitive data.

“We know the user is in the banking app, and when he or she is about to log in, we inject an identical login screen,” said Qi Alfred Chen, a doctoral student in computer science and engineering at U-M. “It’s seamless because we have this timing.”

Chen, Prof. Mao, and co-author Zhiyun Qian, an assistant professor at the University of California, Riverside and a recent doctoral graduate from Mao’s group, believe their method will work on other operating systems in which apps can access a phone’s shared memory freely. This feature allows processes to share data efficiently, but it also allows malware to track user behavior. Even if that channel was blocked, Chen believes that other connections may be exploited to achieve the same end.

“The assumption has always been that these apps can’t interfere with each other easily,” said Qian. “We show that assumption is not correct, and one app can in fact significantly impact another and result in harmful consequences for the user.”

The attack starts when a user downloads a seemingly benign app, controlling the phone’s wallpaper for instance. When that app is running in the background, attackers can access the shared memory without needing any special privileges.

The researchers monitored changes in the shared memory and correlated the changes to what they call an “activity transition events.” These included logging into a service or photographing a check so that it could be deposited online. Augmented with a few other side channels, the team could fairly accurately track user activity in real time.

Chen suggests that check images are a particular risk. “A camera-peeking attack can steal your account number, home address and even your signature,” he said.

The researchers created three short videos that show how the attacks can steal login and social security information from H&R Block, check images from CHASE Bank and credit card details from Newegg.

Of the seven apps, Amazon gave the team the most trouble, with a 48 percent attack success rate. This is an accident of the app’s flexibility — it allows one activity to transition to almost any other activity, increasing the difficulty of guessing what the user will do next.

Asked what a smartphone user can do about this situation, Qian said, “Don’t install untrusted apps.”

Chen added that users should also be wary of the information access requested by apps on installation. It is dangerous to allow access to the user interface state, which is the channel that the team used for their attacks.

On the operating system design, a more careful tradeoff between security and functionality needs to be made in the future, Qian said. For example, side channels need to be eliminated or more explicitly regulated.