Kako je otkrivanje korijena anime igre dovelo do otkrića sigurnosne ranjivosti u telefonima LG-a, OnePlus-a, Huawei-a, Xiaomi-ja i drugih

Utvrđeno je da pametni telefoni nekoliko proizvođača kao što su LG, OnePlus, Huawei, Xiaomi cure informacije o procesu aplikacija. Evo što to znači.

Koristi se mobilni operativni sustav Android preko 2 milijarde uređaja svaki mjesec od strane redovitih potrošača i tehnoloških entuzijasta. Iako je broj ljudi koji otključaju bootloader i rootaju svoje pametne telefone relativno mali kada u usporedbi s ukupnom populacijom korisnika Androida, još uvijek nas ima puno na forumima kao što su XDA i Reddit. Magisk je nezamjenjiv alat za zajednicu petljača. Omogućuje root pristup bez sustava i ima alate poput MagiskHidea koji omogućavaju rootanim korisnicima da nastave koristiti aplikacije, igre i usluge u kojima uživaju bez ograničenja. Međutim, popularna anime igra vješto je zlorabila sigurnosnu ranjivost sustava kako bi zaobišla Magiskovo anti-root otkrivanje. Evo kako to funkcionira i koji su uređaji pogođeni ovom sigurnosnom ranjivošću.

  • Igra je koristila bug za otkrivanje je li uređaj rootan. Ako je uređaj rootan, igra korisniku onemogućuje igranje.
  • Bug omogućuje aplikaciji čitanje statusa drugih aplikacija u memoriji, bez potrebe za posebnim dopuštenjima. Bug ne dopušta aplikacijama krađu podataka iz drugih aplikacija. Buba nije ozbiljna i prilično je bezopasna.
  • Google je već svjestan problema i ažurirali su svoje alate za testiranje kako bi bili sigurni da su svi uređaji zaštićeni.

Pozadina

Popularna anime igra Fate/Grand Order blokira rootane korisnike od pokušaja igranja igre. XDA priznati programer topjohnwu, prethodno glavni programer Magiska otkrio način kako bi zaobišao Fate/Grand Order otkrivanje roota, ali njegovo rješenje nije radilo na njegovom OnePlusu 6 unatoč njegovim najvećim naporima. Odlučan da ne odustane, programer je analizirao Fate/Grand Order kako bi otkrio kako još uvijek otkriva root na njegovom OnePlus uređaju. Kako objašnjava u svom Srednji post, to ga je dovelo do otkrića sigurnosne ranjivosti koju je Fate/Grand Order naizgled zlorabio kako bi nastavio otkrivati ​​root pristup na OnePlus uređajima.

Sudbina/Veliki poredak (engleski)Programer: Aniplex Inc.

Cijena: besplatno.

4.

preuzimanje datoteka

Procfs i Android

Na operativnim sustavima baziranim na Unixu, postoji poseban datotečni sustav koji se zove "procfs" i ​​sadrži informacije o procesa (mislim na aplikacije) kao što je njihova upotreba memorije (mislim na RAM), status (radi li se proces, spavanje itd.). Na većini operativnih sustava temeljenih na Unixu, korisnik i aplikacije imaju jednostavan pristup procf-ovima kako bi vidjeli koje vrste aplikacije i usluge pokreću se na njihovom sustavu (zamislite to kao Windowov Task Manager.) Međutim, Google počeo se zaključaj pristup procf-ovima počevši od Androida 7.0 Nougat. Prije Androida Nougata, aplikacije poput SystemPanela mogle su prikupljati podatke o tome koje su aplikacije pokrenute bez potrebe za posebnim dopuštenjima. Nakon Android Nougata, aplikacije moraju koristiti API-je poput UsageStats ili AccessibilityService, a oba su ograničena dopuštenjima koja mora dodijeliti korisnik.

SystemPanel 2Programer: NextApp, Inc.

Cijena: besplatno.

4.2.

preuzimanje datoteka

Google sprječava aplikacije da čitaju status drugih aplikacija putem procf-a tako što montira /proc s oznakom "hidepid=2." Montiranjem procfs s hidepid=2, aplikacije mogu vidjeti status samo svog procesa. Stoga bi aplikacija trebala koristiti prihvaćene API-je kao što su UsageStats ili AccessibilityService kako bi dobila informacije o tome koje se aplikacije i usluge pokreću na uređaju.

Ranjivost

Što ako procfs nije montiran s hidepid=2? Pa, onda bi aplikacije slobodno mogle čitati status drugih aplikacija (i točaka montiranja) koje se izvode na sustavu bez potrebe za dodatnim dozvolama*. Google montira procf-ove s hidepid=2 na svojim uređajima, ali ne provodi ovaj zahtjev na uređajima drugih proizvođača. Nekoliko uređaja iz LG-a, OnePlus-a, Huawei/Honor-a, Xiaomi-a i drugih nije montiralo procf-ove s hidepid=2, a to je ono što aplikacije poput Fate/Grand Order iskorištavaju da otkriju je li Magisk prisutan na uređaj.

