Cum detectarea rădăcinii unui joc anime a dus la descoperirea unei vulnerabilități de securitate în telefoanele de la LG, OnePlus, Huawei, Xiaomi și alții

click fraud protection

S-a constatat că smartphone-urile de la mai mulți producători precum LG, OnePlus, Huawei, Xiaomi scurg informațiile despre proces ale aplicațiilor. Iată ce înseamnă asta.

Sistemul de operare Android mobil este utilizat pe peste 2 miliarde de dispozitive în fiecare lună atât de către consumatori obișnuiți, cât și de către pasionați de tehnologie. Deși numărul de persoane care deblochează bootloader-ul și își rootează smartphone-urile este relativ mic când în comparație cu populația totală de utilizatori Android, suntem încă mulți dintre noi pe forumuri precum XDA și Reddit. Magisk este un instrument indispensabil pentru comunitatea de reparații. Oferă acces root fără sistem și are instrumente precum MagiskHide pentru a permite utilizatorilor rootați să continue să folosească aplicațiile, jocurile și serviciile de care se bucură fără restricții. Cu toate acestea, un joc anime popular a abuzat inteligent de o vulnerabilitate de securitate a sistemului pentru a ocoli detectarea anti-rădăcină a Magisk. Iată cum funcționează și ce dispozitive sunt afectate de această vulnerabilitate de securitate.

  • Un joc a folosit o eroare pentru a detecta dacă un dispozitiv a fost rootat. Dacă dispozitivul este rootat, jocul blochează utilizatorul să se joace.
  • Bug-ul permite unei aplicații să citească starea altor aplicații din memorie, fără a avea nevoie de permisiuni speciale. Bug-ul nu permite aplicațiilor să fure date de la alte aplicații. Bug-ul nu este grav și este destul de inofensiv.
  • Google este deja conștient a problemei și și-a actualizat instrumentele de testare pentru a se asigura că toate dispozitivele sunt protejate.

fundal

Un joc anime popular numit Fate/Grand Order împiedică utilizatorii înrădăcinați să încerce să joace jocul. Dezvoltator recunoscut XDA topjohnwu, dezvoltatorul principal al Magisk, anterior a descoperit o cale pentru a ocoli detectarea rădăcinii lui Fate/Grand Order, dar soluția sa nu funcționa pe OnePlus 6, în ciuda eforturilor sale. Hotărât să nu renunțe, dezvoltatorul a analizat Fate/Grand Order pentru a-și da seama cum detectează încă root pe dispozitivul său OnePlus. După cum explică el în al lui Postare medie, acest lucru l-a condus la descoperirea unei vulnerabilități de securitate de care se pare că Fate/Grand Order a abuzat pentru a continua să detecteze accesul root pe dispozitivele OnePlus.

Fate/Grand Order (engleză)Dezvoltator: Aniplex Inc.

Pret: Gratuit.

4.

Descarca

Procfs și Android

Pe sistemele de operare bazate pe Unix, există un sistem de fișiere special numit „procfs” care conține informații despre procese (gândiți-vă la aplicații), cum ar fi utilizarea memoriei (gândiți-vă la RAM), starea (dacă procesul rulează, dormit etc.). Pe majoritatea sistemelor de operare bazate pe Unix, utilizatorul și aplicațiile au acces ușor la procfs pentru a vedea ce tipuri de aplicațiile și serviciile rulează pe sistemul lor (gândiți-vă la asta ca Managerul de activități din Windows.) Cu toate acestea, Google A inceput sa blocați accesul la procfs începând cu Android 7.0 Nougat. Înainte de Android Nougat, aplicațiile precum SystemPanel puteau colecta date despre aplicațiile care rulau fără a avea nevoie de permisiuni speciale. După Android Nougat, aplicațiile trebuie să utilizeze API-uri precum UsageStats sau Serviciul de accesibilitate, ambele fiind protejate de permisiuni care trebuie acordate de utilizator.

Panoul de sistem 2Dezvoltator: NextApp, Inc.

Pret: Gratuit.

4.2.

Descarca

Google împiedică aplicațiile să citească starea altor aplicații prin intermediul procfs prin montarea /proc cu indicatorul „hidepid=2”. Prin montarea procfs cu hidepid=2, aplicațiile pot vedea doar starea propriului proces. Astfel, o aplicație ar trebui să folosească API-urile acceptate, cum ar fi UsageStats sau AccessibilityService, pentru a obține informații despre aplicațiile și serviciile care rulează pe dispozitiv.

Vulnerabilitate

Ce se întâmplă dacă procfs nu este montat cu hidepid=2? Ei bine, atunci aplicațiile ar putea în mod liber să citească starea altor aplicații (și puncte de montare) care rulează pe sistem fără a avea nevoie de permisiuni suplimentare*. Google montează procf-uri cu hidepid=2 pe propriile dispozitive, dar nu aplică această cerință pe dispozitivele de la alți producători. Mai multe dispozitive de la LG, OnePlus, Huawei/Honor, Xiaomi și altele nu au montat procf-uri cu hidepid=2, de care profită aplicații precum Fate/Grand Order pentru a detecta dacă Magisk este prezent pe dispozitivul.

