Fastboot

New methods and security models have changed the way superuser permissions are handled in Android 4.3

You've probably heard some chatter about root and the latest version of Android, and maybe even heard things like "the death of root" being thrown around. Things have changed, and new security features in Android now limit what processes with superuser privileges can do on the system partition. I'll try to explain some of this as best as I can without throwing around too many words nobody (well, almost nobody) will understand. Some of it's unavoidable, though.

You might need to pour a stiff one for this.

All Android apps fork from a system process known as zygote. In Android 4.3, things were changed and now zygote has a new security policy. Even though we can fork a process with suid (superuser) privileges, the new restrictions limit what we can do with it. This is the entire point of SELinux, which is a good thing for user security. Our new process (think of it as the root app you're trying to run) technically has root access, but it can't actually do anything useful with it. This is a very good way to protect the system from rogue processes that you don't want — as in potential ZOMGMALWARE — to have access to everything. 

There are two ways being talked about to work around this new set of security policies. One is that root access through the shell — where you've connected your phone to a computer and use the command line to communicate — still works fine. You can elevate your user status, and do the same things you could always do through adb. And chances are pretty slim that'll not happen without you knowing it.

The other way is with a su daemon

A daemon is a background process that isn't under direct control of the active user. It runs quietly, waiting for the time it's needed to do something useful. When it's called, it does what it was designed to do, then goes back into hiding. An su daemon needs to be invoked during the system initialization, which becomes a sticking point for hacking root access into "stock" ROMs.

The Android implementation shipping with [the] Nexus doesn't look for additional policies in /data/system/sepolicy like the CyanogenMod and upstream indicate it should. It loads the /sepolicy file from ramdisk and calls it a day. 

+Koushik Dutta

You need — at a minimum — a modified boot image to start a custom daemon on your Android device. That's not a problem with something like CyanogenMod, but that means that you're flashing something other than stock to make it happen. Flashing custom images, kernels and ROMs is something that a lot of people just don't want to do.

So that's where we are. The biggest names in the Android community are hard at work to get things all sorted, but there's a very good chance that root, the way you know root today, will require you to flash custom firmware above and beyond the SU app and binary. It's a good thing that Android is moving to a more secure security model, and you'll just have to learn a little more about how your system works and how to modify it to get it in the condition you want — which in the end is another good thing.

Google knows users want things like superuser permissions. There's a very good chance they will address these issues somehow, either by requiring root for less things or by building a solution into Android itself. If you run Linux or OSX on your computer, you know that having a home folder lets you do most things without elevating any permissions. Maybe Google will move towards this direction. Or maybe they will add superuser functions into Android in the developer options. In the meantime, they will continue to make completely unlockable Nexus phones for users who want or need to flash custom firmware — and folks like the developers at CyanogenMod (and elsewhere) will continue to build it.

 

Reader comments

Android 4.3 and beyond: Is root going away for 'Stock' ROMs?

71 Comments

I don't have a problem with Android requiring a hardwire connection to root. That's not an arduous requirement for someone rooting (most root methods require plugging into a computer with the USB debug enabled as it is today) while is a scenario that is difficult for any sort of malware to exploit.

I don't think the article is saying that you have to hardwire to root. You usually/often do anyway. It seems to me like it's saying that root doesn't mean what it used to. Basically this is saying that if you want something to do something with root access, you'd have to hardwire/adb, which basically ruins the current implementation of almost all root-based apps (I'm looking at you, Titanium Backup)

I have every confidence that the good Android hackers will find a way to gain useful root access no matter what security restrictions are thrown at them.

I see things gong into the i phone territory, a little harder to root but you'll have to stick to a lower droid version to get complete root until 4 months later they get root.

As long as Verizon stays with its mentality of having its own apps on the phones, I dont see rooting dying away

Except that you will probably be able to delete/uninstall these without a full root account if Jerry's speculation about Google providing a way to do this is correct.

Yep, I so want to root my Sony Xperia SP because the barstuards installed Facebook in the system folder so I cannot remove it and the bloody thing runs the battery down! Nobody should have the power to force me to run their crappy software!

Rooting is overrated anyway. Coming from an iPhone, I HAD to jailbreak to get decent functionality. Android is already open and highly customizable. Rooting is just OD Imo.

Posted via Android Central App

There is so much more to rooting than just a customizations. There a lot more customizations you can do plus system tweaks. For example, Samsung has a ongoing notification that you are connected to Wifi. You need root to remove this. lus it is easier to do complete backups of apps and their data. Also you can make a complete image of the device as a backup.

Same here. Never was a reason for me to void my warranty.

Posted via Droid RAZR M on the Android Central App

I have a stock answer for you:

Titanium Backup.

That is all. At least unless Google lets me back everything up without Root privilege.

You do realize google can "restore your phone" when you sign back into a new phone. This includes apps previously downloaded. It also includes contacts, and now with the new play games app. It will restore your saved game information. What else do you need to restore? If messages are that important, they have apps for that.

The only thing that is slightly difficult is signing back into everything. But google is fixing that too, they announced it on 05/15/13 with the new integrated google sign-in.

I don't think you know what you are talking about. Google automatically downloading your apps is a far cry from Titanium Backup also restoring app data. This is huge!

Sidenote: I just did a complete factory image restore from CM to stock 4.3 (without root) on my N4. Having Google auto install my apps was nice but having to enter in username/passwords and losing app data was not nice (but worth it IMO to gain 4.3). I now am using Helium from Koush, because you don't have to have root to use it. There is one example of a dev providing an alternative method not needing root.

This "restore" feature only covers things like saved WiFi networks, and the apps themselves. You still lose all "data" created by that app, such as saved games, etc.

Also, being able to backup and restore *specific* versions of apps is very useful. Here, recently, ES File Explorer got a major overhaul. I looks nice, but the one feature that I used it for 98% of the time got broken. Thankfully, I had a backup copy of the previous version through Titanium Backup and was able to roll back to this previous version.

Had to do the same thing with the new Google Maps app, since they completely borked Navigation. Wouldn't have been able to do that without root privileges.

I disagree. In fact, this is a step toward being more like Apple. The beauty of Android is being able to configure it to do pretty much what you want/need it to do. Sometimes this requires root user privileges, as Google has begun moving things into areas of the OS that don't allow user control without root (i.e. manipulating GPS on/off with something like Tasker). Breaking root breaks some of my configuration, and I configured it that way for very good reasons. While I can applaud security, Google should be figuring out ways to implement it without removing functionality from the user/customer base arbitrarily. One of the very reasons Android is so popular is due to its history of being open and easily configurable, leaving a high degree of freedom to the end user to customize or configure their phone (which they paid for - it's theirs) according to their needs or desires. Taking that away would be a mistake and allow an opening for another project to take its place.

Bottom line is Google can still produce a secure OS while preserving this usefulness, if they had just planned it out appropriately, which, apparently, they have not.

"...Taking that away would be a mistake and allow an opening for another project to take its place."

*Enter Ubuntu Phone*
Here's looking at you, Kid.

Well, I have Stock Google Edition 4.2.2 on my HTX One now. If I was still with the ROM that came with this AT&T phone, I'd still be a version behind...plus loaded down with crapware.

totally agree. Rooting and ROMs were a way for me to deal with the many issues present in ICS and before that. Now with 4.2.2 and beyond, and owning a quickly updating Nexus I no longer require root or ROMs. The main killer for those activities was when I realized that I expect all the other electronics in my life to perform as best as they can THE WAY I PAID FOR THEM TO. I don't bring home an HDTV or a stereo with the expectation that I'll have to hack into it in order to get full potential so why should my phone be any different. It shouldn't. And thankfully this is no longer the case with many Androids.

After ICS, vanilla Android runs wonderfully out of the box. That said, you're sorely mistaken if you think we're rooting out Nexi (especially) devices because we "have to." The performance benefits and functionality improvements brought buy custom rom and kernel devs are ridiculous. I laugh ANGRILY every time I see some idiot say something about a warranty in relation to rooting. There is no way to tell it was unlocked/rooted and relocked. End that shit already.

I'd prefer to not have to use su, however it's still not an option for me. Some harmless things, like Sixaxis, need it. But I suppose if Android is going to make more inroads into enterprise, escalated privileges will need to be tightened down.

SELinux is going to make Android a lot more secure and is definitely something that's needed going forward.

Right now Google has set SELinux to permissive instead of enforcing so while it does provide protection, any violations can still be overridden and then logged by SELinux. At least they didn't force enforcing which means that it won't allow any violations at all and lock down the installation...

I think Google's SELinux implementation will be a lot better than the usual Linux implementation which is messy at best.

I don't know. I just don't feel comfortable with anything that involves the NSA. That's like asking thieves to secure your house. Serial killers to protect your daughter.

The code the NSA is providing is part of the AOSP, which means anybody can read it. The truth is that, if the NSA wanted to be able to "spy" on you through your cell phone, they'd get a court order to have the software embedded into the hardware itself (where you can't possibly remove it) and issue a gag order so that no one would ever be able to tell the public that it was there.

