Android Root: non è magia!

Sempre più spesso si sente parlare, tra amici, pseudo esperti, appassionati e smanettoni, di root del telefono come se fosse un toccasana, un qualcosa di “magico” che risolve tutti i mali che affliggono il mondo. Niente di più sbagliato.

Root-a

La convinzione deriva, molto probabilmente, dal fatto che abilitando i permessi di root su Linux, dal quale Android deriva, si possono compiere azioni all’apparenza straordinarie, che migliorano le prestazioni. Ma allo stesso tempo possono peggiorare drasticamente il comportamento del nostro dispositivo o addirittura trasformarlo in un inutile ammasso di rame e silicio. Mai come in questo caso vale il detto “Da un grande potere derivano grandi responsabilità” (cit. Benjamin Parker).

L’accesso superuser, di per sè, non fa nulla di dannoso.

In un ambiente Unix-like, che sia Ubuntu o Android o perfino OSX, tutto può essere ricondotto ad un file. Se vogliamo conoscere lo stato della batteria dobbiamo leggere un file, sul quale il sistema scrive lo stato. Se abbassiamo il volume, scriviamo qualcosa in un file in modo che il sistema capisca a quale livello riprodurre il sonoro. Se colleghiamo il nostro terminale Android ad un PC e lanciamo una sessione ADB possiamo vedere il comportamento del sistema accedendo alle cartelle /proc o /sys.Queste cartelle contengono una serie di file che istruiscono il sistema sul comportamento da tenere. E se possiamo accedere a questi file e modificarli, possiamo cambiare il modo in cui funziona il sistema.

Visto che tutto si riduce a file, concedere ad un utente il permesso di accedere, modificare e addirittura cancellare un file può avere ripercussioni nefaste sul funzionamento di un sistema. Non parliamo dei permessi che normalmente concediamo alle app installate ma di permessi di accesso al file system, la parte di software che sta sotto all’interfaccia grafica. Per Unix anche se siamo i legittimi proprietari del nostro terminale non abbiamo comunque il diritto di accedere ad alcune porzioni del sistema che appartengono, appunto, al sistema. Viceversa il sistema può accedere ai nostri dati e file per gestirli nella maniera in cui è stato programmato. Per cui come utenti standard possiamo al massimo leggere il contenuto delle parti riservate al sistema perchè il contenuto non ci appartiene.

Rootb

E qui entra in scena l’utente root. Questo superutente ha permessi di accesso ad ogni singolo file del vostro sistema, non c’è nessuna operazione che gli sia preclusa. Potrebbe dirvi che la vostra batteria è completamente carica anche se il livello reale è inferiore alla metà, potrebbe dire alla CPU del vostro terminale di non spegnersi mai o di non riattivarsi, o di funzionare a frequenze diverse da quelle impostate dal costruttore. In parole povere l’utente root può fare funzionare meglio o peggio il vostro terminale Android.

Quello che l’utente root non può fare è eseguire le operazioni da solo. Potete impartire dei comandi tramite console o sessioni ADB oppure installare delle applicazioni che eseguono particolari comandi. Quando usate un’app tipo Root Explorer per accedere ai file di sistema state semplicemente inviando dei comandi come utente root. Sembra “magia” perchè tutto quello che dovete fare è installare un’app dal Play Store.

Arriviamo al fattore sicurezza: molte volte le app richiedono i permessi di root perchè gli sviluppatori preferiscono utilizzare delle scorciatoie invece di sfruttare correttamente gli SDK forniti da Google insieme alla console ADB. E siccome tutto si riduce a file e l’utente root ha accesso a tutti i file, non c’è nessun ostacolo per un malintenzionato che voglia rubare la password del vostro conto corrente bancario o i dati della vostra carta di credito.

Rootc

Per questo motivo un dispositivo Android non esce di fabbrica con i permessi di root attivi. HTC o Sony non sanno se siamo degli utenti coscienziosi o degli utenti totalmente imbranati capaci solo di cliccare “Ok” su tutto quello che capita a tiro. Perchè “giocando” con i permessi di root e distruggendo il sistema non c’è modo, se non nei terminali Nexus, di ripristinare tutto alle condizioni di fabbrica. Perchè se Google fornisce gli strumenti per sbloccare un Nexus e i software per ripristinare tutto, gli altri competitor non lo fanno.

Quindi, quando decidete di abilitare i permessi di root sul vostro telefono, pensateci bene se ne vale veramente la pena.