Plusy i minusy rootowania za pomocą aplikacji („Soft Root”) w porównaniu do innych metod („Hard Root”)

14

Istnieje wiele metod rootowania opartych na aplikacjach. Niedawna recenzja 9 darmowych aplikacji do rootowania urządzeń z Androidem , wskazuje na niektóre z nich, a może być więcej aplikacji płatnych lub innych.

Z tego co rozumiem

Plus Points

  1. Łatwość rootowania

  2. Nie potrzebujesz laptopa ani komputera

Wady

  1. Na podstawie exploitów, więc może nie działać, jeśli exploity są odrzucane przez aktualizacje systemu operacyjnego

  2. Trudności z odrejestrowaniem (jak widzę na niektórych forach dla mojego urządzenia Huawei Honor 6)

Pytania:

  • Jakie są zalety i wady oprócz powyższych?
  • Jeśli urządzenie ma obie opcje - rootowanie w oparciu o aplikację i rootowanie metodami przez programistów, na które należy wybrać?

Uwaga: nie szukam sugestii ani rekomendacji dla aplikacji.

beeshyams
źródło
Moim osobistym podejściem zawsze było unikanie rootowania opartego na aplikacji, dopóki dostępne jest działające niestandardowe odzyskiwanie i można je sflashować z bootloadera. Samo istnienie aplikacji root 1-kliknięciem i udana ich implementacja na urządzeniu implikuje, że urządzenie ma poważną lukę (którą może wykorzystać aplikacja, jeśli zajdzie taka potrzeba), która nie została załatana przez użytkownika lub jego programista (OEM). To powiedziawszy, moje pierwsze rootowanie zostało wykonane przy użyciu aplikacji root 1-click (Framaroot). :)
Firelord

Odpowiedzi:

5

Istnieje kilka zalet rootowania przy użyciu oficjalnego procesu.

  1. Jest oficjalnie obsługiwany na wielu telefonach. Oznacza to, że możesz korzystać z procesu udokumentowanego przez producenta oraz narzędzi z oficjalnego źródła lub wiarygodnej strony trzeciej (CWM lub TWRP), zamiast konieczności uruchamiania narzędzia otrzymanego z podejrzanej witryny.

  2. Ponieważ jest to oficjalnie obsługiwane, aktualizacja systemu przez większość czasu nie zmienia procesu, więc nie musisz rozglądać się za „najnowszą” metodą rootowania. Natomiast aktualizacje oprogramowania mają tendencję do łatania luk w zabezpieczeniach, więc metody exploitów często przestają działać po aktualizacji.

  3. Z tego powodu po „miękkim rootowaniu” może pojawić się pokusa, aby nie instalować aktualizacji systemu, ponieważ ta aktualizacja usuwa lukę w zabezpieczeniach i zatrzymuje działanie metody rootowania. Dzięki oficjalnemu procesowi nie ma powodu, aby pozostać przy starej, wrażliwej wersji.

Oprócz wygody metody jednym kliknięciem (wspomnianej w pytaniu), istnieją inne zalety robienia tego w ten sposób.

  1. Odblokowanie bootloadera do „twardego roota” powoduje wyczyszczenie telefonu, więc musisz ponownie skonfigurować ustawienia i przywrócić dane z kopii zapasowej. Zazwyczaj „miękkie rootowanie” przez lukę w zabezpieczeniach nie wymaga czyszczenia telefonu, a to może być o wiele wygodniejsze.

  2. Ponieważ rootowanie modyfikuje partycję systemową, zazwyczaj nie można później wykonać aktualizacji OTA: program aktualizujący rozpoznaje, że system został zmodyfikowany, i generuje kaucję. Ale niektóre metody „miękkiego rootowania” w niektórych telefonach unikają tego problemu, więc możesz wykonać aktualizację OTA bez konieczności restartowania lub flashowania nowego obrazu systemu. To jest trochę łatwiejsze. Tak czy inaczej, po aktualizacji nadal będziesz musiał rootować.

  3. Ponieważ nie musisz odblokowywać bootloadera, nie ma pokusy, aby go odblokować. Ma to tę zaletę, że ludzie nie mogą sflashować nowych pamięci ROM do telefonu (np. Jeśli zostaną skradzione i chcą obejść blokadę ekranu lub przywrócić ustawienia fabryczne).

