Slashdot Mirror


Researchers Hack Gmail With 92 Percent Success Rate

SternisheFan sends this report from CNET: Researchers at the University of California Riverside Bourns College of Engineering and the University of Michigan have identified a weakness they believe to exist across Android, Windows, and iOS operating systems that could allow malicious apps to obtain personal information. Although it was tested only on an Android phone, the team believes that the method could be used across all three operating systems because all three share a similar feature: all apps can access a mobile device's shared memory. "The assumption has always been that these apps can't interfere with each other easily," said Zhiyun Qian, an associate professor at UC Riverside. "We show that assumption is not correct and one app can in fact significantly impact another and result in harmful consequences for the user." To demonstrate the method of attack, first a user must download an app that appears benign, such as a wallpaper, but actually contains malicious code. Once installed, the researchers can use it to access the shared memory statistics of any process (PDF), which doesn't require any special privileges.

5 of 87 comments (clear)

  1. Re:Blast from the past by vux984 · · Score: 5, Informative

    Blocking access to the memory space of other processes has been a solved problem since timesharing in the '60s and '70s, right?

    Sure it was. That isn't what is happening though.

    Its not accessing the apps memory itself. Its accessing the shared memory *statistics* of a process.

    Then its using pre-calculated patterns of the shared memory usage (presumably allocation order, sizes allocated, NOT the actual memory contents etc) to guess what the user is doing in the other app. Then, when it detects a pattern that corresponds with "I'm about to log in" it pre-empts the app with its own phishing login screen skinned to look like the original. The user is -expecting- a login screen to popup, and one that looks right does... so they enter their credentials.

    I assume they...

    All your assumptions and proposed solutions were completely wrong.

    The solutions are:

    a) to remove untrusted apps ability to monitor memory USAGE statstics

    b) to remove untrusted apps ability to pre-empt the screen.
    c) better permissions controls and better CURATION limiting
    d) it may also help to let apps enter 'critical sections' that cannot be preempted by other apps (?)

  2. Re:Yawn. by SansEverything · · Score: 5, Interesting

    There's an important detail which, for me at least, is surprising. From the paper:

    "In this paper, we report that on the Android system (and likely other OSes), a weaker form of GUI confidentiality can be breached in the form of UI state (not the pixels) by a background app without requiring any permissions."

    No permissions required, OUCH. The permission system was already considered useless, because all apps abuse permissions, but this really puts a nail in its coffin.

    You download a simple Wallpaper app, or whatever, that requires no permissions to check your call data and other bullshit. What harm can it do, right? WRONG. If the flaw is in the window manager implementation, I wonder if this will be even fixed! And other OSes might be vulnerable.

  3. not reading memory, just see HOW MUCH shared memor by raymorris · · Score: 5, Informative

    Android DOES run each app as a separate user, and one app cannot read another app's memory.
    Processes have private memory and shared memory. Shared memory is used for communicating with other processes, such as the window manager.

    An app can tell HOW MUCH shared memory another app is using. You see this in task manager, it'll tell you that your browser is using 12 MB of shared RAM or however much.

    So the attack goes like this:
    On their own device, the attacker monitors how much shared memory is being used by the Paypal app and the eBay app.
    The they "pay now". The eBay app opens a "login to PayPal " window.
    To display the window, the eBay app must communicate with the OS or window manager.
    The attacker notes that when the app displays the login window, the amount of shared memory used increases by 26KB.

    The attacker builds an app the monitors the amount of shared memory in use.
    If the amount of memory in use jumps by exactly 26KB, that's probably because the "login to PayPal " window in being displayed.
    The malicious app pops up it's own login window on screen, which looks just like the PayPal login window.
    The user was expecting a PayPal login window, they see what looks-like a PayPal login window.
    The user enters their PayPal credentials.

    This is all based on knowing HOW MUCH memory is used vs available. From that, you can infer whwn another app opens a new window (activity).

  4. Re:Oh sure by Anonymous Coward · · Score: 5, Insightful

    The article that shows no proof that other OSes are vulnerable but asserts that these people "believe" those OSes might be? Yeah, sounds like rock-hard evidence there.

  5. they all use memory. If app can check available me by raymorris · · Score: 5, Informative

    If an app can see how much memory is available, it can use this technique. All operating systems use memory when they create a new window and when the create gui widgets such as input fields and buttons.

    On their own machine , the malware author monitors free memory vs used memory. The click "buy now" in the eBay app. That open a "log in to PayPal " window. The malware author notes that opening the login window caused memory usage to increase by 23752 bytes.

    The malware author creates an app that monitors how much memory is used. When memory usage jumps by exactly 23752 bytes, that means the PayPal login window is probably being opened. The malicious app pops up it's own window that looks like the PayPal login window. Since the user was expecting a PayPal login window at that moment, they enter their credentials. 5. Profit!

    Note there's nothing unique to any operating system here. On any systwm, an application can find out how much memory and disk space is available, and therefore infer whether or not the PayPal login window is being opened, based on the precise amount of memory that window uses as it opens.