Kernel-ondersteunde superuser (KernelSU)

In tegenstelling tot Magisk integreert KernelSU de mogelijkheid om wortel te schieten in de kernel zelf. Het misleidt de shell door te denken dat /system/bin/su op het apparaat bestaat.

Root is heel speciaal voor ons bij XDA. Hiermee kunnen gebruikers de controle over hun apparaten overnemen en functies toevoegen die niet altijd beschikbaar zijn, zoals gespreksopname, thema's en geavanceerde batterijmonitoring. Er zijn door de jaren heen een aantal root-implementaties geweest, waarvan SuperSU waarschijnlijk de meest populaire is. Maar onlangs, met de introductie van SafetyNet en toenemende beperkingen voor geroote apparaten, was Magisk de root-implementatie van keuze, omdat gebruikers met de Magisk Hide-functie effectief kunnen verbergen dat ze root hebben voor apps zoals Netflix en Google Betalen. De implementatie en functionaliteit van Magisk Hide is echter een kat-en-muisspel waarbij Google het patcht en Magisk om die patch heen werkt.

Magisk draait in wat bekend staat als gebruikersruimte. Dit is ook waar de meeste programma's op je telefoon worden uitgevoerd, of het nu games, muziekspelers of fitnesstrackers zijn. Het is de naar de gebruiker gerichte ‘ruimte’ van het besturingssysteem van het apparaat. In de gebruikersruimte vindt ook het grootste deel van de strijd om Magisk Hide plaats. Helaas, naarmate de tijd verstrijkt en Google steeds meer van de methoden van Magisk Hide patcht, is er steeds minder ruimte over om te verbergen. In de toekomst zou Magisk het vermogen kunnen verliezen om root volledig te verbergen.

Planning voor deze mogelijkheid, XDA erkende ontwikkelaar zx2c4 (Jason Donenfeld), hier op XDA bekend van zijn werk aan WireGuard en de ontdekking van A Kwetsbaarheid in de OnePlus-bootloader, heeft gemaakt Kernel-ondersteunde superuser (KernelSU).

In tegenstelling tot Magisk integreert KernelSU de mogelijkheid om wortel te schieten in de kernel zelf. Hier kaapt het systeemoproepen om de shell tot nadenken te verleiden /system/bin/su bestaat op het apparaat, terwijl dat in werkelijkheid niet het geval is. Vervolgens voert het opdrachten uit waarmee wordt uitgevoerd su alsof het normale opdrachten zijn, maar dan met rootrechten. Dit proces kan niet worden voorkomen door SELinux – de kernel kan SELinux zelfs uitschakelen als hij dat wil – en de mogelijkheid om de rootstatus te verbergen voor de gebruikersruimte, en daarom SafetyNet, is vrijwel onbeperkt.

KernelSU is echter verre van compleet. Op dit moment is er geen toegangscontrolemechanisme aanwezig (denk aan Magisk Manager). Hierdoor is KernelSU momenteel vooral nuttig voor kernelontwikkelaars en niet voor gebruikers. Het proces van het bouwen van een kernel vereist dat ontwikkelaars voortdurend opstartimages opnieuw opbouwen en laden om bugs en functies te testen en op te lossen, en het hebben van root maakt dit een stuk eenvoudiger. Bij rootopties zoals Magisk of SuperSU moet het opstartimage echter na elke build worden gepatcht om root te laten functioneren, wat een aanzienlijke impact kan hebben op het ontwikkelingsproces. KernelSU daarentegen is bedoeld om tijdens de build-time te worden geïntegreerd, zonder dat patching na de build nodig is. Om KernelSU-integratie eenvoudig te maken voor ontwikkelaars, is een eenvoudige opdracht van één regel beschikbaar:

curl -LsS "https://git.zx2c4.com/kernel-assisted-superuser/plain/fetch-and-patch.sh" | bash -

Zodra dit is uitgevoerd, kan KernelSU in de kernel worden ingebouwd als onderdeel van het normale bouwproces. Dat betekent dat ontwikkelaars hun kernels gemakkelijk kunnen bouwen en testen, zonder zich zorgen te hoeven maken over het toevoegen van root.

Hoewel KernelSU nog in de kinderschoenen staat en er meer werk nodig is om het volledig te laten functioneren, is het een interessant project. Wij hebben gesproken Magisk-maker, XDA erkende ontwikkelaar topjohnwu, over KernelSU, en hij vond het ook interessant, omdat hij zei dat, aangezien KernelSU op kernelniveau werkt, De functionaliteit van Magisk Hide zou veel betrouwbaarder zijn als deze werd toegevoegd, en het zou "leuk zijn om te doen". implementeren."

Als je een kernel- of ROM-ontwikkelaar bent die geïnteresseerd is in KernelSU, bekijk dan de XDA-draadje en de startpagina van het project meer leren.