# Rooting

Il rooting è un processo informatico che permette agli utenti di smartphone, tablet o altri dispositivi dotati di sistema operativo Android di ottenere controlli privilegiati (conosciuti come permessi di root) su vari sottosistemi Android. Poiché il sistema utilizza il kernel Linux, rootare un dispositivo Android offre l'accesso ai permessi amministrativi (superutente) come se ci trovassimo su Linux o su qualsiasi altro sistema operativo Unix-like, ad esempio FreeBSD o MacOS.
Il rooting viene generalmente eseguito per superare i limiti che gli sviluppatori ed i tecnici hardware hanno impostato sul dispositivo. In questo modo l'utente è in grado di modificare le impostazioni di sistema, installare app che richiedono permessi da amministratore, rimuovere o sostituire il sistema operativo ed eseguire ogni altra operazione altrimenti inaccessibile per un normale utente Android.

## Panoramica

Il rooting permette a tutte le app installate dall'utente di eseguire comandi privilegiati solitamente inaccessibili ai dispositivi in configurazione di serie. La procedura è necessaria per le operazioni più avanzate e potenzialmente pericolose, tra cui la modifica o l'eliminazione dei file di sistema, la rimozione di applicazioni preinstallate e l'accesso a basso livello all'hardware stesso (riavvio, controllo indicatori di stato, ricalibrazione del touch screen, ecc). Un rootaggio tipico comporta anche installazione dell'app Superuser, che supervisiona le applicazioni a cui vengono concessi i diritti di root. Un'operazione secondaria, sbloccando la verifica del boot loader del dispositivo, è necessaria per rimuovere o sostituire il sistema operativo installato.
Il rooting viene spesso paragonato al jailbreak sui dispositivi Apple. Nonostante questo, esistono alcune differenze fra i due processi: il jailbreak permette di superare numerosi divieti per l'utente applicati da Apple, inclusa la modifica del sistema operativo (imposto da un "boot loader bloccato"), l'installazione di app non ufficiali tramite trasferimento locale ed il possesso dei diritti di amministratore. Al contrario, solo una piccola parte dei dispositivi Android blocca inviolabilmente il proprio boot loader, mentre fornitori come HTC, Sony, ASUS e Google forniscono addirittura la possibilità di sbloccare il dispositivo e modificarne anche l'intero sistema operativo. Allo stesso modo, Android solitamente permette il trasferimento locale delle app pur non avendo i permessi di root, ovvero permette di eseguire applicazioni distribuite al di fuori dello store ufficiale. Pertanto solamente il terzo aspetto del jailbreak può essere direttamente paragonato al rooting. Il sistema operativo supporta questa funzionalità in modo nativo in due modi: attraverso l'opzione "Origini sconosciute" nel menu Impostazioni ed attraverso l'ADB (Android Debug Bridge). Tuttavia, alcune compagnie degli Stati Uniti, tra cui AT&T, hanno impedito l'installazione di applicazioni assenti sullo store all'interno del firmware, anche se diversi dispositivi non sono soggetti a questa regola; ciononostante AT&T ha eliminato la restrizione sulla maggioranza dei dispositivi entro la metà del 2011.
A partire dal 2011, il tablet Kindle Fire ha impostato come store predefinito l'Amazon Appstore invece di Google Play anche se, come su molti dispositivi Android, Kindle Fire supporta l'installazione di app da fonti sconosciute. L'applicazione "Easy Installer", inoltre, rende più semplice l'intera procedura.

### Vantaggi

