Logo nl.androidermagazine.com
Logo nl.androidermagazine.com

Android 4.3 en hoger: gaat root weg voor 'stock'-roms?

Anonim

Je hebt waarschijnlijk wat gepraat over root en de nieuwste versie van Android gehoord, en misschien zelfs dingen gehoord als 'de dood van root'. Dingen zijn veranderd en nieuwe beveiligingsfuncties in Android beperken nu wat processen met superuser-rechten op de systeempartitie kunnen doen. Ik zal proberen dit zo goed mogelijk uit te leggen zonder teveel woorden weg te gooien die niemand (nou ja, bijna niemand) zal begrijpen. Een deel ervan is echter onvermijdelijk.

Misschien moet je hiervoor een stijve inschenken.

Alle Android-apps zijn afkomstig van een systeemproces dat zygote wordt genoemd. In Android 4.3 zijn dingen veranderd en nu heeft zygote een nieuw beveiligingsbeleid. Hoewel we een proces met suid (superuser) privileges kunnen forceren, beperken de nieuwe beperkingen wat we ermee kunnen doen. Dit is het hele punt van SELinux, wat goed is voor de gebruikersbeveiliging. Ons nieuwe proces (zie het als de root-app die u probeert uit te voeren) heeft technisch root-toegang, maar het kan er eigenlijk niets nuttigs mee doen. Dit is een zeer goede manier om het systeem te beschermen tegen malafide processen die u niet wilt - zoals in potentiële ZOMGMALWARE - toegang tot alles.

Er zijn twee manieren om over dit nieuwe beveiligingsbeleid te werken. Een daarvan is dat root-toegang via de shell - waar je je telefoon op een computer hebt aangesloten en de opdrachtregel gebruikt om te communiceren - nog steeds goed werkt. U kunt uw gebruikersstatus verhogen en dezelfde dingen doen die u altijd via adb zou kunnen doen. En de kansen zijn behoorlijk klein, dat zal niet gebeuren zonder dat je het weet.

De andere manier is met een su daemon.

Een daemon is een achtergrondproces dat niet onder directe controle staat van de actieve gebruiker. Het werkt stil, wachtend op de tijd die het nodig heeft om iets nuttigs te doen. Wanneer het wordt genoemd, doet het waarvoor het is ontworpen en gaat het vervolgens weer onderduiken. Een su daemon moet worden aangeroepen tijdens de systeeminitialisatie, wat een knelpunt wordt voor het hacken van root-toegang in 'stock'-ROM's.

De Android-implementatie die wordt geleverd met Nexus zoekt niet naar aanvullend beleid in / data / system / sepolicy zoals CyanogenMod en stroomopwaarts aangeven dat dit zou moeten. Het laadt het / sepolicy bestand van ramdisk en noemt het een dag.

+ Koushik Dutta

U hebt minimaal een aangepaste opstartinstallatiekopie nodig om een ​​aangepaste daemon op uw Android-apparaat te starten. Dat is geen probleem met zoiets als CyanogenMod, maar dat betekent dat je iets anders dan stock flitst om het te laten gebeuren. Aangepaste afbeeldingen, kernels en ROM's flashen is iets dat veel mensen gewoon niet willen doen.

Dus dat is waar we zijn. De grootste namen in de Android-community zijn hard aan het werk om alles op orde te krijgen, maar de kans is groot dat root, zoals je root vandaag de dag kent, vereist dat je aangepaste firmware boven en buiten de SU-app en binary flasht. Het is een goede zaak dat Android naar een veiliger beveiligingsmodel overgaat, en je moet gewoon een beetje meer leren over hoe je systeem werkt en hoe je het kunt aanpassen om het in de gewenste toestand te krijgen - wat uiteindelijk is nog iets goeds.

Google weet dat gebruikers dingen willen zoals superuser-machtigingen. Er is een zeer goede kans dat ze deze problemen op de een of andere manier zullen aanpakken, hetzij door root te eisen voor minder dingen of door een oplossing in Android zelf te bouwen. Als u Linux of OSX op uw computer uitvoert, weet u dat u met de thuismap de meeste dingen kunt doen zonder de rechten te verhogen. Misschien gaat Google deze richting op. Of misschien voegen ze superuser-functies toe aan Android in de ontwikkelaaropties. In de tussentijd blijven ze volledig ontgrendelbare Nexus-telefoons maken voor gebruikers die aangepaste firmware willen of moeten flashen - en mensen zoals de ontwikkelaars van CyanogenMod (en elders) zullen het blijven bouwen.