Feeds

Google Marketplace DRM broken

Androids can be pirates too

Seven Steps to Software Security

Android applications secured by Google's Library aren't as secure as they should be, with only a byte or two preventing applications being copied freely.

The bytes in question are contained within the selected application but clearly identifiable once the app has been disassembled, as demonstrated by Justin Case, whose write up on Android Police suggests that the process could easily be automated.

Android applications exist in byte-code, as do Java apps, and can thus be disassembled back to something very close to the original source with surprising ease. All the pirate has to do is disassemble the application, change how it responds when told that there isn't a valid licence, then recompile it and Bob's your pirate.

Applications protected by Google's License Verification Library (LVL) communicate with the Marketplace application on the phone, which connects to Google's Marketplace Server to confirm the application is licensed. The Marketplace application returns a "1" if the application isn't allowed to run, so on receiving a "1" the application displays some information to that effect and quits. But that decision tree can be changed so an application receiving a "1" decides instead to go ahead and run, as demonstrated in this video:

Not all developers use LVL - there are many alternatives - but LVL is easy to implement and locks applications to a Google cloud identity, allowing users to take applications with them when upgrading handsets.

Developers might also implement a less obvious decision tree - Java developers regularly use obfuscation tools to make their disassembled code hard to read (changing object and variable names, for example). That would make the task harder, but not impossible.

Occasional piracy can't be avoided - the idea is to make it sufficiently difficult to make most users opt for the paid alternative. Case reckons the process he demonstrates could easily be batched with a script, allowing a nefarious pirate to provide unlocked applications that could be installed by anyone without technical knowledge - at which point it becomes a more serious issue.

Fixing this problem won't be easy - it's up to developers to process the response from the Marketplace application, which remains secure. Android code will always be open to disassembly, thanks to its use of the Java model. A lot will depend on how effective obfuscation turns out to be, and how many developers take the time to apply it. ®

The smart choice: opportunity from uncertainty

More from The Register

next story
Auntie remains MYSTIFIED by that weekend BBC iPlayer and website outage
Still doing 'forensics' on the caching layer – Beeb digi wonk
Apple orders huge MOUNTAIN of 80 MILLION 'Air' iPhone 6s
Bigger, harder trouser bulges foretold for fanbois
GoTenna: How does this 'magic' work?
An ideal product if you believe the Earth is flat
Telstra to KILL 2G network by end of 2016
GSM now stands for Grave-Seeking-Mobile network
Seeking LTE expert to insert small cells into BT customers' places
Is this the first step to a FON-a-like 4G network?
Yorkshire cops fail to grasp principle behind BT Fon Wi-Fi network
'Prevent people that are passing by to hook up to your network', pleads plod
BlackBerry: Toss the server, mate... BES is in the CLOUD now
BlackBerry Enterprise Services takes aim at SMEs - but there's a catch
prev story

Whitepapers

Top three mobile application threats
Prevent sensitive data leakage over insecure channels or stolen mobile devices.
Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Boost IT visibility and business value
How building a great service catalog relieves pressure points and demonstrates the value of IT service management.
Designing a Defense for Mobile Applications
Learn about the various considerations for defending mobile applications - from the application architecture itself to the myriad testing technologies.
Build a business case: developing custom apps
Learn how to maximize the value of custom applications by accelerating and simplifying their development.