I vantaggi del rooting includono il controllo completo sull'estetica del dispositivo, l'accesso ai file di sistema, la personalizzazione di tutti gli aspetti del sistema operativo (l'unica vera limitazione è il livello di competenza nella programmazione). Vantaggi immediatamente prevedibili di dispositivi rootati includono quanto segue:
* Miglioramento della capacità della batteria
* Esecuzione di procedure di backup più articolate, in particolare comprensive di immagine del dispositivo
* Completo controllo sul kernel (tutte le cartelle e i servizi di sistema sono accessbili)
* Completo controllo sulle app
* Accesso alla cache della Dalvik virtual machine per eliminarla
* Blocco della pubblicità
* Personalizzazione di alcuni processi dei sottosistemi del dispositivo
* Installazione di ROM personalizzate (custom ROM in sostituzione di quelle del produttore del dispositivo)
* Rimozione di app pre-installate (tipicamente quelle del produttore del dispositivo cioè l'OEM) tra le quali che formano il cosiddetto bloatware, generalmente non disinstallabile (essendo precariato nel firmware)
Questi risultati comportano solitamente l'aumento della velocità di esecuzione del sistema.

### Svantaggi

Gli svantaggi del rooting includono il rischio di subire hacking o incorrere in virus. Svantaggi immediatamente prevedibili di dispositivi rootati includono quanto segue:
* Decadimento immediato della garanzia
* Incremento del rischio di hacking
* Rischio di brick
* Rischio di incorrere in virus

### Metodi

Alcuni metodi di rooting implicano l'uso dell'interfaccia di sviluppo ADB (Android Debug Bridge), mentre altri possono prevedere l'utilizzo di applicazioni specializzate. I dispositivi, o talvolta anche diverse versioni dello stesso dispositivo, possono presentare diverse configurazioni hardware. In questo modo, se il metodo usato è stato ideato per una variante hardware differente, vi è il rischio di brick del dispositivo in uso.

## Varietà

Il processo di rooting varia ampiamente in base al dispositivo, anche se solitamente agisce sfruttando degli exploit o dei bug della sicurezza nel firmware. Una volta che l'exploit viene scoperto, un'immagine di ripristino personalizzata può essere implementata con lo scopo di evitare il controllo della firma digitale degli aggiornamenti di sistema. Successivamente, un update del firmware modificato può essere installato ed in genere questo include già le utility necessarie per eseguire applicazioni con i permessi di root. Ad esempio, l'istruzione su può essere copiata nel path (percorso) del processo in corso (e.g., /system/xbin/) e con il comando chmod verranno concessi i permessi. Un'applicazione supervisore di terze parti può quindi regolare e registrare le richieste di autorizzazione da parte delle altre applicazioni. In rete esistono molte guide, tutorial e processi automatici per i dispositivi Android più popolari per facilitare il procedimento di rooting.
Il processo di rooting di un dispositivo può essere semplice o complesso e può persino dipendere dalla serendipità. Ad esempio, poco dopo l'uscita dell'HTC Dream, si è scoperto che la parola "anything" digitato con la tastiera veniva interpretato come un comando in una shell privilegiata. Anche se Google ha rilasciato rapidamente una patch per risolvere questo problema, un'immagine firmata del vecchio firmware trapelò, dando agli utenti la possibilità di effettuare un downgrade ed utilizzare l'exploit originale per ottenere l'accesso al root. Al contrario sui telefoni Android sviluppati da Google, Nexus One, Nexus S, Galaxy Nexus, Nexus 4, Nexus 5, Nexus 6, Nexus 5X e Nexus 6P, così come sulle loro controparti tablet, Nexus 7 (prima e seconda generazione), Nexus 9 e Nexus 10, il boot loader può essere sbloccato semplicemente collegando il dispositivo ad un computer in modalità boot loader ed eseguendo il protocollo Fastboot digitando il comando fastboot oem unlock. Dopo aver accettato un avviso, il boot loader è sbloccato ed una nuova immagine del sistema può essere riscritta direttamente nella memoria flash senza la necessità di un exploit.

## Reazione delle industrie

Fino al 2010, i produttori di tablet e smartphone, così come gli operatori di telefonia mobile, furono principalmente non solidali nei confronti dello sviluppo firmware di terze parti. I produttori avevano espresso la loro preoccupazione per un cattivo funzionamento dei dispositivi che utilizzano il software non ufficiale e dei relativi costi di supporto. Inoltre firmware come OmniROM e CyanogenMod a volte offrono servizi per i quali le compagnie dovrebbero altrimenti pagare un sovrapprezzo, come il tethering. A causa di ciò, vennero comunemente introdotti ostacoli tecnici come boot loader bloccati e accesso limitato ai permessi di root. Ad esempio, alla fine di dicembre 2011, Barnes & Noble e Amazon.com cominciarono a diffondere aggiornamenti automatici OTA dei firmware (1.4.1 per il Nook tablet e 6.2.1 per il Kindle Fire) che hanno rimosso un metodo per ottenere l'accesso ai root. L'aggiornamento 1.4.1 del Nook Tablet rimosse anche la facoltà degli utenti di installare applicazioni da fonti diverse dal Barnes & Noble app store ufficiale (senza modding).
Tuttavia, la popolarità del software sviluppato dalla comunità cominciò a crescere dalla fine del 2009 all'inizio del 2010, ed a seguito di una dichiarazione dell'Ufficio Copyright e della Biblioteca del Congresso che permise l'uso di dispositivi mobili modificati, i produttori ammorbidirono la loro posizione per quanto riguarda CyanogenMod e altre distribuzioni firmware non ufficiali. Addirittura alcuni produttori, tra cui HTC, Samsung, Motorola e Sony Mobile Communications iniziarono a fornire attivamente il loro sostegno.
Nel 2011 la necessità di aggirare le restrizioni hardware per installare i firmware non ufficiali diminuì proporzionalmente ad un numero sempre crescente di dispositivi forniti con boot loader sbloccati o sbloccabili, simili alla serie di telefoni Nexus. I dirigenti di HTC annunciarono che avrebbero sostenuto gli sviluppatori di software indipendenti producendo dispositivi dotati di boot loader sbloccabile. Tuttavia, compagnie come Verizon Wireless e AT&T, hanno costantemente bloccato gli OEM, come ad esempio HTC e Motorola, dal rilascio di dispositivi con boot loader sbloccati, optando invece per dispositivi venduti solo tramite sovvenzioni e senza contratto.
Nel 2014, Samsung ha rilasciato un servizio di sicurezza chiamato Knox, il quale consiste in uno strumento che impedisce qualsiasi modifica dei file di sistema e di avvio, oltre ad evitare tutti i tentativi di impostare un eFuse a 0x1, invalidando permanentemente la garanzia.

## Legalità

Alcuni trattati internazionali hanno influenzato lo sviluppo di leggi che interessano il rooting. Nel 1996 l'organizzazione mondiale per la proprietà intellettuale sancì con il Copyright Treaty che le nazioni aventi preso parte al trattato emanassero leggi contro l'elusione dei DRM. L'implementazione americana consiste nel DMCA, che comprende un processo per stabilire le esenzioni per stabilire quelle operazioni che non violano il copyright, ad esempio il rooting. La Direttiva Europea sul Copyright del 2001 trasferì il trattato in Europa ed impose agli Stati membri dell'Unione europea di attuare difese legali per le misure di protezione tecnologiche. La Direttiva prevede eccezioni per consentire la rottura di tali misure per scopi che non violano il copyright , come ad esempio l'esecuzione di software alternativo, nonostante gli Stati membri varino in merito all'attuazione della direttiva.

### Australia

Nel 2010, l'Electronic Frontiers Australia ha affermato che non è chiaro se il rooting sia legale in Australia e che perciò possono applicare le leggi anti-elusione. Queste leggi sono state rafforzate dal Copyright Amendment Act del 2006.

### Canada

Nel novembre 2012, il Canada ha modificato la sua Copyright Act con le nuove disposizioni che vietano la "manomissione di serrature digitali" con alcune eccezioni, tra cui l'interoperabilità del software. Rootare un dispositivo per eseguire un software alternativo viene considerata una forma di elusione di serrature digitali ai fini di interoperabilità del software.
Sono stati necessari molti sforzi dal 2008 al 2011 per modificare il Copyright Act (Bill C-60, Bill C-61 e Bill C-32) in modo da vietare la manomissione di serrature digitali, insieme alle proposte iniziali per il C-11 che risultavano più restrittive, ma i disegni di legge furono messi da parte. Nel 2011 Michael Geist, uno studioso del copyright canadese, citò il jailbreak dell'iPhone come attività non coperta da copyright che eccessive modifiche al Copyright Act avrebbero potuto vietare.

### India

La legge indiana sul diritto d'autore permette di eludere i DRM per scopi che non violano il copyright. L'India non è uno dei firmatari del trattato sul diritto d'autore che richiede leggi contro l'elusione dei DRM, ma essendo quotata alla US Special 301 Report, è stata sollecitata a sviluppare leggi sul copyright più severe, in linea con il Copyright Treaty.

### Nuova Zelanda

La legge neozelandese sul diritto d'autore consente l'uso di misure di protezione tecnologica (TPM) tramite metodi di elusione, purché l'uso sia per scopi legali e che non violino il copyright. Questa legge è stata aggiunta al Copyright Act 1994 come parte del Copyright (New Technologies) Amendment Act 2008.

### Regno Unito

La legge Copyright and Related Rights Regulations 2003 rende l'elusione delle misure di protezione DRM legale se lo scopo è quello dell'interoperabilità, in assenza però di violazione del copyright. Il rooting può essere una forma di elusione coperta da quella legge, ma ancora non è stato decretato in tribunale. Le leggi sulla concorrenza possono essere rilevanti.

### Singapore

Il rooting potrebbe essere legale a Singapore se effettuato per ottenere l'interoperabilità del software e se ciò non viola alcun copyright, ma la questione non è ancora stata decretata da un tribunale.

### Unione Europea

La Free Software Foundation Europe sostiene che è legale rootare qualsiasi dispositivo. Secondo la Direttiva Europea 1999/44/CE: sostituire il sistema operativo originale con un altro non invalida la garanzia legale che copre l'hardware del dispositivo per due anni a meno che il venditore possa dimostrare che la modifica ha causato il difetto.

### USA

Sotto il Digital Millennium Copyright Act (DMCA) il rooting è illegale negli Stati Uniti se non per una preventiva esenzione. Il Copyright Office degli Stati Uniti attualmente concede ai telefoni una deroga a questa legge "almeno fino al 2015".
Nel 2010, in risposta ad una richiesta da parte della Electronic Frontier Foundation, il Copyright Office degli Stati Uniti ha riconosciuto esplicitamente una deroga per il DMCA per consentire il rooting. Nella loro sentenza, la Biblioteca del Congresso ha affermato il 26 luglio 2010, che il rooting è esente dalle norme DMCA, le quali devono essere riviste e rinnovate ogni tre anni oppure alla loro scadenza.
Il 28 ottobre 2012, il Copyright Office ha aggiornato le loro politiche di esenzione. Il rooting degli smartphone continua ad essere legale "dove l'elusione è compiuta al solo fine di consentire l'interoperabilità delle applicazioni [su software legalmente ottenuto] con programmi per computer sulla cornetta del telefono" Tuttavia, l'ufficio copyright degli Stati Uniti ha rifiutato di estendere detta esclusione ai tablet, sostenendo che il termine stesso "tablet" è ampio e mal definito, e una deroga a questa classe di dispositivi potrebbe avere effetti collaterali indesiderati. Il Copyright Office ha inoltre rinnovato l'esenzione 2010 per permettere di usare ufficiosamente telefoni sbloccati su supporti non approvati, ma limitando l'esenzione ai soli dispositivi acquistati prima del 26 gennaio 2013.
Tim Wu, professore alla Columbia Law School, nel 2007 ha sostenuto che il jailbreak è "legale, etico e solo puro divertimento" Wu ha citato una deroga esplicita rilasciata dalla Biblioteca del Congresso nel 2006 per lo sblocco personale, che fa notare che i blocchi "sono utilizzati da compagnie di telecomunicazioni per limitare la capacità degli abbonati di passare ad altre società, una decisione di business che non ha nulla a che fare con gli interessi tutelati dal diritto d'autore" e che quindi non coinvolgere il DMCA. Wu non ha sostenuto che tale esenzione si applica anche a coloro che aiutano gli altri a sbloccare un dispositivo o che sono coinvolti nel "traffico" di software per farlo. Nel 2010 e nel 2012, il Copyright Office degli Stati Uniti ha approvato deroghe al DMCA che consentono agli utenti di rootare i loro dispositivi legalmente. È ancora possibile impiegare contromisure tecniche per prevenire il rooting o impedire il funzionamento dei telefoni rootati. Non è inoltre chiaro se sia legale il traffico degli strumenti utilizzati per rendere il rooting più semplice.