Perché le app di rooting non funzionano più?


10

Un paio di anni fa, era facile eseguire il root di qualsiasi dispositivo: installa KingRoot, KingoRoot o un'app simile, premi il pulsante ROOT grande e lascia che faccia il resto. Dopo circa 5 minuti, un "Radice ha avuto successo!" verrà visualizzato un messaggio e possiamo scegliere di mantenere l'app di root o disinstallarla e installare un'app di gestione radice pulita come SuperSU / Superuser.

Come funzionano? Perché non funzionano più? E se funzionano, dovrei usarli o no?


2
Questo potrebbe essere utile, in particolare la VERIFIED / SECURE BOOTsezione: forum.xda-developers.com/android/general/…
Irfan Latif

Risposte:


16

Ho avuto questa domanda qualche mese fa e ho trovato questa risposta attraverso alcune ricerche, quindi ho pensato di condividere la mia ricerca in questo sito rispondendo alla mia domanda, considerando le informazioni false online. (Ad esempio, il sito ufficiale KingoRoot afferma che può eseguire il root su Android Oreo che è un'informazione completamente errata)

Come funzionano le app di rooting?

Esistono molte app di rooting, KingRoot, KingoRoot, Z4Root, Root Genius, Universal Androot per citarne alcune popolari / usate come app. Tutti usano exploit / vulnerabilità / scappatoie nel sistema operativo Android per darsi privilegi riservati alle app di sistema o persino al sistema operativo Android stesso. E poi montano come leggi / scrivi la directory denominata /systemche ospita i processi necessari per far funzionare il sistema e le app di sistema, e posiziona un binario chiamato suin un posto della directory, vale a dire /system/bin/su. Se alcune app richiedono il root, l'app esegue quel file binario e viene visualizzato un messaggio di richiesta per consentire o rifiutare l'accesso come root.

Gli exploit / le vulnerabilità che vengono scoperti ricevono un CVEID, quindi vengono dettagliati nel sito Web CVE e risolti nei bollettini sulla sicurezza di Android . Un esempio è la famigerata vulnerabilità di DirtyC0W a cui è stato assegnato il CVEID CVE-2016-5195, che ha afflitto e ancora affligge i kernel Linux più vecchi. Quasi tutte le app sopra menzionate sfruttano questa vulnerabilità.

Perché le app di rooting non funzionano più?

Come indicato nei bollettini precedenti, Google risolve una serie di problemi in Android ogni mese. Quindi l'ambito delle vulnerabilità sta diminuendo notevolmente. Tutte le vulnerabilità utilizzate finora dalle app di rooting sono state risolte nelle patch di sicurezza da qualche parte intorno al gennaio 2018 .

Ma ci possono essere problemi che alcuni produttori hanno dimenticato di patchare! Che ne pensi di loro?

Su Android 6.0.0 o versioni successive, il dispositivo non si avvierà più. Per capire la ragione di ciò, dobbiamo considerare un concetto chiamato Chain of Trust .

Chain of Trust , abbreviato CoT, è un meccanismo di sicurezza che è stato introdotto per proteggere il sistema operativo Android da virus e modifiche non autorizzate. Funziona come una catena di hardware e software, in cui ogni parte verifica la parte successiva. Su base dettagliata:

  1. Quando si accende il dispositivo, viene avviata una funzione hardware (a volte chiamata Boot ROM). La ROM di avvio viene masterizzata nell'hardware e non può essere modificata.
  2. La ROM di avvio verifica il primo software in CoT, il bootloader che è un BLOB binario non elaborato, a volte chiamato preloader. (Anche la ROM di avvio a volte carica e utilizza partizioni / binari personalizzati speciali a seconda del fornitore) Se il bootloader non supera le verifiche, il dispositivo si spegne. Se passa, la ROM di avvio esegue il bootloader.
  3. Il bootloader verifica le opzioni passate dalla ROM di avvio e seleziona la modalità di avvio appropriata. Le solite modalità di avvio che esistono su quasi tutti i dispositivi sono il normale avvio Android, Recovery e Fastboot / Download.

Se il bootloader è bloccato , verifica se la parte successiva di CoT da eseguire è intatta e, in caso affermativo, il bootloader lo esegue. In caso contrario, può arrestare, riavviare o rimanere bloccato in una modalità di bootloader speciale a seconda del modello del dispositivo.

Se il bootloader è sbloccato , non verifica la parte successiva di CoT ma la carica direttamente.

  1. La parte successiva si chiama partizione di avvio . Gestisce il modo di avviare il sistema stesso. Nelle versioni di Android su / più recenti di 6.0.0 (Lollipop), verifica anche se il sistema è integro e, se modificato, si arresta.

Come accennato prima, queste app di root sfruttano le vulnerabilità da modificare /system, che è verificato dalla partizione di avvio come indicato nella Fase 4 sopra. Pertanto, qualsiasi modifica impedirà l'avvio del dispositivo. Questo stato viene comunemente definito "soft-brick", che può essere risolto solo da un nuovo flash.

Pertanto, i dispositivi più recenti richiedono che il bootloader sia sbloccato se si desidera eseguire il root del dispositivo. Questi dispositivi sono radicati eseguendo il flashing di un ripristino con più opzioni rispetto al normale ripristino (come TWRP, ClockWorkMod), generalmente indicato come ripristino personalizzato e utilizzandolo per modificare la partizione di avvio (e disabilitare la verifica del sistema). È anche possibile modificare direttamente la partizione di avvio senza un ripristino personalizzato.

Alcuni produttori offrono un modo per sbloccare il bootloader e altri no. I popolari dispositivi con bootload bloccati (ad esempio dispositivi Samsung S bloccati dagli operatori statunitensi) tendono ad essere sfruttati dalla community di modding Android.

Il mio dispositivo è ancora Android 5.1.1 o precedente! Dovrei usarli per fare il root?

La maggior parte di quei dispositivi meno recenti è possibile eseguire il root dalle app di rooting. Quindi potresti. Dovresti? Dipende dalle tue preferenze. L'accesso root garantisce il potere su tutto nel sistema operativo e, con l'accesso root, di solito non ci vuole nemmeno un microsecondo per assicurarsi che il dispositivo non si riavvierà mai più. È molto probabile che le app di rooting non lo facciano mai, ma potrebbero farlo. Inoltre, con root un'app può accedere a tutto ciò che fa il tuo dispositivo e a tutto ciò che contiene in memoria, inclusi i dati della tua carta di credito, password, ecc. Se ti sembra una grave minaccia alla privacy, forse non utilizzare le app di root. Se non ti interessa, puoi provarli.

Se sei abbastanza esperto, ci sono le fonti di quasi tutti gli exploit utilizzati dalle app di root. Puoi provare a cercarli tramite CVEID, cercarli in Git, compilarli ed eseguirli e provare a ottenere una shell di root, e sarai in grado di installare sutu stesso il binario e le altre dipendenze.

Inoltre, KingoRoot è noto per l'invio di dati altamente sensibili come IMEI e numero di serie ai propri server. È probabile che non li useranno mai, ma questa è la tua decisione alla fine. E KingRoot è noto per l'installazione di una backdoor nel suo SDK che ha consentito ad alcune app di ottenere l'accesso root non autorizzato dall'utente.

Conclusione

L'era delle app di rooting è ormai lontana. Le app di rooting non funzionano più e se le usi su versioni Android più recenti rischi di eseguire il soft-bricking del tuo dispositivo e probabilmente di perdere tutti i tuoi dati. Se li usi su versioni Android supportate, funzionerebbero per la maggior parte del tempo, ma ci sono problemi di privacy e sicurezza che dovresti considerare prima di continuare.

Spero che la mia ricerca possa aiutare qualcuno in futuro che abbia lo stesso problema. :)


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.