To, co Beeshyams mówi o bezpieczeństwie, jest ważne, ale moim zdaniem nie ma znaczenia dla pytania. Warto zwrócić uwagę lub przypomnieć ludziom, że każda metoda „miękkiego rootowania” wykorzystuje lukę w zabezpieczeniach, a złośliwe oprogramowanie może wykorzystać tę samą lukę do zainstalowania rootkitów w telefonie. Jednak istnieje luka, niezależnie od tego, czy z niej korzystasz, czy nie. Ryzyko bezpieczeństwa wynika z możliwości metody rootowania. Zrootowanie telefonu poprzez wykorzystanie luki nie czyni go bardziej podatnym na wykorzystanie, ani gorzej.

Jeśli Twój telefon może zostać zrootowany przez rootującą aplikację / exploit, jest on podatny na złośliwe oprogramowanie. Jest to tak samo niezależnie od tego, czy go zrootujesz, czy jakiej metody używasz. Nieużywanie exploita (poprzez wykonanie „twardego roota” lub po prostu nie rootowanie) nie ochroni cię przed złośliwym oprogramowaniem, ani nie zmniejszy twojej ekspozycji.

Dan Hulme
źródło
4

Na żądanie OP niektóre szczegóły z czatu :

Dobre pytanie, ale trudne do odpowiedzi: jest jeszcze kilka rzeczy do rozważenia.

  1. nie jest to tylko „aplikacja oparta na USB” - a nawet „Trudność w zrestartowaniu” niekoniecznie jest winą „opartej na aplikacji”, ale raczej konkretnej aplikacji powodującej tę trudność.
  2. Z punktu widzenia bezpieczeństwa: czy istnieje aplikacja, która może zrootować moje urządzenie - kto mówi, że inna aplikacja nie robi tego bez mojej zgody? Wszyscy wiemy, że złośliwe oprogramowanie właśnie to robi (w celu zintegrowania się z aplikacją systemową, aby chronić się przed przywróceniem ustawień fabrycznych).
  3. Jeśli jednak nie ma takiej aplikacji (i mamy nadzieję, że dzieje się tak, ponieważ aplikacja nie może tego zrobić na tym urządzeniu / pamięci ROM), takie złośliwe oprogramowanie jest znacznie trudniejsze. Jeśli wtedy jest łatwa metoda przez USB, czuję się trochę bezpieczniej :) Jest raczej mało prawdopodobne, aby jakaś inna aplikacja podłączyła kabel USB, pobrała coś na mój komputer i uruchomiła tę kombinację, aby zrobić krzywdę.

Dlatego powyższe może się liczyć jako „oparte na aplikacji contra” - ale jeśli taka aplikacja już istnieje dla danego urządzenia, niewiele możemy zrobić. Nawet jeśli powiemy „na odwrót jest bezpieczniej”, nie ochroni nas to przed # 2. Jasne, możemy to sprawdzić przed zakupem urządzenia - ale kto twierdzi, że taka aplikacja nie wyskakuje następnego dnia?

Izzy
źródło
3

Dzięki AndrewT, który opublikował link na czacie , mając ten artykuł badawczy jako punkt odniesienia w jednej z odpowiedzi . Ta odpowiedź jest całkowicie oparta na tym dokumencie (maj 2015 r.) I podkreśla wspólne zrozumiałe dla użytkownika aspekty (zawiera wiele materiałów związanych z bezpieczeństwem dla zainteresowanych)


  • Jakie są zalety i wady oprócz powyższych?

  • Jeśli urządzenie ma obie opcje - rootowanie w oparciu o aplikację i rootowanie metodami przez programistów, na które należy wybrać?

Odpowiedź: Chodzi o podatność na złośliwe oprogramowanie. Korzystanie z exploitów roota jest OGROMNYM zagrożeniem bezpieczeństwa i przewyższa wszelkie inne zalety

Co to jest miękki i twardy korzeń?

  • Soft Root: rootowanie uzyskuje się bezpośrednio przez uruchomienie oprogramowania (tj. Exploitów roota) - albo bezpośrednio instalując na urządzeniu, albo wymagając adbpowłoki przez połączenie z komputerem PC

  • Hard Root: root jest uzyskiwany przez flashowanie su binarnie zewnętrznie poprzez pakiet aktualizacji lub ROM

