It's the app developer's equivalent of hiding the door keys under the mat: researchers from Columbia University have found Android apps containing the developers' secret keys.
That's a more serious issue than the old “don't re-use passwords”: the thousands of credentials embedded by developers, blithely assuming they're not visible to an end user, were OAuth tokens valid on other sites. As they researchers write in this paper:
“For example, an attacker can perform denial of service attacks on rate limited services, access and modify application settings, expose private user information, and launch phishing attacks in an attempt to get users' access tokens.”
To get the information, Comp. Sci. professor Jason Neih and PhD candidate Nicolas Viennot created an Android Google Play crawler, PlayDrone, to scan more than a million free Android apps (of which they decompiled 880,000) without triggering Google's restrictions on indexing the store.
Viennot says his circumvention of Google's roadblocks was based on “common hacking techniques to easily circumvent security measures that Google uses to prevent indexing Google Play store content. These techniques include simple dictionary-based attacks for discovering applications, and decompiling and rebuilding the Google Play Android client to use insecure communication protocols to communicate with the Google Play servers to capture, understand, and reproduce the necessary protocols.”
Google's account registration processes were sidestepped by using a Mechanical Turk request for others to register accounts and pass their credentials over to the researchers. With 500 accounts (cost: $50) and a reverse-engineering of the PlayStore API, PlayDrone was then able to crawl the store. Their application also generated random IMEI and MAC addresses to prevent device blacklisting.
“We’ve been working closely with Google, Amazon, Facebook, and other service providers to identify and notify customers at risk”, Viennot says in the university's release, adding that Google has started using his decompilation techniques to see if it can raise “don't embed your tokens” warnings when apps are submitted.
Their work also found that a quarter of apps are clones of others; and odd app rating glitches such as one with a million downloads which “purports to be a scale that measures the weight of an object placed on the touchscreen of an Android device, but instead displays a random number for the weight”, and was a worst-rated app. ®