Pro e contro del rooting utilizzando app ("Soft Root") rispetto ad altri metodi ("Hard Root")


14

Esistono diversi metodi di rooting basati su app. Una recente recensione di 9 app software gratuite per il root dei dispositivi Android , ne indica alcune e potrebbero esserci più app, a pagamento o altro.

Da quello che ho capito,

Punti positivi

  1. Facilità di rooting

  2. Non ho bisogno di un laptop o computer

Aspetti negativi

  1. Basato su exploit, quindi potrebbe non funzionare se gli exploit vengono negati dagli aggiornamenti del sistema operativo

  2. Difficoltà a annullare il root (come vedo in alcuni forum per il mio dispositivo Huawei Honor 6)

Domande:

  • Quali sono i pro ei contro a parte quanto sopra?
  • Se un dispositivo ha entrambe le opzioni: il rooting basato sull'app e il rooting tramite metodi da parte degli sviluppatori, quale dovrei optare?

Nota: non sto cercando suggerimenti o raccomandazioni per le app.


Il mio approccio personale è sempre stato quello di stare alla larga dal rooting basato su app finché è disponibile un ripristino personalizzato funzionante che può essere scaricato dal bootloader. L'esistenza stessa delle app root con 1 clic e la loro corretta implementazione per un dispositivo implica che il dispositivo presenta una grave vulnerabilità (che può essere sfruttata da un'app, se necessario) che non è stata patchata dal suo utente o dal suo sviluppatore (OEM). Detto questo, il mio primo rooting è stato fatto usando un'app root con 1 clic (Framaroot). :)
Firelord

Risposte:


5

Ci sono alcuni vantaggi nel rooting usando il processo ufficiale.

  1. È ufficialmente supportato su molti telefoni. Ciò significa che è possibile utilizzare un processo documentato dal produttore e strumenti da una fonte ufficiale o una terza parte affidabile (CWM o TWRP), invece di dover eseguire uno strumento ottenuto da un sito Web non sicuro.

  2. Poiché è ufficialmente supportato, la maggior parte delle volte, un aggiornamento del sistema non cambierà il processo, quindi non è necessario cercare il metodo di rooting "più recente". Al contrario, gli aggiornamenti software tendono a correggere le vulnerabilità, quindi i metodi di exploit spesso smettono di funzionare dopo un aggiornamento.

  3. A causa di quanto sopra, dopo aver eseguito il "soft root" potresti essere tentato di non installare un aggiornamento del sistema, poiché tale aggiornamento corregge la vulnerabilità e impedisce il funzionamento del metodo di rooting. Con il processo ufficiale, non c'è motivo di rimanere su una versione precedente e vulnerabile.

Oltre alla comodità di un metodo con un clic (menzionato nella domanda), ci sono altri vantaggi nel farlo in questo modo.

  1. Lo sblocco del bootloader su "hard root" cancella il telefono, quindi è necessario impostare di nuovo le cose e ripristinare i dati dal backup. In genere il "soft rooting" tramite una vulnerabilità non ha bisogno di cancellare il telefono e questo può essere molto più conveniente.

  2. Poiché il rooting modifica la partizione di sistema, in genere non è possibile eseguire in seguito un aggiornamento OTA: il programma di aggiornamento riconosce che il sistema è stato modificato e viene salvato. Ma alcuni metodi "soft root" su alcuni telefoni evitano questo problema, quindi puoi fare un aggiornamento OTA senza dover annullare il root o il flash di una nuova immagine di sistema. Anche questo è un po 'più semplice. Ad ogni modo, dovrai comunque eseguire nuovamente il root dopo un aggiornamento.

  3. Dal momento che non è necessario sbloccare il bootloader, non c'è alcuna tentazione di lasciarlo sbloccato. Ciò ha il vantaggio in termini di sicurezza che le persone non possono eseguire il flashing di nuove ROM sul telefono (ad es. Se viene rubato e vogliono eludere il blocco dello schermo o la protezione ripristinata in fabbrica).

Ciò che Beeshyams dice sulla sicurezza è importante, ma per me è irrilevante per la domanda. È utile sottolineare o ricordare alle persone che ogni metodo di "soft rooting" sfrutta una vulnerabilità di sicurezza e che il malware potrebbe utilizzare la stessa vulnerabilità per installare i rootkit sul telefono. Tuttavia, la vulnerabilità esiste indipendentemente dal fatto che la usi o meno. Il rischio per la sicurezza deriva dalla possibilità del metodo di rooting. Il rooting del telefono sfruttando la vulnerabilità non lo rende più sfruttabile, o peggio.

Se il tuo telefono può essere rootato da un'app / exploit di root , allora è vulnerabile al malware. Questo è vero lo stesso indipendentemente dal fatto che si esegua il root o quale metodo si utilizza. Non usare l'exploit (facendo invece un "hard root", o semplicemente non eseguendo il root) non ti proteggerà dal malware, ridurrà la tua esposizione.


4

Su richiesta dell'OP, alcuni dettagli della chat :

