Kuinka animepelin juuritunnistus johti tietoturvahaavoittuvuuden löytämiseen LG: n, OnePlusin, Huawein, Xiaomin ja muiden puhelimissa

click fraud protection

Useiden valmistajien, kuten LG, OnePlus, Huawei ja Xiaomi, älypuhelimien on havaittu vuotavan sovellusten prosessitietoja. Tässä on mitä se tarkoittaa.

Mobiili Android-käyttöjärjestelmää käytetään yli 2 miljardia laitetta kuukausittain sekä tavallisten kuluttajien että tekniikan harrastajien toimesta. Vaikka niiden ihmisten määrä, jotka avaavat käynnistyslataimen ja roottaavat älypuhelimensa, on suhteellisen pieni, kun Android-käyttäjien kokonaismäärään verrattuna meitä on edelleen paljon foorumeilla, kuten XDA ja Reddit. Magisk on korvaamaton työkalu puuhasteluyhteisölle. Se tarjoaa järjestelmättömän pääkäyttäjän pääsyn ja siinä on työkaluja, kuten MagiskHide, joiden avulla juurtuneet käyttäjät voivat jatkaa nauttimiensa sovellusten, pelien ja palveluiden käyttöä rajoituksetta. Suosittu animepeli on kuitenkin taitavasti käyttänyt väärin järjestelmän tietoturva-aukkoja ohittaakseen Magiskin anti-root-tunnistuksen. Näin se toimii ja mihin laitteisiin tämä tietoturvaheikkous vaikuttaa.

  • Peli on käyttänyt virhettä havaitakseen, onko laite rootattu. Jos laite on rootattu, peli estää käyttäjää pelaamasta.
  • Virhe sallii sovelluksen lukea muiden muistissa olevien sovellusten tilan ilman erityisiä käyttöoikeuksia. Virhe ei salli sovellusten varastaa tietoja muista sovelluksista. Vika ei ole vakava ja melko vaaraton.
  • Google on jo tietoinen ja on päivittänyt testaustyökalunsa varmistaakseen, että kaikki laitteet ovat suojattuja.

Tausta

Suosittu animepeli Fate/Grand Order estää juurtuneita käyttäjiä yrittämästä pelata peliä. XDA: n tunnustettu kehittäjä topjohnwu, Magiskin johtava kehittäjä, aiemmin löysi tavan ohittaakseen Fate/Grand Orderin juuritunnistuksen, mutta hänen ratkaisunsa ei toiminut hänen OnePlus 6 -puhelimessaan hänen yrityksistään huolimatta. Kehittäjä ei päättänyt antaa periksi ja analysoi Fate/Grand Orderia selvittääkseen, kuinka se edelleen havaitsi juuri hänen OnePlus-laitteestaan. Kuten hän omassaan selittää Keskikokoinen postaus, tämä johti hänet havaitsemaan tietoturvahaavoittuvuuden, jota Fate/Grand Order ilmeisesti käytti väärin päästäkseen edelleen pääkäyttäjän oikeuksiin OnePlus-laitteissa.

Kohtalo/Grand Order (englanniksi)Kehittäjä: Aniplex Inc.

Hinta: Ilmainen.

4.

ladata

Procfs ja Android

