Katso Marshmallow Root & Verity -komplikaatioita

Opi uusista hankaluuksista, joita verity ja Marshmallow tuovat lukittujen laitteiden juurruttamiseen.

Kun pöly laskeutuu päälle Android 6.0 -julkaisu, Nexus-käyttäjät sukeltavat OTA- ja Tehdaskuvat, ja valmistaudutaan Android-käyttöjärjestelmän uusimpaan iteraatioon.

Vaikka ulkopuolelta katsottuna Android 6.0 näyttää (ainakin visuaalisesti) huomattavan samanlaiselta kuin Android 5.0 ja 5.1 (Lollipop-julkaisut), Androidissa on useita merkittäviä muutoksia. sisällä. Yhdellä heistä on mahdollisesti mukautettujen ROM- ja juuriyhteisöjen seurauksia. Ensin vähän taustaa. Jos et ole kiinnostunut tästä, siirry alas kohtaan "Miksi tämä on tärkeää".

Ominaisuus nimeltä Verity

Ongelma (se on ongelma, jos pidät root- ja modifioivista laitteista) johtuu jostain, jonka huomautin kauan sitten, kun se ensimmäisen kerran osui AOSP: hen - dm-verity Androidille. Verity on suojausominaisuus, joka löytyi alun perin ChromeOS: stä ja joka on suunniteltu tarjoamaan varmoja ja luotettavia tietokonelaitteita, jotka estävät haittaohjelmia muuttamasta laitetta. Android 4.4:ssä Google ilmoitti todenperäisyydestä Androidille, ja sitten kaikki pysyi hiljaa. Vaikka niitä on ollutkin

tutkimusta totuuden käytöstä, suurimmaksi osaksi asiat ovat olleet hiljaa. Tähän asti siis.

Android 6.0:n myötä Google on alkanut parantaa peliään laitteen suojauksessa. Yksi tämän perusvaatimuksista on estää laitteen ohjelmiston muuttaminen ilman käyttäjän tietämystä - vaikka monet täällä XDA: ssa ota juuret itsestäänselvyytenä, kuvittele, että käyttäjän laite on juurtunut hänen tietämättään tai suostumattaan ja pääkäyttäjän oikeuksia käytetään varastamaan heidän tiedot. Tästä syystä Google on alkanut toteuttaa järjestelmäosion todentamista joissakin laitteissa. He myös päivittivät äskettäin tukisivut peittämään tämän.

Mitä tämä tarkoittaa juurtuneille käyttäjille?

Totuudenmukaisesti paikallaan, kaikki järjestelmäosioon tehdyt muutokset havaitaan käynnistyksen tai käytön yhteydessä. Sitten kohtaat yhden yllä olevista virheistä. Jotkut sallivat sinun jatkaa, ja toiset haluavat suojata sinua estämällä laitteen käynnistymisen. Saatavilla on kolme osavaltiota. Yksi näkyy, kun käynnistyslataimen lukitus on avattu, mikä osoittaa, että saatat olla vaarassa, kunnes lukitset käynnistyslataimen uudelleen. Näin on, koska muokattu ytimen näköistiedosto voi ohittaa todellisuuden, koska ytimen muistilevy sisältää avaimet, joita käytetään järjestelmän tilan tarkistamiseen.

Asiat näyttävät melko unhausilta rootin pyrkiville käyttäjille lukituilla laitteilla.

Seuraava tila näytetään (oletettavasti), kun verity on poistettu käytöstä tai pois käytöstä tai sitä ei voida tarkistaa muistilevyn muutosten vuoksi. En voi olla varma, koska minulla ei ole Nexus 5X tai 6P tutkittavaa, mutta epäilykseni (perustuu viesteihin) on että jos lataat toisen ROMin, joka sitten asettaa oman ytimensä laitteeseen, "eri käyttöjärjestelmä" -sivu näkyviin.

