Feeds

Google Marketplace DRM broken

Androids can be pirates too

Beginner's guide to SSL certificates

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. ®

Internet Security Threat Report 2014

Whitepapers

Go beyond APM with real-time IT operations analytics
How IT operations teams can harness the wealth of wire data already flowing through their environment for real-time operational intelligence.
5 critical considerations for enterprise cloud backup
Key considerations when evaluating cloud backup solutions to ensure adequate protection security and availability of enterprise data.
Getting started with customer-focused identity management
Learn why identity is a fundamental requirement to digital growth, and how without it there is no way to identify and engage customers in a meaningful way.
Reg Reader Research: SaaS based Email and Office Productivity Tools
Read this Reg reader report which provides advice and guidance for SMBs towards the use of SaaS based email and Office productivity tools.
Simplify SSL certificate management across the enterprise
Simple steps to take control of SSL across the enterprise, and recommendations for a management platform for full visibility and single-point of control for these Certificates.