Unix-pohjaisissa käyttöjärjestelmissä on erityinen tiedostojärjestelmä nimeltä "procfs", joka sisältää tietoja prosessit (ajattele sovelluksia), kuten niiden muistin käyttö (ajattele RAM), tila (onko prosessi käynnissä, nukkuminen jne.). Useimmissa Unix-pohjaisissa käyttöjärjestelmissä käyttäjällä ja sovelluksilla on helppo pääsy procf: iin nähdäkseen minkälaisia sovellukset ja palvelut ovat käynnissä heidän järjestelmässään (ajattele sitä kuten Window's Task Manager.) Kuitenkin Google alkoi estää pääsyn procf: iin alkaen Android 7.0 Nougatista. Ennen Android Nougatia sovellukset, kuten SystemPanel, pystyivät keräämään tietoja käynnissä olevista sovelluksista ilman erityisiä lupia. Android Nougatin jälkeen sovellusten on käytettävä API: ita, kuten UsageStats tai AccessibilityService, jotka molemmat on suojattu käyttöoikeuksilla, jotka käyttäjän on myönnettävä.

SystemPanel 2Kehittäjä: NextApp, Inc.

Hinta: Ilmainen.

4.2.

ladata

Google estää sovelluksia lukemasta muiden sovellusten tilaa procfs: n kautta asentamalla /proc lipun "hidepid=2" kanssa. Asentamalla procfs-tiedostot hidepid=2:lla sovellukset voivat nähdä vain oman prosessinsa tilan. Näin ollen sovelluksen tulee käyttää hyväksyttyjä sovellusliittymiä, kuten UsageStatsia tai AccessibilityServicea, saadakseen tietoa laitteessa toimivista sovelluksista ja palveluista.

Haavoittuvuus

Entä jos procfs ei ole asennettu hidepid=2:n kanssa? No, silloin sovellukset voisivat vapaasti lukea muiden järjestelmässä olevien sovellusten (ja liitoskohtien) tilan ilman ylimääräisiä käyttöoikeuksia*. Google asentaa hidepid=2-profs-tiedostoja omiin laitteisiinsa, mutta se ei pakota tätä vaatimusta muiden valmistajien laitteisiin. Useat LG: n, OnePlusin, Huawei/Honorin, Xiaomin ja muiden laitteet eivät ole asentaneet proffeja hidepid=2, jota sovellukset, kuten Fate/Grand Order, käyttävät hyväkseen havaitakseen, onko Magisk läsnä laite.

*Android 9 Pie -tietoturvamuutos estää sovelluksia lukemasta tietoja oman "SELinux-kontekstinsa" ulkopuolella, koska jokainen sovellus on nyt eristetty erikseen. SELinux on ydinmoduuli, joka toimii eräänlaisena portinvartijana ja estää sovelluksia ja palveluita pääsemästä tiedostoihin, joita niiden ei pitäisi saada. SELinux-konteksti on kuin otsikko tiedostolle, jossa on tietoja, kuten käyttäjä ja rooli. Sovellukset, joilla on sama SELinux-konteksti, voivat lukea tietoja muista sovelluksista samassa kontekstissa, jos hidepid=2-lippu ei ole käytössä procfs: lle. Android Pien uudet SELinux-muutokset koskevat Android Pien uusia SELinux-muutoksia laitteissa, joissa on Android 9 Pie. Sovellukset, jotka on kohdistettu Android 8.1 Oreoon tai sitä uudempaan versioon, käyttävät vanhoja SELinux-sääntöjä, jolloin ne voivat käyttää tiedot prosesseista samassa SELinux-kontekstissa niin kauan kuin procfs on asennettu ilman hidepid=2. Useimpien laitteellasi olevien sovellusten tulisi olla kohdistettu ainakin Android 8.0 Oreoon uudet Google Playn vaatimukset, mutta monia ei ole vielä päivitetty koskemaan Android Pie -sovellusta.

Seuraavat kuvakaappaukset osoittavat seuraukset, jos procfs-tiedostoja ei asenneta hidepid=2:lla.

Kuinka paha tämä on?

Jos vertaamme tätä järjestelmän haavoittuvuutta hyväksikäyttöihin, kuten Fusée Gelée, Blueborne, KRACK, ja Meltdown/Spectre, niin tämä bugi kalpenee verrattuna. Sovellukset eivät voi käyttää tätä päästäkseen pääkäyttäjän oikeuksiin tai varastamaan salasanojasi. Pankkitilisi ovat turvassa, samoin luottokorttisi. Pahinta, jonka sovellus voi tehdä, on kertoa, onko laitteellasi käynnissä jokin toinen sovellus, jolla on hyvin rajalliset käyttötarkoitukset. Muista, että tämä on normaalia toimintaa monissa GNU/Linux-jakeluissa ja että Google alkoi vasta äskettäin estää pääsyn procfs: iin Android Nougatin avulla. Tämän virheen ansiosta sovellukset voivat ohittaa tietyt luvat muiden prosessien valvontaan, mutta ne eivät silti voi rikkoa Androidin hiekkalaatikkoa ja varastaa tietoja muista sovelluksista. Siitä huolimatta tämä on tahatonta toimintaa ja rikkoo Androidin tietosuojaominaisuuden, joten se on korjattava.

Vaikuttaako laitteeseeni?

Tässä on luettelo laitteista, joiden olemme havainneet, että ne eivät liitä procfs-tiedostoja hidepid=2:lla:

OEM

Laite

Android-versio

procfs Leaks

Asus

ZenFone 5Z

Android 8.0 Oreo

Joo

Karhunvatukka

AVAIN2

Android 8.0 Oreo

Ei

Olennaista

PH-1

Android 9 Pie

Ei

Google

Pixel 2

Android 9 Pie

Ei

Google

Pixel 3

Android 9 Pie

Ei

Google

Pixel 3 XL

Android 9 Pie

Ei

Kunnia

Taika 2

Android 9 Pie

Joo

HTC

U12+

Android 8.0 Oreo

Joo

Huawei

Mate 20 X

Android 9 Pie

Joo

LG

G7 ThinQ

Android 8.0 Oreo

Joo

LG

V40 ThinQ

Android 8.1 Oreo

Joo

Motorola

Moto G4

Android 8.1 Oreo

Ei

Nokia

7.1

Android 8.1 Oreo

Ei

OnePlus

6

Android 8.1 Oreo/Android 9 Pie

Joo

OnePlus

6T

Android 9 Pie

Joo

Razer

Puhelin 2

Android 8.1 Oreo

Joo

Samsung

Galaxy Note 8

Android 8.0 Oreo

Ei

Samsung

Galaxy Note 9

Android 8.1 Oreo/Android 9 Pie

Ei

Samsung

Galaxy S7

Android 8.0 Oreo

Ei

Samsung

Galaxy S8

Android 8.0 Oreo

Ei

Samsung

Galaxy S9

Android 9 Pie

Ei

Samsung

Galaxy S9+ (Exynos)

Android 8.0 Oreo

Joo

Sony

Xperia XZ1

Android 9 Pie

Ei

Xiaomi

Mi Mix 2S

Android 9 Pie

Joo

Xiaomi

POCO F1

Android 8.1 Oreo

Joo

Kuinka tarkistaa, vaikuttaako laite laitteeseesi

On melko helppoa tarkistaa, vuotaako laitteesi prosessitietoja muihin sovelluksiin (toisin sanoen, procfs ei ole asennettu hidepid=2:n kanssa). Vaikka voit käyttää komentotulkkikomentoja kuten me, voit myös tarkistaa topjohnwun kehittämän sovelluksen avulla. Hänen sovelluksensa avulla voit myös liittää procfs: t uudelleen hidepid=2:lla, jos puhelimesi on rootattu.

Lataa ProcGate

Tuleeko korjaus?

Kyllä, tämä korjataan. Google vaatii nyt, että kaikki laitteet liittävät procfs: n hidepid=2:lla. He panevat tämän täytäntöön päivittäminen Compatibility Test Suite (CTS), testisarja, joka kaikkien laitteiden on läpäistävä voidakseen käyttää Google Play -sovelluksia ja -palveluita. Kaikkien OEM-valmistajien (jotka haluavat myydä laitteita, joissa Google Play Kauppa on esiasennettu) on lähitulevaisuudessa julkaistava päivitys liittääkseen procfs-tiedostot uudelleen hidepid=2:lla. Koska OnePlus-laitteet havaittiin ensimmäisinä tästä ongelmasta, OnePlus on jo tietoinen, ja se työskentelee korjauksen parissa. Päivitämme tämän artikkelin, jos muut OEM-valmistajat kommentoivat tätä virhettä, mutta sinun ei tarvitse miettiä, julkaiseeko laitteesi OEM päivityksen. Jos he haluavat päivityksensä läpäisevän CTS: n, heidän on korjattava tämä virhe.