La comprobación por hardware de SafetyNet hace casi imposible el root

Actualización de SafetyNet hace que el root sea casi imposible

Desde los inicios de Android, la personalización ha sido una de sus grandes ventajas y atractivos. En el sistema operativo de Google casi cualquier cosa se puede modificar, si se sabe cómo hacerlo, y contando con las herramientas y permisos correctos.

De todos, quizás el permiso más importante es el acceso a la raíz, mejor conocido como Root. Al obtenerlo podrás acceder a todo lo que se te ocurra y las opciones de personalización se multiplicarán exponencialmente, aunque es un permiso bastante delicado. Ahora esta función peligra una vez más, ya que Android actualizó SafetyNet e hizo que el root sea casi imposible.

La guerra contra el root en Android sigue en pie

la guerra contra el root continua en android

Como mencionábamos, el root es uno de los permisos que más puertas abre en Android. Con él puedes hacer casi cualquier modificación en cuando a software refiere, algo que puede ser tan bueno como peligroso. Históricamente el root ha servido como base para instalar ROMs personalizadas, Kernels, módulos Xposed que hasta permiten modificar Google Discover y mucho más.

El problema del root es que permite modificar cosas que no deberías estar tocando, y que pueden poner en riesgo el funcionamiento de tu móvil. Aparte, al ser un permiso de máximo nivel, tu smartphone puede quedar mucho más expuesto a ataques que terminen dañándolo. Por esta razón, tanto Google como muchos fabricantes, buscan complicar la tarea de rootear el móvil.

Con el pasar del tiempo el acceso root ha quedado en desuso, ya que Android y sus capas de personalización han mejorado muchísimo. No obstante, muchos usuarios, especialmente los más avanzados, siguen explotando este permiso, pero a partir de hoy tendrán otra piedra en su camino.

SafetyNet hará comprobaciones por hardware, una actualización que complica el rooteo en Android

comprobación por hardware de safetynet inhabilita magisk

Una de las medidas más duras tomadas por parte de Google contra el root es SafetyNet, un conjunto de APIs que se incluyen en los servicios de Google Play. Dentro de ellas está la API de certificación de SafetyNet, a la que algunas aplicaciones acuden para verificar si el software de tu móvil ha sido modificado de alguna manera.

Esta API comprueba cosas como signos binarios que indiquen algún permiso de superusuario, el estado del gestor de arranque (bootloader) y más. Cuando encuentra algún indicio de modificación, envía una alerta a la aplicación que solicitó la certificación y generalmente hace que la aplicación no se ejecute o instale.

Algunas apps que utilizan este sistema son Pokémon Go y muchas apps bancarias, pero además es uno de los culpables de que no puedas instalar la Play Store en tu Huawei. Por consiguiente, tener el móvil rooteado puede ser un problema para muchos, aunque había solución. Al rootear el móvil con Magisk, este creaba un “entorno seguro” para que esas aplicaciones pudiesen aprobar el test de SafetyNet y ejecutarse sin problema.

Magisk engañaba a las apps haciendo creer a SafetyNet que todo estaba normal, sin modificaciones. Sin embargo, ese entorno seguro estaba basado en software, y ahora la comprobación de SafetyNet se realizará por hardware.

De ahora en adelante, Google verificará la integridad de las claves de certificación de tu móvil comparándolas con las que tienen en sus servidores. ¿Cuál es el problema? Que las claves que están en el móvil se almacenan en el Entorno de Ejecución Confiable (TEE), una zona segura inaccesible e inalterable, al menos de momento.

El root no desaparecerá, pero quedó herido de gravedad, y su recuperación podría ser lenta

actualización de safetynet complica el root, pero no hará que desaparezca

Según comenta John Wu, el principal desarrollador detrás de Magisk, y su creador, el nuevo método de verificación por hardware de SafetyNet inhabilita totalmente a Magisk y otras herramientas de rooteo. Esto se debe a que estas apps están diseñadas para engañar al antiguo método de verificación, pero no tienen ninguna acción programada contra el nuevo.

Al no poder modificar el Entorno de Ejecución Confiable, tampoco hay forma de esconder las modificaciones que le hiciste a tu móvil. Wu comenta que pueden existir algunas formas de seguir falseando la comprobación de SafetyNet, pero no serán sencillas de aplicar, y muchas están condicionadas a factores externos.

Una salida sería modificando el código del cliente de SafetyNet en el móvil para que siempre use la evaluación básica (por software). Sin embargo, esto requeriría inyectar código en los servicios de Google a través de Xposed Framework o similares.

Para Wu, esto no solo es difícil para el desarrollador y los usuarios, sino que también es muy delicado, porque las alarmas de los servicios de Google saltan por cualquier cosa. Además, sería un proceso imposible de ocultar, por lo que Google podría detectarlo y atacarlo fácilmente.

Aun así, la comunidad desarrolladora de Android no se detendrá, y aunque tarden un poco, seguramente terminen dando con una solución. No obstante, de momento los usuarios tendrán que elegir entre el root (y sus ventajas), y muchas de sus aplicaciones favoritas.

Fuente | XDA-Developers