Schermata del system recovery su dispositivo rootato

Guida alla comprensione del rooting: Cos’è il Root? Benefici e criticità

Tutti (o quasi) i possessori di smartphone Android o tablet Android hanno sentito parlare di una procedura detta “root” – o più propriamente “rooting” – e molti magari la hanno anche già effettuata, ma quanti ne conoscono realmente il senso e l’effettivo funzionamento?

Questa guida teorica cerca di dare una risposta a questa domanda, per poter innanzitutto dare la possibilità a chi volesse provare il rooting, di capire a fondo il significato di quel che si accinge a fare e dargli la conoscenza necessaria per scegliere consapevolmente se procedere o meno.

COSA SIGNIFICA ROOT?

Una premessa doverosa per capire il tutto: il nostro robottino verde è nel suo cuore essenzialmente un sistema Linux; su questo, l’utente amministrativo, più o meno l’equivalente di quello che per chi viene dal mondo Windows si chiama “administrator“, è detto “root” così come root è il percorso di base di tutte le cartelle del sistema e si indica con “/”. Sulla maggior parte dei dispositivi Android, l’accesso come root alle risorse è disabilitato. In questo senso il rooting consiste nell’aggirare questa limitazione e sbloccare l’accesso come root.

Root, dall’inglese radice, è il nome utente predefinito dell’amministratore di sistema, quello appunto che ha accesso ai file fino alla radice del sistema.

COME AVVIENE IN PRATICA IL ROOT?

L’aspetto pratico che spesso non viene spiegato è che cosa realmente accada nel sistema a seguito del root.

Chi avesse già utilizzato una distribuzione Linux conoscerà sicuramente l’uso del comando “su” (o “sudo”, a seconda della distribuzione usata) che consente di cambiare temporaneamente il contesto utente in cui si opera e, se non diversamente specificato, spostarlo appunto su root. Per permettere questo, su Android è necessario portare fisicamente il file binario del comando “su” in una cartella di sistema (generalmente /system/xbin) e settare i suoi permessi perché sia possibile eseguirlo. Ciò non sarebbe teoricamente possibile e per farlo è quindi necessario sfruttare delle vulnerabilità legate al sistema: questo spiega perché su diversi telefoni ci siano diversi metodi di rooting, a seconda che la vulnerabilità dipenda da una versione specifica di Android o da qualche customizzazione del produttore.

Un’applicazione tenta di accedere come root a qualche risorsa su un dispositivo Android rootato

CHE BENEFICI COMPORTA IL ROOT?

Una volta “rootato” il dispositivo, le applicazioni che necessitano ad esempio di accedere alle cartelle di sistema, tenteranno di farlo richiamando questo comando “su” e se autorizzate dall’utente, attraverso un’apposita applicazione, saranno in grado di procedere.

Questo ci libera completamente da ogni limitazione software imposta dal produttore o dal carrier. Ma vediamo nel dettaglio qualche esempio di cosa potremo quindi fare:

  • come già detto, potremo avere accesso totale ai file di sistema, con molteplici vantaggi anche se magari non immediatamente comprensibili ai meno esperti.
  • potremo modificare i parametri relativi alla configurazione dei componenti hardware, ad esempio fare il cosiddetto “overclocking” del processore, che consiste nel modificare la frequenza di fabbrica di questo per aumentarne le prestazioni, o l'”underclocking“, processo inverso che può essere effettuato ad esempio per migliorare la durata della batteria.
  • potremo gestire liberamente tutte le applicazioni installate, ovvero cancellare le app di sistema normalmente “intoccabili”, spostare tutte quelle che vogliamo su scheda SD, effettuare un backup dei pacchetti apk, etc.
  • potremo letteralmente cambiare l’installazione di Android presente sul nostro dispositivo, ricorrendo alle cosiddette ROM customizzate. Questo spesso può consentire anche l’aggiornamento alle nuove versioni di Android, anche dopo che il produttore dell’hardware ha smesso di rilasciare aggiornamenti per quel dispositivo.
  • potremo fare un reale backup completo del nostro telefono.
  • potremo soprattutto installare ed usare tutte quelle app che, sfruttando internamente le funzioni appena descritte, necessitano del root.
Una schermata di SetCPU, una delle numerose applicazioni che si possono usare solo su telefoni rootati: permette infatti l’overclock del processore.

QUALI RISCHI COMPORTA IL ROOT? (IL PROBLEMA GARANZIA ED I POSSIBILI DANNI)

Per quanto detto fin’ora, chiunque penserebbe che il rooting sia cosa buona e giusta da fare senza troppi pensieri. Purtroppo però i produttori ed i carrier di telefonia che ci vendono i dispositivi pensano che noi possessori non dobbiamo poter fare una cosa del genere, perché considerano potenzialmente dannosa la modifica del software previsto da loro e dunque pretendono che questa modifica invalidi la garanzia.

Ma è realmente così? Secondo la Free Software Foundation Europe, ovvero l’organo europeo che supporta il software libero, i produttori non possono negare il diritto alla garanzia a seguito del rooting, poiché sarebbe una pratica in contrasto con la Direttiva Europea 1999/44/CE, che stabilisce che la sostituzione del sistema operativo originale non può invalidare la garanzia di legge. In teoria si potrebbe pensare quindi che un eventuale rifiuto da parte di un produttore a fornirci il supporto gratuito sia illecito e dunque denunciabile. Sotto l’aspetto pratico dubito però che qualcuno dei lettori pensi di voler lanciarsi in una crociata legale contro un colosso dell’elettronica per vincere magari una causa da poche decine/centinaia di euro a seconda del costo necessario per la riparazione e a fronte di chissà quali spese legali.

