What is rooting?
Rooting is a technique that allows Android users to attain privileged control of a device (known as 'root access'). As Android uses a Linux kernel (the fundamental software component of the operating system), rooting offers access to administrator permissions, known in this environment as superuser.
Differences between rooting and jailbreaking
Although similar, jailbreaking in iOS involves bypassing a number of restrictions, including modifying the operating system, installing non-officially approved applications and granting the user elevated administration-level privileges (rooting).
Many vendors of Android compatible devices, such as HTC, Sony, Asus and Google, openly offer the ability to unlock devices or even replace the operating system without having to use dubious technical operations.
Similarly, the ability to sideload applications on Android is much more permissible without additional permissions. It is therefore the third aspect, obtaining administrative privileges, which most directly correlates to Android rooting.
Why is it done?
The technique aims to bypass restrictions implemented on devices by carriers and hardware manufacturers. It opens the door to altering or replacing original system settings, running specialized apps that require administrator permissions or carrying out other operations that would not be available to a normal user.
On corporate systems it is advisable to establish policies that make employees aware of the risks that third-party software pose for the company. Gartner, for example, urges avoiding jailbreaking and rooting due to the risks they represent to corporate environments.
How does it work?
Rooting is required for certain advanced and potentially dangerous operations, including the editing or deleting of system files, deleting pre-installed apps, and low-level access to hardware (rebooting, controlling touch sensors, etc.).
A typical rooting installation also installs the superuser application, which in Linux and Android supervises apps that are granted superuser rights, which give access to all files and commands.
These include the ability to alter the operating system and to grant or revoke other access permissions to read, edit or run files.
Rooting for hacking a device
A rootkit is a set of software tools installed secretly by a hacker in order to enable them to use the computer for their own ends, which are normally malicious. Rootkits can provide root level access, not just access to a user account, allowing the hacker to hide any trace of their presence and activity.
Successful rooting by a hacker on an Android phone can enable them to add, edit or delete system files and to alter settings and access sensitive apps. In general, a secondary operation, unlocking the device's bootloader verification, is required to remove or replace the device's operating system, though it is true that certain developers in Android systems allow this by default to the superuser.