Lopullinen tila on punainen varoitus, joka ilmoittaa, että laite on vioittunut. Epäilen, että tämä tarkoittaa, että kuva sisältää todenmukaisuuden, mutta vahvistus epäonnistui, koska järjestelmäkuvaa on muutettu. Emme voi olla varmoja ilman laitteistoa, mutta tämä virhe näyttää siltä, ​​​​että näet, jos haittaohjelmisto on muokannut varastossa olevaa laitetta.

Miksi tämä on tärkeää?

Android M (6.0) -käyttöjärjestelmässä root vaatii tällä hetkellä muutoksia ytimen otteeseen tiedostojärjestelmän lisäksi. Tämä tarkoittaa, että vaikka jätämme huomiotta totuuden (kuten vanhemmassa Nexus-laitteessa, kuten a Nexus 7 2013), uusi ytimen näköistiedosto tarvitaan ohittamaan SELinux-suojaukset, jotka estävät pääkäyttäjän oikeudet toimimasta.

Jos haluat rootin tänään, Android Marshmallowissa sinun on käytettävä muokattua käynnistyskuvaa.

Tähän asti niitä on ollut modifioidut ytimet asettaa SELinuxin sallivaan tilaan, mutta tämä ei ole ihanteellinen ratkaisu, koska se tarkoittaa, että et saa SELinux-suojauksen turvallisuusetuja. Ja sen jälkeen RamppikuumesaagaOletan, että näet SELinuxin ja muiden suojausten edut tietoturvan hyväksikäyttöä vastaan.

XDA: n vanhempi tunnustettu kehittäjä, Ketjutuli, Master of all- things root on julkaissut an SuperSU: n päivitetty versio joka säilyttää SELinuxin pakotustilassa, mutta vaatii jälleen kerran muutoksia käynnistysvedoksen SELinux-kokoonpanoon. Tämä tarkoittaa, että sinun on asennettava SuperSU sekä muokattu käynnistyskuva.

Ja se on kaikki hyvin, kunnes yhdysvaltalaiset lentoyhtiöt tulevat sekoitukseen. Kuluttajien valinnan vastaisten linjojen, AT&T: n ja Verizonin kaltaisten tahojen tiedetään nauttivan laitteiden lukitsemisesta, mikä estää käyttäjiä asentamasta mukautettua laiteohjelmistoa käynnistyslataimen lukkojen kautta. Verizon on todellakin erityisen huono siinä, että se ei edes välitä laiteohjelmistopäivityksiä käyttäjille Sony Xperia Z3v: n kanssa. ei asetettu vastaanottamaan Marshmallowia kun taas loput Z3-alueet (ja itse asiassa Z2-alue) tekevät. Heck, he eivät ole vieläkään edes julkaisseet Lollipopia laitteelle, vaikka se on saatavilla aika pitkään (marraskuu 2014) normaalilla Z3:lla.

Epävirallisen käynnistyslataimen lukituksen sijaan (nämä ovat nykyään melko harvinaisia, kun muutamien Samsung-laitteiden teknisiä käynnistyslataimia ei ole vuotanut), vaikuttaa erittäin epätodennäköiseltä. että pääset Android 6.0:n pääkäyttäjäksi ilman jumalallista väliintuloa – dm-verityn yhdistelmää (estääksesi puhelinta käynnistymästä, jos siihen tehdään muutoksia järjestelmäosio) ja vaatimus SELinuxin muutoksille ramdiskissä (jotta rootin toimiminen) näyttävät tekevän asiat melko epähauskoiksi näiden root-hauskoja käyttäjille. lukitut laitteet.

Android Pay?

Lopuksi Android Pay. Se luultavasti kuulostaa täysin riippumattomalta tämän artikkelin muuhun osaan, mutta se on itse asiassa melko relevantti. Android Pay luottaa uuteen SafetyNet API: t Googlen omassa palvelukehyksessä, joka on suunniteltu antamaan laitteen tilatodistuksia siitä, onko laite pääkäyttäjän puolella, onko laite muuten muokattu tai toimiiko se hyväksymättömässä tilassa.

