The degree of freedom afforded to the user by nearly any Android device is almost unparalleled in the brief history of mobile devices. You are free to customize the user interface, run services in the background, and even replace system apps. Some of the most savvy users of Android have also taken to gaining root access on their devices for additional control. In fact, many users consider this an essential feature. However, most root methods we have are essentially a dangerous system exploit — a flaw in the software — and this has taken a toll on the community.
By building simple root tools, the Android developer community is doing its best to help you take control of your own device. Those tools are also available to the dark forces of the internet, though. There may be a way forward that reduces user frustration and increases security, but Google seems unlikely to go for it. What we need is an official and safe method for root access on Android.
When Google deploys a new version of Android, several powerful communities of dedicated Android modders begin pouring over the software looking for goodies. One thing everyone is on the lookout for is an exploit that can be used to gain root access. The same is true when an Android OEM puts out a prominent new device. The goal is to give the owners of Android phones and tablets complete control of their devices.
In most ways that matter, this is a good thing. You bought the phone, you should be able to access the hardware and software at the most basic level if that’s what you want. The difficulty comes when the tools developed to empower users are co-opted by malware authors. We sincerely wish this was a rare occurrence, but it seems to be an ongoing trend.
In 2011 there was the spectacularly embarrassing DroidDream outbreak in the Android Market. Dozens of apps were loaded with a community-developed root exploit called RageAgainstTheCage that was used to root unsuspecting devices, then steal sensitive information. DroidDream was eventually brought under control, but it does still float around the murkier parts of the net. Luckily, this exploit was patched in Android 2.2.2.
Just a few weeks ago another Android trojan, called RootSmart, has started popping up online (though happily not in the Play Store) using a newer Android root tool developed with good intentions. RootSmart uses the GingerBreak exploit to root phones silently and sign you up for expensive SMS services. GingerBreak works on Android 2.3.3 or earlier, as well as several versions of Honeycomb 3.x. This trojan is currently only circulating in Asia, but it shows the problem isn’t going away.
The current way of doing things is also resulting in some real annoyances for users that just want to truly own their devices. These root methods are technically a security hole, and it would be irresponsible for Google or the OEMs to leave them open to attack. New software is rolled out to patch the bug, but that just means the arms race will continue to escalate. You update, lose root, and then have to search for yet another method.
The update situation with Android is, as everyone knows, awful. So even when the Android platform is updated to patch known exploits, some of the most vulnerable users that just wanted a cheap smartphone could get left behind with insecure devices.
The root we need
Google can fix all this. It can take the frustration away for root users, stop incentivizing the development of root exploit tools, and make everyone safer. All it needs to do is make root access a choice. For an example of how this could work, look no further than CyanogenMod, which allows you to choose whether you want a rooted phone or not.
In Cyanogen, this is a simple menu, but Google could build in plenty of protections to keep inexperienced users out. If you venture into the Developer Options menu inIce Cream Sandwich (ICS), it is easy to put a phone in a nearly unusable state until an experienced user goes through and fixes all those little checkboxes. If Google is willing to trust us with that much power, why not root?
Android could be designed to require a password for root access to increase security, or even force the user to toggle root via a USB connection with a computer. There could be scary pop-ups, or skulls and crossbones — the whole nine yards. Novice users would be easily put off. The point is that it would be safe and officially supported. No one would be exploiting this system and users could turn root on and off for added security.
If Google designed Android expecting root commands, it would also be safer for users that didn’t root. Just like current rooted users need an app like Superuser to manage root access, Google would need to have its own solution for security’s sake. If a phone were to be exploited by a malicious app, the user would be alerted to the access request by Google’s permission manager. That’s worlds better than the current situation where malware that can silently root your device.
Why Google won’t do it
If we’re being realists here, official root access it a bit of a utopian fantasy — a fantasy that may well be better for users all around, but one that Google can’t get behind for political reasons. Selling Android is a business, not for Google, but for all the OEMs and carriers that Google relies on. The last thing OEMs and carriers want is for you to have easy root access and undo all the changes they have made to Android.
Carriers, OEMs, and Google all have to be on the same page to keep the platform stable. The success of Android is heavily dependent on having companies to make and sell Android, so even though Google makes the software, it is still beholden to the other legs of the stool.
There is some precedent, though, for a change to the Nexus devices only. Back in mid-2010, Google unveiled Android 2.2 Froyo, and one of its headline features was native WiFi hotspot. The carriers wasted no time colluding with the OEMs to remove the free tethering from almost every carrier-branded phone since then. Perhaps there is a place for official root on developer phones in the Nexus line, but most users won’t see it.
There’s no point in denying the fact that users want root access on their phones. The community will scour a device for exploits, flash strange packages, and generally hack Android to pieces if need be. There is a way for Google to help everyone avoid the riskier aspects of rooting, but there might be too many business forces keeping it from making that a reality.