Showing posts with label verified boot. Show all posts
Showing posts with label verified boot. Show all posts

Saturday, 6 August 2016

What is the future of rooting in Android? Is Google planning to eliminate rooting from Android?

technuclear.com
Rooting is a process that allows user to gain administrative rights on their Android device just like they would on a Windows or Linux machine except rooting can sometimes be a much more complicated process.

Rooting is all code, the process is performed with one goal in mind, to overcome the complications and limitations the carriers and OEMs have put on devices or to install custom firmware by unlocking the bootloader.

Here is a sneak peak at the history of rooting in Android.



A BRIEF HISTORY OF ROOTING IN ANDROID



The term rooting is derived from having "root" or super user access on Linux based machines, rooting gives similar type of permissions as one gets on a Linux or any other Unix-like machine. Rooting has gone hand in hand with the first commercial release of Android which was Cupcake 1.5 and the first device to run Android HTC Dream. Since Android is based on Linux kernel, developers knew it was entirely possible to gain root access on HTC Dream and run scripts and do modifications that would otherwise be impossible to do without root access. Rooting has since become way easier with one-click rooting methods. I remember my first Android device HTC Wildfire S and rooting it was the hardest part, running scripts on Command prompt and goldcard and stuff.



The OEMs started to encrypt the devices with locked bootloaders because apparently they couldn't stop the people from gaining root access. So why not lock the bootloader and rob them of their freedom. So what is a bootloader? Bootloader is simply a piece of code that executes before system start-up and check for originality of the software installed on the device. Though, it is possible to root your device with locked bootloader but you can't install custom software (which is actually the point of all the hardship, to install custom software and to taste the latest Android from Google or install custom recovery like CWM or TWRP) as long as your bootloader is locked. OEMs like HTC and Sony provide the user with an option to unlock the bootloader but not on carrier-locked devices and that is where it gets trickier as most of the carriers do not allow the unlocking of bootloader and in countires like US, most of the users buy carrier-locked phones.

There are always ways to get stuff done when you are in Android, so there came unofficial ways to unlock the bootloader but they were not official and very risky to say the least and often you would end up bricking your device.



WHAT PEOPLE USE ROOTING FOR?


People simply root their devices to make changes to their devices, first and foremost, to install custom firmware, to taste the latest Android version on their old device. To perform actions that are otherwise impossible on non-rooted devices, for example, overlocking the processor, deleting useless system or carrier-installed apps to make space or free-up the RAM. I once rooted an LG Optimus G to get rid of useless AT&T apps that they somehow thought would be useful to the user. I replaced the official software on my HTC Wildfire S to install Cyanogenmod 10 which performed much better than HTC Sense ever did. Why people root their devices? Because they want full control, they want to make the device feel like their own, to do whatever they want and root provides them.



GOOGLE'S (AND HARDWARE MANUFACTURER'S) CASE AGAINST ROOTING


Hardware manufacturers including Google have added features to Android that would only be available to rooted devices in the past just to minimize the need for rooting like taking screenshots and using VPNs.

Android uses Linux's security model in which no app can access another app's data and runs in its own unique ID and is isolated from every other app installed on your device. This all changes when an app is run with root privileges, this specific app can now access any app's data. This is the reason why apps like Greenify, Xposed and Titanium Backup runs so well and why they require root privileges and this is completely against Android's security model.

If you have root access on your device, this means that any potential malware can exploit your device using root and cause much greater damage than it would normally do or you could accidentally delete any important system file and could make your OS corrupted playing with root and plus there are warranty concerns as well..


STRICTLY ENFORCED VERIFIED BOOT


It seems as that Google and top OEMs are in a joint venture to close the chapter of rooting once and for all and after the enforcement of strict verified boot, they are closer than ever.After the launch of Android 7.0 Nougat, Google has announced that it will enforce strict boot verification in which whole system will will be checked for errors against a signed hash tree during the boot and won't boot if it detects any errors in the system. Previously, I have discussed strict boot verification in detail. This big step coming from none other than Google is not very encouraging at all. It will not get simpler going forward with Android Nougat and flashing custom kernels just to get root will be the norm.



WHAT DOES IT MEAN FOR THE FUTURE OF ROOTING GOING FORWARD?


The future of rooting is very blurry and nothing points to the favor of rooting and it it is obvious enough already, Google is moving forward towards an era with no rooting. I am not sure what good will it do to either Google or the end-user but it seems OEMs and Google have a common attitude towards third party development of Android.


ROOTING WILL HOPEFULLY STAY FOR NOW BUT NOT FOR LONG.


Rooting will hopefully stay for now but not for long and rootless era will happen not immediately but definitely. As we have seen, Google is slowly incorporating anti-root features in Android since Jellybean 4.3.

If you ask me, I am not surprised at all, it is only a matter of time before the freedom that we have all enjoyed will be gone forever as OEMs and carriers start to realize that excessive power to the user is not good for their business.

They are trying to make rooting less necessary for the user by adding features that would only be available after rooting and installing custom ROM but there is nothing quite like having full control over your phone.


0

Monday, 1 August 2016

What is Strictly Enforced Verified Boot in Android Nougat?

After the launch of the newest version of Android. Google has announced that it will enforce strict boot verification, though the feature has existed since Android 4.4 Kitkat in which the user was notified if the device was tempered with.

With the arrival of Android Nougat, Google has taken this feature to the next level but what exactly is Strictly Enforced Verified Boot?

Here is the answer. During the boot, the kernel checks for errors in the system and won't boot if it detects any corruption in the software. Though the feature has been in existence since Android 4.4, it was only made public with the release of Android 6.0 Marshmallow.



ALSO READ: 5 reasons people refused to upgrade to Windows 10




SO HOW DOES IT WORK?

During the boot-up, the kernel dm-verity checks the signature of every block against a signed hash tree to make sure the software is not compromised, should a single byte be corrupted, the entire block becomes inaccessible. A software with corruptions won't boot-up but it will give users the option to boot the system with limited functionality aka safe mode.

Sami Tolvanen, a Software Engineer at Google had this to say.

“Such strict checking, though, means that non-malicious data corruption, which previously would be less visible, could now start affecting process functionality more,” the engineer explains.



THE FEATURE WILL NOT BE ACTIVE ON DEVICES WITH UNLOCKED BOOTLOADERS

Google says, the feature will only be active on devices with locked bootloaders and not on devices that ship with bootloader unloced by default. If you want to root a locked device, it will definitely create problems for you.


WHAT DO YOU DO IF YOU WANT TO ROOT YOUR DEVICES?

The answer is, you can't do anything. Devices with unlocked bootloaders will have little to no problem being rooted. Though some devices come with the option to unlock the bootloader but what of the devices that come with no such option. If you do tinker with your device, you will end up corrupting your software.


ALSO READ: Pokemon GO: 6 Hacks to catch 'em all



SO WHAT DOES IT MEAN FOR THE FUTURE OF ROOTING GOING FORWARD?

As it is obvious enough already, Google is slowly moving towards eliminating rooting from Android. As it has been previously hinted with release of Android 4.3 Jellybean and Lollipop. With talented developers like Chainfire, it is safe to say that we will find a way for now but It is evident that Google wants to move forward towards an era with no rooting.

Share your thoughts about this step from Google and also don't forget to like us on Facebook and follow us on Twitter



0