Vaikka siellä on a hanke Tarkasteltaessa huijausvastauksia SafetyNetiin, se vaatii tällä hetkellä Xposed-laajennuksen, eikä tämä näytä muuttuvan sen toimintatapojen vuoksi. Xposed vaatii rootin ja tekee muutoksia järjestelmäosioon. Tämä tekee tämän suorittamisen vaikeaksi käynnistyslataimella lukitussa laitteessa. Silloinkin tällaiset asiat ovat vain aloittamassa kissa-hiiri-peliä Googlen kanssa. SafetyNetissä juurtuneita laitteita (tai ylipäätään muunnettuja laitteita) pidetään "ei-CTS-yhteensopivina", mikä on eufemismi muunnetuille laitteille.

SafetyNetistä on kirjoitettu paljon enemmän tässä teardown-blogiviestissä, mutta näyttää varmasti pystyvän tunnistamaan joitain alueita, joihin Google haluaa puuttua. Ensinnäkin he eivät pidä rootista, Xposedista ja kaikesta, joka muuttaa järjestelmäosiota. Toiseksi näyttää siltä, ​​että Google harkitsee käyttäjien havaitsemista, joilla on mainosten esto käytössä – SSL-kättely tarkistaa pubads.g.doubleclick.net Ehdotan varmasti minulle, että Google haluaa tietää, estätkö mainoksia laitteessasi. Ottaen huomioon, että juuri on yleensä edellytys, mutta VPN-sovellusliittymää voitaisiin mahdollisesti käyttää tekemään Tämä ilman juuria, näyttää siltä, ​​​​että Google haluaa ainakin saada käsityksen siitä, kuka (tai kuinka monta ihmistä) estää mainoksia. Mainosten esto on ajankohtainen ongelma, koska Apple on kehottanut tukemaan sitä verkkoselaimessa (luultavasti rohkaisemaan ihmiset voivat käyttää sovelluksia enemmän, missä he hallitsevat käyttökokemusta ja voivat tarjota ei-estämättömiä mainoksia), ja nämä liikkeet ovat mielenkiintoista.

Johtopäätös

Jos haluat rootin tänään, Android Marshmallow (6.0) -laitteessa, sinun on käytettävä muokattua käynnistyskuvaa. Vaikka jää nähtäväksi, pysyykö tämä totta loputtomiin, näyttää siltä, ​​​​että tilanne on todennäköinen jonkin aikaa - SELinuxin muutokset tekevät pääkäyttäjän oikeuksien saamisesta paljon vaikeampaa ilman käynnistyskuvan muokkaamista. Ja koska käynnistyskuvan muokkaaminen vaatii lukitsemattoman käynnistyslataimen, tämä voi lopettaa rootin (ja Xposedin ja muut juuriominaisuudet) laitteissa, jotka toimitetaan käynnistyslatainten kanssa, joita loppukäyttäjät eivät voi avata. Dm-verity on myös ilmestymässä, ja se näyttää olevan käytössä pakotustilassa uusissa laitteissa. Tämä tekee vaikeaksi muokata /system, vaikka saisit pääkäyttäjän oikeudet ilman lukitsematonta käynnistyslatainta.

Muuttaako tämä näkemystäsi käynnistyslataimen lukituista laitteista? Onko Android saavuttanut vaiheen, jossa ostaisit edelleen käynnistyslataimella lukitun laitteen, jos operaattorisi antaisi sinulle hyvän tarjouksen, vai oletko kiinnostunut vain lukitsemattomista laitteista? Mitä juurisovelluksia tai ominaisuuksia kaipaisit lukitussa käynnistyslataimessa?

Voit vapaasti jakaa ajatuksesi alla olevissa kommenteissa.