Bella domanda, ma difficile rispondere: ci sono alcune altre cose da considerare.

  1. non si tratta solo di "app based vs. USB" - e anche la tua "difficoltà nello sradicamento" non è necessariamente colpa di "app based" in generale, ma piuttosto quella di un'app specifica che causa tale difficoltà.
  2. Da un punto di vista della sicurezza: se esiste un'app che può eseguire il root del mio dispositivo, chi dice che un'altra app non lo fa senza il mio consenso? Sappiamo tutti che c'è del malware là fuori che fa esattamente questo (al fine di integrarsi come app di sistema, per essere protetto dal ripristino delle impostazioni di fabbrica).
  3. Tuttavia, se non esiste tale app (e nella speranza che sia perché non può essere eseguita da un'app su questo dispositivo / ROM), è molto più difficile per tale malware. Se poi c'è un metodo semplice tramite USB, mi sento un po 'più sicuro :) È piuttosto improbabile che qualche altra app riesca a collegare un cavo USB, scaricare qualcosa sul mio computer ed eseguire quella combinazione per fare del male.

Quindi sopra potrebbe essere considerato "basato su contra app", ma se tale app esiste già per il dispositivo in questione, non c'è molto che possiamo fare. Anche se diciamo "è più sicuro il contrario", ciò non ci protegge dal secondo. Certo, possiamo verificarlo prima di acquistare un dispositivo, ma chi dice che tale app non viene visualizzata il giorno dopo?


3

Grazie ad AndrewT che ha pubblicato un link in chat , avendo questo documento di ricerca come riferimento in una delle risposte . Questa risposta è interamente basata su questo documento (maggio 2015) ed evidenzia aspetti comprensibili dell'utente comune (ha un sacco di materiale relativo alla sicurezza per gli interessati)


  • Quali sono i pro ei contro a parte quanto sopra?

  • Se un dispositivo ha entrambe le opzioni: il rooting basato sull'app e il rooting tramite metodi da parte degli sviluppatori, quale dovrei optare?

Risposta: riguarda la vulnerabilità del malware. L'uso degli exploit di root è un ENORME rischio per la sicurezza e questo appesantisce qualsiasi altro vantaggio

Che cos'è Soft Root e Hard Root?

  • Soft Root: il root si ottiene direttamente eseguendo un software (ad esempio exploit di root) - installandolo direttamente sul dispositivo o richiedendo adbshell tramite una connessione al PC

  • Hard Root: il root si ottiene eseguendo il flashing del binario esternamente tramite un pacchetto di aggiornamento o una ROM

Minaccia malware - in generale

  • Anche se legittimi, molti pratici metodi di root con un clic funzionano sfruttando le vulnerabilità nel sistema Android. Se non attentamente controllati, tali exploit possono essere abusati dall'autore di malware per ottenere privilegi di root non autorizzati.

  • Come descritto in Android Malware Genome Project , il 36,7% (su 1260) campioni di malware aveva incorporato almeno un exploit di root.

  • Questi exploit ben progettati non sono ben protetti, è estremamente pericoloso se cadono nelle mani sbagliate.

Chi sono i principali fornitori di root e in generale, come funziona?

inserisci qui la descrizione dell'immagine

Quali sono i tipi di exploit root?

L'articolo copre 78 exploit studiati. In generale, l'ordine di impatto (dal più alto al più basso ):

  • Exploit del kernel: grazie alla sua posizione privilegiata, il targeting del kernel Linux è naturale per ottenere il pieno controllo su un dispositivo Android, ad esempio TowelRoot

  • Exploit delle librerie : gli exploit destinati alle librerie utilizzate dai processi di sistema Android o librerie esterne utilizzate per supportare diverse applicazioni, ad esempio exploit ZergRush, libsysutils utilizzati dal demone di Volume Manager

  • Quadro applicativo e applicativo Sfruttamento root a livello di applicazione: exploit rivolti ad applicazioni o servizi di sistema, per lo più includono logiche vulnerabili introdotte da setuidutility, applicazioni di sistema o servizi. esempio è setuidun'utilità vulnerabile presente solo su dispositivi XoomFE che presenta una vulnerabilità all'iniezione di comandi

  • Kernel o driver specifici del fornitore : i fornitori personalizzano il kernel (ad esempio, il ramo del kernel Linux personalizzato di Qualcomm) o forniscono driver di dispositivo specifici del fornitore per varie periferiche (ad esempio, telecamera, suono). Tale codice viene eseguito all'interno dello spazio del kernel e il suo compromesso può anche portare al pieno controllo del dispositivo.

Per quanto riguarda il numero , gli exploit sono come nella figura seguente

inserisci qui la descrizione dell'immagine

Quanto è difficile mettere le mani su Exploit (sorgente o binario)?

Molto facile.Facilmente disponibile dalla ricerca di Google, rendendolo un gioco da ragazzi per gli autori di malware per sfruttare tali exploit. Googling per 73 exploit porta a renderne disponibili 68 - 46 con codice sorgente e 22 con file binari

Come funzionano questi exploit?

Requisiti principali per il funzionamento degli exploit (ordinati dal più difficile al meno ) (il tag contiene molte di queste istanze)

  • Interazioni utente richieste: (6 su 78 studiate)

    • Chiedere all'utente di scaricare un'app e interrompere manualmente l'installazione
    • Chiedere all'utente di avviare il ripristino almeno una volta.
    • Chiedere all'utente di mettere manualmente il dispositivo in modalità "risparmio batteria".
    • Chiedere all'utente di aprire un'app specifica del fornitore e premere un pulsante
  • Richiede adbshell tramite una connessione PC: (17 su 78 studiati). Per alcuni exploit, adbè richiesta la connessione shell a causa dei seguenti motivi più comuni:

    • L'exploit può modificare correttamente un'impostazione in local.propcui abilita root adbsolo per la shell.

    • L'exploit deve scrivere in un file di proprietà della shell di gruppo e scrivibile in gruppo (non scrivibile in tutto il mondo)

    • L'exploit prende di mira il processo del demone adb che richiede l'esecuzione del processo di attacco con l'utente shell. Ad esempio, l' exploit Rage Against the Cage prende di mira la vulnerabilità del controllo mancante del daemon adb sul valore restituito disetuid()

  • Riavvio: (6 su 78 studiati) In genere, molti exploit di root richiedono almeno un riavvio. Ad esempio, un attacco simbolico al collegamento consentirebbe a un utente malintenzionato di eliminare un file di proprietà del sistema con autorizzazioni deboli, per impostare un collegamento nella stessa posizione in un file protetto. Dopo un riavvio, gli script di init corrispondenti tenterebbero di modificare l'autorizzazione del file originale in scrivibile a livello mondiale, che in realtà cambia l'autorizzazione del file collegato

  • Nessuna o autorizzazione: (44 su 78 studiati) Gli exploit in questa categoria non hanno requisiti rigidi, tuttavia, alcuni di essi potrebbero richiedere determinate autorizzazioni Android come READ LOGSper far sì che il proprietario del processo venga inserito in un determinato gruppo di utenti.

Questi exploit possono essere rilevati da Anti-Virus?

Poiché gli exploit di root sono altamente sensibili e possono essere sfruttati da vari malware Android, si prevede che i software antivirus su piattaforma Android possano identificarne la maggior parte, inclusi quelli implementati dai provider di root. Nel complesso, il risultato mostra che i prodotti di sicurezza all'avanguardia sulla piattaforma Android non sono ancora in grado di affrontare efficacemente gli exploit di root

Sono stati utilizzati 4 prodotti antivirus Android rappresentativi per testare il più grande fornitore (nome non rivelato) con 167 exploit. Poiché gli exploit originariamente scaricati dal database dei provider hanno impacchettato il codice di exploit effettivo e utilizzato un meccanismo di rilevamento di manomissioni, studia 3 versioni diverse per ogni exploit:

  1. Exploit originale prelevato direttamente dai server dei provider, con impacchettamento e rilevazione manomissione attivi.

  2. Exploit non compresso, che esporrà tutta la logica di exploit effettiva ai prodotti antivirus.

  3. Reimpacco exploit con rilevamento manomissione disabilitato.

I file binari di exploit progettati da grandi provider di root sono sorprendentemente "puliti" poiché tutti i principali software antivirus hanno difficoltà a rilevarli come mostra la tabella seguente

inserisci qui la descrizione dell'immagine

Conclusione

Semplice. Stai lontano dai metodi di Soft Root se non sei in grado di affrontarne le conseguenze


3
Sento che ti manca il punto sugli exploit qui. Se il tuo telefono ha una vulnerabilità che può essere utilizzata da una "radice virtuale", il malware può sfruttare quella vulnerabilità indipendentemente dal fatto che la usi o meno. Il rooting del telefono sfruttando una vulnerabilità non lo rende più vulnerabile.
Dan Hulme,

@DanHulme: concordato sul fatto che non aumenta la vulnerabilità. All'inizio ho posto la domanda per capire, perché e quale (soft / hard root) è meglio - in tal senso, c'è una risposta (nonostante l'esistenza di vulnerabilità). Tuttavia, se ritieni che la risposta possa essere migliorata integrando la tua vista, non esitare a farlo
beeshyams,

2
Semplicemente non penso che quello che stai dicendo sul pericolo di queste vulnerabilità abbia alcun peso sulla questione di quale metodo scegliere.
Dan Hulme,

4
È come la seguente domanda e risposta. "Ho una porta d'ingresso con una chiave e una porta posteriore che non chiudo mai. Quale dovrei usare per entrare in casa mia?" "Non dovresti usare la porta posteriore sbloccata perché un ladro potrebbe entrare in quel modo." La porta è sbloccata sia che la usi o meno.
Dan Hulme,

1
Bella analogia. Apt. Più si cerca di capire la sicurezza, più ci si rende conto di quanto meno protetto
Beeshyams,
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.