*Sigurnosna promjena u Androidu 9 Pie sprječava aplikacije da čitaju informacije izvan vlastitog "SELinux konteksta" jer je svaka aplikacija sada zasebno izolirana. SELinux je kernel modul koji djeluje kao neka vrsta vratara, blokirajući aplikacije i usluge da pristupe datotekama koje ne bi trebale. SELinux kontekst je poput oznake za datoteku koja ima informacije poput korisnika i uloge. Aplikacije s istim SELinux kontekstom mogu čitati informacije o drugim aplikacijama u istom kontekstu ako oznaka hidepid=2 nije omogućena za procfs. Na uređajima sa sustavom Android 9 Pie, nove SELinux promjene Android Pie-a primijenit će se samo na aplikacije koje su napravljene za Android Pie. Aplikacije koje ciljaju na Android 8.1 Oreo ili niže verzije koristit će stara SELinux pravila, dopuštajući im pristup informacije o procesima u istom SELinux kontekstu sve dok je procfs montiran bez hidepid=2. Većina aplikacija koje se izvode na vašem uređaju trebala bi barem ciljati na Android 8.0 Oreo zahvaljujući novi zahtjevi Google Playa, ali mnogi još nisu ažurirani da ciljaju na Android Pie.

Sljedeće snimke zaslona pokazuju posljedice nemontiranja procf-ova s ​​hidepid=2.

Koliko je ovo loše?

Ako bismo ovu ranjivost sustava usporedili s eksploatacijama poput Fusée Gelée, Blueborne, PUKOTINA, i Meltdown/Spectre, onda je ova greška blijeda u usporedbi. Aplikacije to ne mogu koristiti za dobivanje root pristupa ili krađu vaših zaporki. Vaši bankovni računi su sigurni, kao i vaše kreditne kartice. Najgore što aplikacija može učiniti jest otkriti radi li na vašem uređaju neka druga aplikacija, koja ima vrlo ograničenu upotrebu. Imajte na umu da je ovo standardno ponašanje na mnogim distribucijama GNU/Linuxa i da je Google tek nedavno počeo blokirati pristup procfovima s Android Nougatom. Ova pogreška omogućuje aplikacijama da zaobiđu potrebna određena dopuštenja za nadzor drugih procesa, ali još uvijek ne mogu probiti Androidov sandbox i ukrasti podatke iz drugih aplikacija. Bez obzira na to, ovo je nenamjerno ponašanje i krši značajku privatnosti Androida, pa se mora popraviti.

Je li zahvaćen moj uređaj?

Ovdje je popis uređaja za koje smo otkrili da ne montiraju procfs s hidepid=2:

OEM

Uređaj

Android verzija

procfs Curenja

Asus

ZenFone 5Z

Android 8.0 Oreo

Da

Kupina

KLJUČ2

Android 8.0 Oreo

Ne

Bitno

PH-1

Android 9 Pie

Ne

Google

Pixel 2

Android 9 Pie

Ne

Google

Pixel 3

Android 9 Pie

Ne

Google

Pixel 3 XL

Android 9 Pie

Ne

Čast

magija 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

Ne

Nokia

7.1

Android 8.1 Oreo

Ne

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

Ne

Samsung

Galaxy Note 9

Android 8.1 Oreo/Android 9 Pie

Ne

Samsung

Galaxy S7

Android 8.0 Oreo

Ne

Samsung

Galaxy S8

Android 8.0 Oreo

Ne

Samsung

Galaxy S9

Android 9 Pie

Ne

Samsung

Galaxy S9+ (Exynos)

Android 8.0 Oreo

Da

Sony

Xperia XZ1

Android 9 Pie

Ne

Xiaomi

Mi Mix 2S

Android 9 Pie

Da

Xiaomi

POCO F1

Android 8.1 Oreo

Da

Kako provjeriti je li vaš uređaj pogođen

Lako je provjeriti curi li vaš uređaj informacijama o procesu drugim aplikacijama (drugim riječima, procfs nije montiran s hidepid=2). Iako možete koristiti naredbe ljuske kao što smo mi učinili, također možete provjeriti pomoću aplikacije koju je razvio topjohnwu. Njegova vam aplikacija također omogućuje ponovno montiranje procf-ova s ​​hidepid=2, ako je vaš telefon rootan.

Preuzmite ProcGate

Hoće li biti popravka?

Da, ovo će se popraviti. Google će sada zahtijevati da svi uređaji montiraju procf s hidepid=2. Oni će to provesti tako što će ažuriranje Compatibility Test Suite (CTS), skup testova koje svi uređaji moraju proći da bi mogli koristiti aplikacije i usluge Google Play. Svi proizvođači originalne opreme (koji žele prodavati uređaje s predinstaliranom trgovinom Google Play) moraju na kraju izdati ažuriranje za ponovno montiranje procf-ova s ​​hidepid=2 u bliskoj budućnosti. Budući da su OnePlus uređaji prvi otkriveni s ovim problemom, OnePlus je već obaviješten i radi na rješenju. Ažurirat ćemo ovaj članak ako drugi OEM proizvođači komentiraju ovu pogrešku, ali nema potrebe da se pitate hoće li OEM vašeg uređaja izdati ažuriranje. Ako žele da njihovo ažuriranje prođe CTS, moraju popraviti ovu pogrešku.