Per chi fosse interessato ad approfondire questi aspetti riportiamo il link all’articolo integrale della FSFE, dove si argomenta la tesi in difesa della garanzia.

Cosa può succedere se qualcosa va storto in fase di rooting?

Generalmente si definisce “brick” lo stato in cui un dispositivo sia talmente compromesso da non essere più utilizzabile: di fatto in questo stato il telefono (o tablet, o quello che è) non riesce più ad effettuare il boot, ovvero il normale avvio del sistema operativo.

Leggendo in giro, questa è effettivamente una possibilità da mettere in conto. Ho specificato “leggendo in giro” perché dalla mia personale esperienza, non ho MAI visto o sentito di un telefono brickato a seguito di un rooting sbagliato: più volte ho letto threads su vari forum di persone che lamentavano presunti brick, ma che in genere, dopo qualche consiglio e un po di assistenza da parte di utenti più esperti, si concludevano con un “ho risolto, grazie”.

Con questo non voglio escludere totalmente la possibilità che ciò accada, ma semplicemente sottolineare come spesso, per inesperienza, si sia magari portati a concludere che il dispositivo sia da buttare quando un po di pazienza, ricerca e studio possono invece portare ad un lieto fine.

Icona mostrata sul display di un dispositivo brickato.

Quindi per stare tranquilli è meglio rinunciare al rooting?

No! Se sei arrivato a leggere fin qui sei già sulla buona strada per effettuare un rooting in sicurezza. Essere informati e coscienti di quel che si sta facendo è lo strumento migliore per evitare gli errori: il rooting infatti non è pericoloso di per sé, non è una cosa che ha l’80% o anche il 90% di possibilità di riuscita e si lancia incrociando le dita in attesa che termini. È pericoloso se effettuato male. Se, ad esempio, una scarsa informazione ci ha portati a scegliere un metodo di rooting non compatibile con il nostro dispositivo.

Quindi cosa devo fare se ho deciso di procedere?

Leggere non una, ma almeno due o tre guide specifiche per il tuo dispositivo su come fare il tutto in sicurezza (sarebbe sufficiente anche una guida sola, ma spesso sull’argomento si trovano montagne di documentazione imprecisa o mal scritta).

CONCLUSIONI

Il rooting non è una pratica necessaria per tutti e se leggendone i benefici non hai visto reali buoni motivi per effettuarlo, significa che evidentemente non è utile per te e per l’uso che ti serve fare del tuo dispositivo.

In caso contrario, se ci si appresta ad effettuarlo, dopo un attento studio della procedura da usare, se non restano grossi dubbi sul come procedere, i rischi reali saranno veramente bassi e rinunciare sarebbe come accontentarsi di vivere tutta la vita nello stesso posto solo perché muoversi con un mezzo meccanico comporta sempre qualche minimo rischio di incidenti.

Fare il rooting, in questo senso, è salire su un aereo ed essere liberi di visitare l’altra parte del mondo, solo che nessuna hostess vi accompagnerà a sedere e vi mostrerà le uscite di emergenza, sarete voi a dovervi documentare per un volo sereno. 😉

 

  • Peppino

    Davvero ottima guida! Complimenti a Luca per queste pillole di saggezza tecnica su Android! 🙂 Aspetto il prossimo articolo! 😉

    • Luca Clavarino

      Grazie Peppino, troppo buono 😉

  • CeccoFF

    Bravo!
    😉

  • manny

    ottima guida!

  • Massimiliano Gezzi

    Grande Clava!
    Ottimo come sempre.

  • Zoendav

    Bisognerebbe dire che però certe app con i permessi di Root a volte corrompono file che poi incasina il Tel questo non vuole dire necessariamente brikkare ma semplicemente funziona peggio l’insieme, quindi si hanno lag e qualche crash, niente di gravissimo ma è così…

  • Hacker

    La gente deve capire che il rischio, del root di Android/IOS, si presenta sopratutto dopo aver ottenuto i privilegi root.

    Esempio “La connessione Wi-Fi”:
    1. Anna è connessa alla rete Wi-Fi con essid “Free-Wifi” con un S4 con privilegi Root;
    2. Un’Hacker malintezionato si connette alla stessa rete Wi-Fi (Free-Wifi);
    3.
    Usando una suite di strumenti per il Wirelless Pentesting molto
    conosciuta, scopre tutti gli indirizzi MAC attorno a lui, incluso quello
    di Anna (2b:4d:12:42:o3:11);
    4. L’Hacker avvia un noto tool per il
    Passive Scan, e inizia ad intercettare i pacchetti WiFi inviati/ricevuti
    dal MAC 2b:4d:12:42:o3:11 (Anna);
    5. Durante il Passive Scan, mediante un pacchetto “data”, l’Hacker riesce a scoprire l’indirizzo IP assegnato ad Anna;
    6. L’Hacker crea un tunnel SSH che collega il suo computer al cellulare di Anna;
    7. Grazie al Root, L’Hacker ha controllo completo del cellulare di Anna;

    Tutto
    ciò si puo fare anche su una normale connessione dati, e anche se
    l’utente si trovi a migliaia di chilometri di distanza. Sia con Android
    che con Ios. Questo era uno dei tantissimi esempi che mi venivano i mente!
    Spero di essere stato utile!
    Sorgenti: 5 certificati di PenTesting, tra cui anche il Wireless.