Zagrożenie złośliwym oprogramowaniem - ogólnie

  • Mimo że jest to uzasadnione, wiele wygodnych metod rootowania jednym kliknięciem wykorzystuje lukę w systemie Android. Jeśli nie będzie dokładnie kontrolowany, takie exploity mogą zostać wykorzystane przez autora złośliwego oprogramowania w celu uzyskania nieautoryzowanego uprawnienia root.

  • Jak opisano w Android Malware Genome Project , 36,7% (z 1260) próbek złośliwego oprogramowania zawierało co najmniej jeden exploit roota.

  • Te dobrze zaprojektowane exploity nie są dobrze chronione, jest bardzo niebezpieczne, jeśli wpadną w niepowołane ręce.

Kim są główni dostawcy root i jak to działa?

wprowadź opis zdjęcia tutaj

Jakie są rodzaje rootkitów?

Artykuł obejmuje 78 zbadanych exploitów. Ogólnie rzecz biorąc, kolejność uderzeń (od najwyższej do najniższej ):

  • Wykorzystanie jądra: Ze względu na jego uprzywilejowaną pozycję, celowanie w jądro Linuksa jest naturalne, aby uzyskać pełną kontrolę nad urządzeniem z Androidem - na przykład TowelRoot

  • Wykorzystania bibliotek: exploity atakujące biblioteki używane przez procesy systemu Android lub biblioteki zewnętrzne używane do obsługi różnych aplikacji, np. Exploit ZergRush, libsysutils używany przez demona Volume Manager

  • Application and Framework Framework exploity root warstwy aplikacji: exploity atakujące aplikacje lub usługi systemowe, w większości obejmują wrażliwe logiki wprowadzone przez setuidnarzędzia, aplikacje systemowe lub usługi. przykładem jest podatne setuidnarzędzie, które jest obecne tylko na urządzeniach XoomFE, które ma usterkę polegającą na wstrzykiwaniu poleceń

  • Jądro lub sterowniki specyficzne dla producenta: dostawcy albo dostosowują jądro (np. Niestandardowy oddział jądra Linuksa Qualcomm), albo dostarczają specyficzne dla dostawcy sterowniki urządzeń dla różnych urządzeń peryferyjnych (np. Kamery, dźwięku). Taki kod działa w przestrzeni jądra, a jego kompromis może również prowadzić do pełnej kontroli nad urządzeniem.

Pod względem liczby exploity są takie, jak na poniższym rysunku

wprowadź opis zdjęcia tutaj

Jak trudno jest położyć ręce na Exploit (Source lub Binary)?

Bardzo łatwe. Łatwo dostępny z wyszukiwarki Google, dzięki czemu autorzy złośliwego oprogramowania mogą łatwo wykorzystać takie exploity. Googlowanie dla 73 exploitów prowadzi do udostępnienia 68 z nich - 46 z kodem źródłowym i 22 z binariami

Jak działają te exploity?

Główne wymagania do działania exploitów (uporządkowane od najtrudniejszych do najmniej ) ( znacznik ma wiele takich wystąpień)

  • Wymagające interakcji użytkownika: (6 z 78 zbadanych)

    • Poprosić użytkownika o pobranie aplikacji i ręczne przerwanie instalacji
    • Poproszenie użytkownika o uruchomienie systemu przynajmniej raz.
    • Poproszenie użytkownika o ręczne przełączenie urządzenia w tryb „oszczędzania baterii”.
    • Poprosić użytkownika o otwarcie aplikacji konkretnego dostawcy i nacisnąć przycisk
  • Wymaganie adbpowłoki przez połączenie z komputerem: (17 z 78 zbadanych). W przypadku niektórych exploitów adbwymagane jest połączenie powłoki z następujących najczęstszych powodów:

    • Exploit może z powodzeniem modyfikować ustawienie, w local.propktórym włącza root adbtylko dla powłoki.

    • Exploit musi zapisać do pliku należącego do powłoki grupy i zapisywalny przez grupę (nie zapisywalny na całym świecie)

    • Exploit atakuje proces demona adb, który wymaga uruchomienia procesu ataku z użytkownikiem powłoki. Na przykład, exploit Rage Against the Cage atakuje podatność na brak sprawdzania przez demona adb zwracanej wartościsetuid()

  • Ponowne uruchomienie : (6 z 78 zbadanych) Zasadniczo wiele exploitów root wymaga co najmniej jednego ponownego uruchomienia. Na przykład symboliczny atak łącza umożliwiłby osobie atakującej usunięcie pliku należącego do systemu o słabych uprawnieniach i skonfigurowanie łącza w tym samym miejscu do chronionego pliku. Po ponownym uruchomieniu odpowiednie skrypty inicjujące podejmą próbę zmiany uprawnień oryginalnego pliku na świat do zapisu, co w rzeczywistości zmienia uprawnienia do podłączonego pliku

  • Brak lub pozwolenie: (44 z 78 zbadanych) Exploity w tej kategorii nie mają twardych wymagań, jednak niektóre z nich mogą wymagać pewnych uprawnień Androida, na przykład READ LOGSw celu umieszczenia właściciela procesu w określonej grupie użytkowników.