*O modificare de securitate în Android 9 Pie împiedică aplicațiile să citească informații în afara propriului „context SELinux”, deoarece fiecare aplicație este acum izolată individual. SELinux este un modul de kernel care acționează ca un fel de gardian, blocând aplicațiile și serviciile să acceseze fișierele pe care nu ar trebui să le facă. Un context SELinux este ca o etichetă pentru un fișier care conține informații precum utilizatorul și rolul. Aplicațiile cu același context SELinux pot citi informații despre alte aplicații în același context dacă indicatorul hidepid=2 nu este activat pentru procfs. Pe dispozitivele care rulează Android 9 Pie, numai aplicațiile care sunt create pentru Android Pie vor avea noile modificări SELinux ale Android Pie. Aplicațiile care vizează Android 8.1 Oreo sau mai puțin vor folosi vechile reguli SELinux, permițându-le să acceseze informații despre procese în același context SELinux atâta timp cât procfs este montat fără ascuns=2. Majoritatea aplicațiilor care rulează pe dispozitivul dvs. ar trebui să vizeze cel puțin Android 8.0 Oreo datorită noi cerințe Google Play, dar multe nu vor fi actualizate pentru a viza Android Pie încă.

Următoarele capturi de ecran arată consecințele nemontării procf-urilor cu hidepid=2.

Cât de rău este asta?

Dacă ar fi să comparăm această vulnerabilitate a sistemului cu exploit-uri precum Fusée Gelée, Blueborne, KRACK, și Meltdown/Spectre, atunci acest bug palid în comparație. Aplicațiile nu pot folosi acest lucru pentru a obține acces root sau pentru a vă fura parolele. Conturile dvs. bancare sunt în siguranță, la fel și cardurile dvs. de credit. Cel mai rău lucru pe care îl poate face o aplicație este să spună dacă o altă aplicație rulează pe dispozitivul tău, care are utilizări foarte limitate. Amintiți-vă că acesta este un comportament standard pe multe distribuții GNU/Linux și că Google a început abia recent să blocheze accesul la procfs cu Android Nougat. Această eroare permite aplicațiilor să ocolească care au nevoie de anumite permisiuni pentru a monitoriza alte procese, dar încă nu pot sparge sandbox-ul Android și nu pot fura date din alte aplicații. Indiferent, acesta este un comportament neintenționat și rupe o caracteristică de confidențialitate a Android, așa că trebuie remediat.

Este dispozitivul meu afectat?

Iată o listă de dispozitive pe care le-am găsit că nu montează procf-uri cu hidepid=2:

OEM

Dispozitiv

Versiunea Android

Procfs Scurgeri

Asus

ZenFone 5Z

Android 8.0 Oreo

da

Mure

CHEIA 2

Android 8.0 Oreo

Nu

Esenţial

PH-1

Android 9 Pie

Nu

Google

Pixel 2

Android 9 Pie

Nu

Google

Pixel 3

Android 9 Pie

Nu

Google

Pixel 3 XL

Android 9 Pie

Nu

Onora

Magia 2

Android 9 Pie

da

HTC

U12+

Android 8.0 Oreo

da

Huawei

Mate 20 X

Android 9 Pie

da

LG

G7 ThinQ

Android 8.0 Oreo

da

LG

V40 ThinQ

Android 8.1 Oreo

da

Motorola

Moto G4

Android 8.1 Oreo

Nu

Nokia

7.1

Android 8.1 Oreo

Nu

OnePlus

6

Android 8.1 Oreo/Android 9 Pie

da

OnePlus

6T

Android 9 Pie

da

Razer

Telefon 2

Android 8.1 Oreo

da

Samsung

Galaxy Note 8

Android 8.0 Oreo

Nu

Samsung

Galaxy Note 9

Android 8.1 Oreo/Android 9 Pie

Nu

Samsung

Galaxy S7

Android 8.0 Oreo

Nu

Samsung

Galaxy S8

Android 8.0 Oreo

Nu

Samsung

Galaxy S9

Android 9 Pie

Nu

Samsung

Galaxy S9+ (Exynos)

Android 8.0 Oreo

da

Sony

Xperia XZ1

Android 9 Pie

Nu

Xiaomi

Mi Mix 2S

Android 9 Pie

da

Xiaomi

POCO F1

Android 8.1 Oreo

da

Cum să verificați dacă dispozitivul dvs. este afectat

Este destul de ușor să verificați dacă dispozitivul dvs. scurge informații despre proces către alte aplicații (cu alte cuvinte, procfs nu este montat cu hidepid=2). Deși puteți utiliza comenzile shell așa cum am făcut noi, puteți verifica și folosind o aplicație dezvoltată de topjohnwu. Aplicația sa vă permite, de asemenea, să remontați procf-uri cu hidepid=2, dacă telefonul este rootat.

Descărcați ProcGate

Va fi o remediere?

Da, asta se va rezolva. Google va cere acum ca toate dispozitivele să monteze procf-uri cu hidepid=2. Ei vor aplica acest lucru până la actualizare Compatibility Test Suite (CTS), un set de teste pe care toate dispozitivele trebuie să le treacă pentru a putea folosi aplicațiile și serviciile Google Play. Toți OEM (care doresc să vândă dispozitive cu Magazinul Google Play preinstalat) trebuie să emită în cele din urmă o actualizare pentru a remonta procf-urile cu hidepid=2 în viitorul apropiat. Deoarece dispozitivele OnePlus au fost primele care au fost descoperite cu această problemă, OnePlus a fost deja anunțat și lucrează la o remediere. Vom actualiza acest articol dacă alți OEM comentează această eroare, dar nu trebuie să ne întrebăm dacă OEM-ul dispozitivului dvs. va emite o actualizare. Dacă doresc ca actualizarea lor să treacă de CTS, atunci trebuie să remedieze această eroare.