Summary: if the NSA was really doing something nefarious, they certainly wouldn't be telling us about it.

In regard to custom roms, I have a Nexus 4 and Nexus 7 1st gen that are already unlocked and running rooted 4.2.2. Are there versions of the 4.3 stock rom for these devices I can flash like any other custom rom, that are already rooted? I've formatted my hard drive since the last time I rooted a device, and don't have any of that stuff on my system anymore.

I root to get additional functions, not to edit code, or 'hack.' One example. Using an NFC tag I can't toggle airplane mode without root. Seems like a basic function. Why does it need root?

Posted via Android Central App

I use root to delete some system apps I don't want, even on my Nexus 4. I don't want/need Google Earth, Currents, Movies & TV(I'm outside US) and some more. So I gain that extra storage space in my phone. Other basic functions like a restart menu on Power Toggles need root. Backup apps like Helium need it as well. On top of everything, I'm using FullScreen and LMT Launcher, both need root access. Until all of that is resolved, I'll still be needing root access.

I can never understand why they need top open up the belly of the green Android dude.

Why aren't all the memory chips, processors, etc, stored in his head?

Unfortunately, one reason rooting is a necessary evil is because the carriers refuse to stop loading the phones up with their useless bloatware. AT&T put so much useless bloat on my phone it's not funny.

If Google would put out a phone with an sd card slot on it they'd make a lot of people happy.

I'm due to upgrade soon & I'd switch to a google phone in a heart beat if they'd add the card feature.

Spring

Given that Carrier Bloatware is the NUMBER ONE REASON people root their devices, you would think that the problem could be solved by Google supplying an option in the apps portion of the Settings, or perhaps a separate app as a way to do this.

It could still protect absolutely essential apps.

They could certainly so that, but the manufacturers and carriers would raise hell. They want us to use those things badly.

I agree as far as bloatware is concerned. If it weren't for the ability to root and remove it I would never buy anything other than a Nexus.
The GS4 GE is probably the closest thing you will see to Google ever having a device with a sd slot again. Even it has limits and lacks the ability to save content directly to the card as Android no longer supports sd storage. Users that think that a sd slot is mandatory have a greatly reduced selection of devices, not saying that is good or bad just seems to be where we are heading.

That is unfortunate. Relying on "da cloud" is foolish, even with (or perhaps because of) today's technological advances. One you place your data in the hands of another entity, who is in no way your "friend", you give up control over it. I don't care what their stated policies are, we are seeing more and more with today's news that it doesn't matter. If you want privacy, keep your data off corporate servers, as they are increasingly untrustworthy.

Another is backups. What if I just want a quick locally stored (on a SD card, for instance) backup to restore from if things go sideways and I don't have access to a cloud service? What then? Or photos, or maybe I just want to keep all my music (40+ GB) on my phone but not clutter my precious memory on the phone? SD card is the only way, then. There are still many places where you won't get a data connection on your phone, but with my music on SD, I don't have to worry about not being able to stream it.

With the 2013 Nexus 7 (SlimPort), and with some other android devices (USB OTG), you could use a USB memory drive for such backups. MicroSD would be better for carrying around 25GB of music since you would always have it, but for backups, USB drives suffice nicely.

Maybe, the talk here was too high for me.
Maybe I'm not enought savyy to understand..
But for me, if you root your device, it's not only to get access to Titanium backup. There's more meat to get from rooting, and for me that meat is using a custom rom, what else?.
Sorry if I talked with my foot in my mouth...
Beuark!!!

The other big reason is to dump Carrier Bloatware.

Its probably the most frequently encounter reason of all.

Just a clarification: "root" is not what enables you to install a custom ROM. "Unlocking" the device is what enables flashing alternate firmware, where as ROOT is something to do *to* the firmware itself.

There are a great many things that require root access besides Titanium Backup. That is just one of the more common reasons to root. As some people have mentioned, an app needs root permissions to turn GPS or Airplane mode on/off. Or enable WiFi tethering for example. Or removing apps in the "system" partition, which is where the carriers stick their bloatware so that we can't uninstall it (without root).

This reply would get long indeed if I tried and list all the reasons, and I would still miss a ton of them.

Suffice it to say, a lot of people rely on gaining root privileges to their device to perform various tasks and make their phone work exactly the way they want. Google making that more difficult is not something that a lot of people are going to be happy about, whatever their reasoning.

So does this mean things like wifi tethering and titanium backup won't work? I guess the wifi Tethering doesn't matter bc I have a nexus 4 and it's built in.

The question is if there will be a rooted stock ROM. Customs will still be available.

Posted via Android Central App

Actually, I think it's more that you won't be able to simply take a phone running running stock OS and install a SU app on it to root it...you'll need to actually install a ROM with the modified boot image. That ROM may be based off the stock image, it may be CM, or it may be something else entirely, but you'll have to go through the process of flashing to get rooted.

I haven't ever had to root to flash ROMs. Unlocking the boot loader was all I needed. I have always had Nexus devices though.

Posted via Android Central App

Root is awesome but I can do without root but if certain apps have access like TiBackup and RootExplorer. Those are the only apps that needs root that I have. I do have safestrap but again, not needed since I rarely do ROMs. I just loaded a ROM to try but always find myself back to the stock ROM.

I use TiBackup to freeze carrier bloatware and to do a system backup.
I use RootExplorer to shut off the screenshot camera-click. It's annoying. I have it on my camera but I hate it on my screen shot app and I also changed the boot-up animation. Other then that, Motorola's File manager does a great job.

I'm already a flashaholic when it comes to android so having to flash custom software isn't going to be a problem for me. The only thing us android users have to worry about now is Verizon's giddy response to all this in the form of another securely locked bootloader taking immune to the effects of the new methods you need to exploit in order to get root (Mostly referencing the second one which uses an su daemon). If Verizon can completely lock down their devices' bootloaders for good, the end of rooting and ROM'ing is nigh.......at least for Verizon customers.

It sounds political to me. Im sure the carriers complained, that simply rooting your phone by unlocking the bootloader and downloading SU. then you could tether, and use emulators, etc without the carriers consent. So google is meeting them "half way"

I stand corrected. Well I know you need root for unlocking LTE for the Nexus 4. And Im sure carrier isnt so happy about that either.

I think time is on google's side here, not the carriers. Who are the carriers going to turn to if they argue with google? Google has enough customers, and enough demand, that the carriers could not end the relationship now. I would change carriers without a second thought if mine stopped carrying android. I'd actually like to go MVNO and get the phone with no carrier and choose later, though this is still not feasible in much of the world.

Google has also already been moving more functionality into modular, google play update-able apps than before. Also the ability to freeze apps, though not uninstall them, has been added.

Now, in my opinion, we just have to watch google and make sure they don't insist on too much control. They will do almost anything to get us to rely on their network.

All the reasons given so far are valid. I would add that for me the most important reason to root is that its fun.

I have learned so much and had fun discovering new roms, new root apps, new functions within roms based on both AOSP or AOKP.

I used CM10 on my Nexus 4, for a time. Its a straightforward process with little risk.

I had a blast unlocking, rooting and installing CM10 on an HTC One X Plus. CM10 on the HTC allows a setting to swipe across the capacitive buttons to turn on or off. While CM10 is MOSTLY the same across the two devices, its not completely the same due to the hardware differences. Its a small thing but really cool to show to people and it was fun to discover.

Rooting = fun.

I root for three reasons. First is to block ads, second is to remove bloat and a distant third is to flash custom roms. It really doesn't surprise me they want to prevent numbers one and two for carrier phones at all. It just sucks to be stuck with a carrier like Sprint or Verizon if you can no longer use stock roms for root. They are the most stable and bug free.

[quote]I'll try to explain some of this as best as I can without throwing around too many words nobody (well, almost nobody) will understand.[/quote]

Yes, please talk down to us, that's what readers really want....

I don't quite understand what this article is saying...
I updated my Nexus7 to 4.3 and rooted via a patch that Chainfire whipped up a day after it was released, and am using root for Stickmount and Greenify and Titanium Backup just like I always have been...
What are you referring to when you say su "can't actually do anything useful with" root?

I'm glad android is tightening security...people like my mother don't need superuser and sure as hell dont want to be hacked or have their devices wiped...as for me well I always root my device wether its with aosp cm or the stock rom that came on it so it doesnt matter I dont ever think I could be content with a fully stock non rooted rom.....besides kernel and tweaks are so fun youll always need customer something for these things to run.

You may want to ensure that your mother is sitting down when you deliver to her the following excellent news: she is free not to install the su utility or any of the apps that manage it on her Android device.