Yet another Android vulnerability has been revealed by researchers presenting at the Usenix conference: the way apps use memory can be exploited to leak private information with a success rate “between 82 and 92 per cent of the time”.
Announced by the University of California, Riverside here, the researchers' paper [PDF] gives a pretty good idea of what's going on in its title: “Peeking into Your App without Actually Seeing It: UI State Inference and Novel Android Attacks”.
They note that UI state can be spied on by a malicious app without requiring any permissions, in what they call a “UI inference attack”. Their demonstration included stealing login credentials and obtaining sensitive camera images taken by the user (in the demo case, they copied a cheque a user had shot for use with a banking app).
The paper explains that UI state reflects a specific piece of functionality at the window level – for example, in the login window the user's text inputs may change, but layout and functionality are consistent. If the attacker builds a UI state machine based on UI state signatures, they can infer UI states “in real time from an unprivileged background app”.
That might look like there's nothing to worry about. After all, knowing that a user is accessing a login screen isn't sensitive, since it doesn't reveal what the user keys into that login screen.
Here's where the attack gets interesting: “based on the inferred UI states, we can further break the GUI integrity by carefully exploiting the designed functionality that allows UI preemption, which is commonly used by alarm or reminder apps on Android”, the paper states.
State changes at the UI level, they explain, can be observed through a shared-memory side channel, which “can be used to detect window events in the target application.
“This side channel exists because shared memory is commonly adopted by window managers to efficiently receive window changes or updates from running applications,” they continue.
As the university statement notes, “The researchers monitor changes in shared memory and are able to correlate changes to what they call an “activity transition event,” which includes such things as a user logging into Gmail”.
Against Gmail and H&R Block apps the researchers claimed a 92 per cent success rate, but interestingly they only hit 48 per cent for Amazon's app because “its app allows one activity to transition to almost any other activity, increasing the difficulty of guessing which activity it is currently in.”
Although they haven't yet repeated the tests on other operating systems, the researchers believe similar architectural flaws could exist in iOS and Windows. ®