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 adb
powł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?
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 setuid
narzędzia, aplikacje systemowe lub usługi. przykładem jest podatne setuid
narzę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
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 złośliwego oprogramowania 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 adb
powłoki przez połączenie z komputerem: (17 z 78 zbadanych). W przypadku niektórych exploitów adb
wymagane jest połączenie powłoki z następujących najczęstszych powodów:
Exploit może z powodzeniem modyfikować ustawienie, w local.prop
którym włącza root adb
tylko 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 LOGS
w 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:
Oryginalny exploit pobrany bezpośrednio z serwerów dostawców, z włączonym pakowaniem i wykrywaniem sabotażu.
Rozpakowany exploit, który ujawni całą rzeczywistą logikę exploita produktom antywirusowym.
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
Wniosek
Prosty. Z dala od metod Miękkie okopowe , chyba że są w stanie poradzić sobie z konsekwencjami