Superusuario asistido por kernel (KernelSU)

A diferencia de Magisk, KernelSU incorpora la capacidad de obtener root en el propio kernel. Engaña al shell haciéndole creer que /system/bin/su existe en el dispositivo.

Root es muy especial para nosotros en XDA. Permite a los usuarios tomar el control de sus dispositivos y agregar funciones que no siempre están disponibles, como grabación de llamadas, temas y monitoreo avanzado de la batería. Ha habido algunas implementaciones raíz a lo largo de los años, y la más popular probablemente sea SuperSU. Sin embargo, recientemente, con la introducción de SafetyNet y las crecientes restricciones a los dispositivos rooteados, Magisk ha sido la implementación raíz. de elección, ya que su función Magisk Hide permite a los usuarios ocultar eficazmente el hecho de que tienen root en aplicaciones como Netflix y Google. Pagar. Sin embargo, la implementación y funcionalidad de Magisk Hide es en gran medida un juego del gato y el ratón en el que Google lo parchea y Magisk soluciona ese parche.

Magisk se ejecuta en lo que se conoce como espacio de usuario. Aquí también es donde se ejecutan la mayoría de los programas de su teléfono, ya sean juegos, reproductores de música o rastreadores de actividad física. Es el "espacio" del sistema operativo del dispositivo de cara al usuario. El espacio de usuario también es donde tiene lugar la mayor parte de la batalla por Magisk Hide. Desafortunadamente, a medida que pasa el tiempo y Google parchea cada vez más métodos de Magisk Hide, queda cada vez menos espacio para esconderse. En el futuro, Magisk podría perder la capacidad de ocultar la raíz por completo.

Planificando ante esta eventualidad, Desarrollador Reconocido XDA zx2c4 (Jason Donenfeld), conocido aquí en XDA por su trabajo en WireGuard y el descubrimiento de un Vulnerabilidad del cargador de arranque de OnePlus, ha creado Superusuario asistido por kernel (KernelSU).

A diferencia de Magisk, KernelSU incorpora la capacidad de obtener root en el propio kernel. Aquí, secuestra llamadas al sistema para engañar al shell y hacerle pensar. /system/bin/su existe en el dispositivo, cuando en realidad no existe. Luego ejecuta comandos ejecutados con su como si fueran comandos normales, pero con privilegios de root. SELinux no puede evitar este proceso (el kernel puede incluso deshabilitar SELinux si así lo desea) y la capacidad de ocultar el estado raíz del espacio de usuario y, por lo tanto, SafetyNet, es casi ilimitada.

Sin embargo, KernelSU está lejos de estar completo. Por el momento, no existe ningún mecanismo de control de acceso (piense en Magisk Manager). Debido a esto, KernelSU actualmente es más útil para los desarrolladores del kernel que para los usuarios. El proceso de creación de un kernel requiere que los desarrolladores reconstruyan y carguen constantemente imágenes de arranque para probar y corregir errores y funciones, y tener root lo hace mucho más fácil. Sin embargo, con opciones de raíz como Magisk o SuperSU, la imagen de arranque debe parchearse después de cada compilación para que funcione la raíz, lo que puede afectar significativamente el proceso de desarrollo. KernelSU, por otro lado, está destinado a integrarse en el momento de la compilación, sin necesidad de parches posteriores a la compilación. Para facilitar la integración de KernelSU a los desarrolladores, está disponible un comando simple de una línea:

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

Una vez ejecutado esto, KernelSU se puede integrar en el kernel como parte del proceso de compilación normal. Eso significa que los desarrolladores pueden construir y probar sus núcleos fácilmente, sin tener que preocuparse por agregar root.

Aunque KernelSU está en sus inicios y se necesita más trabajo para que tenga todas las funciones, es un proyecto interesante. hablamos con Magisco-creador, desarrollador reconocido por XDA topjohnwu, sobre KernelSU, y también lo encontró interesante, diciendo que, dado que KernelSU opera a nivel de kernel, La funcionalidad de Magisk Hide sería mucho más confiable si se agregara, y sería "algo divertido de implementar."

Si es un desarrollador de kernel o ROM interesado en KernelSU, consulte el Hilo XDA y el página de inicio del proyecto aprender más.