Czy te exploity mogą zostać wykryte przez antywirusa?

Ponieważ exploity roota są bardzo wrażliwe i mogą być wykorzystywane przez różne złośliwe oprogramowanie dla Androida, oczekuje się, że oprogramowanie antywirusowe na platformie Android może zidentyfikować większość z nich, w tym te wdrożone przez dostawców root. Ogólnie rzecz biorąc, wynik pokazuje, że najnowocześniejsze produkty bezpieczeństwa na platformie Android wciąż nie są w stanie skutecznie zaradzić exploitom root

Do przetestowania największego dostawcy (nazwa nie ujawniona) posiadającego 167 exploitów wykorzystano 4 reprezentatywne produkty antywirusowe na Androida . Ponieważ pierwotnie pobrane exploity z bazy danych dostawców spakowały rzeczywisty kod exploita i zastosowały mechanizm wykrywania manipulacji, przeanalizowano 3 różne wersje dla każdego exploita:

  1. Oryginalny exploit pobrany bezpośrednio z serwerów dostawców, z włączonym pakowaniem i wykrywaniem sabotażu.

  2. Rozpakowany exploit, który ujawni całą rzeczywistą logikę exploita produktom antywirusowym.

  3. Ponownie zapakowany exploit z wyłączoną funkcją wykrywania sabotażu.

Pliki binarne wykorzystywane przez dużych dostawców root są zaskakująco „czyste”, ponieważ wszystkie główne programy antywirusowe mają trudności z ich wykryciem, jak pokazuje poniższa tabela

wprowadź opis zdjęcia tutaj

Wniosek

Prosty. Z dala od metod Miękkie okopowe , chyba że są w stanie poradzić sobie z konsekwencjami

beeshyams
źródło
3
Mam wrażenie, że nie rozumiesz tu exploitów. Jeśli Twój telefon ma lukę, z której może korzystać „miękki root”, złośliwe oprogramowanie może wykorzystać tę lukę bez względu na to, czy z niej korzystasz, czy nie. Zrootowanie telefonu poprzez wykorzystanie luki nie czyni go bardziej podatnym.
Dan Hulme
@DanHulme: Zgodził się, że nie zwiększa podatności. Zadałem pytanie na początku, aby zrozumieć, dlaczego i który (miękki / twardy root) jest lepszy - w tym zakresie istnieje odpowiedź (nie wytrzymanie istnienia podatności). Jeśli jednak uważasz, że odpowiedź można poprawić, uwzględniając Twój pogląd, możesz to zrobić
beeshyams,
2
Po prostu nie sądzę, że to, co mówisz o niebezpieczeństwie tych luk, w ogóle ma związek z pytaniem, którą metodę wybrać.
Dan Hulme
4
To jest jak poniższe pytanie i odpowiedź. „Mam przednie drzwi z kluczem i tylne drzwi, których nigdy nie zamykam. Z których powinienem skorzystać, aby dostać się do mojego domu?” „Nie powinieneś korzystać z odblokowanych tylnych drzwi, ponieważ włamywacz może dostać się w ten sposób.” Drzwi są odblokowane, niezależnie od tego, czy ich używasz, czy nie.
Dan Hulme
1
Niezła analogia. Trafny.
Im