Cómo omitir SafetyNet en Android después de rootear o instalar una ROM personalizada

Eludir SafetyNet ha sido durante mucho tiempo un juego del gato y el ratón entre Google y la comunidad. A la comunidad le gusta modificar el software de su teléfono, un proceso que normalmente implica desbloquear el gestor de arranque como primer paso. Pero esto, a su vez, activa SafetyNet, que puede evitar que varias aplicaciones populares se ejecuten en el teléfono, algunas de las cuales son comprensibles porque dependen de un entorno a prueba de manipulaciones para ejecutarse.
SafetyNet está destinado a los desarrolladores de aplicaciones, pero pueden optar por usarlo o no. Sin embargo, para un usuario final regular, puede deshacerse del potencial de modificación de Android y pasar las pruebas de compatibilidad de SafetyNet o permanecer excluido por los creadores de aplicaciones. Si se pregunta cómo pasar SafetyNet incluso después de rootear o instalar una ROM personalizada en su dispositivo, esta guía debería ayudarlo.
Indice:
¿Qué es SafetyNet?
Android está diseñado para funcionar sin otorgar al usuario final ningún control privilegiado sobre los subsistemas subyacentes. En el caso de que alguien que use un dispositivo Android pueda obtener un acceso similar a los permisos administrativos (también conocido como «superusuario») como en Linux, esencialmente puede modificar o anular las aplicaciones y configuraciones del sistema Android. Desde la perspectiva de un desarrollador de aplicaciones, esto significa que el dispositivo en el que se ejecuta su aplicación puede verse potencialmente comprometido. Debería haber algún tipo de sistema de detección de abusos para examinar el entorno de software y hardware del dispositivo y asegurar a los desarrolladores de aplicaciones que todo está bien. Aquí es donde entra SafetyNet.
Si bien la modificación es una parte integral del ecosistema de Android, a veces se necesita un alto grado de rigor en el sistema operativo para satisfacer las restricciones de las políticas de seguridad. SafetyNet es uno de esos conjuntos de API de detección de abuso presentes en Google Play Services. Al llamar a la API de atestación de SafetyNet, las aplicaciones de terceros pueden verificar si el entorno de software del dispositivo ha sido manipulado de alguna manera. La API verifica varias cosas, como el estado de desbloqueo del cargador de arranque, los signos de binarios de superusuario, etc. para comparar el estado actual del dispositivo Android de destino y verificar la integridad del entorno con un valor «seguro» conocido en el lado del servidor.

Protocolo API de atestación de SafetyNet
La activación de SafetyNet y sus consecuencias
Una serie de eventos de salida de la configuración estándar de un dispositivo Android conducen en última instancia a la activación de SafetyNet. Incluso si acaba de desbloquear el cargador de arranque de su teléfono y dejó intacto el sistema operativo instalado de fábrica, aún puede obtener una «desigualdad del perfil CTS» (donde CTS significa el contracompatibilidad jes Scontinuación), lo que hace que falle la comprobación de SafetyNet. Si rootea su dispositivo Android o reemplaza el firmware original con una ROM personalizada, terminará con un estado fallido de SafetyNet. Por lo tanto, no puede usar aplicaciones y juegos que usen la validación de SafetyNet en el dispositivo. Esto es especialmente cierto para las aplicaciones bancarias y otras aplicaciones financieras como Google Pay, ya que dependen estrictamente del resultado de la certificación de SafetyNet y no permiten que los usuarios usen la aplicación en un entorno aparentemente manipulado por motivos de seguridad.
Cuando se trata de juegos, los desarrolladores usan SafetyNet para evaluar la integridad del dispositivo y evitar que los jugadores deshonestos hagan trampa o modifiquen las variables del juego para obtener ventajas injustas. Por último, pero no menos importante, también puede encontrarse con casos en los que los editores simplemente mal uso del mecanismo de detección de sabotaje de Google sin ninguna razón práctica, razón por la cual los usuarios experimentados quieren escapar de las rutinas de detección.
En pocas palabras, la comunidad de modding tendrá que elegir entre tener acceso a la raíz/ROM personalizadas/núcleos/etc. o sus aplicaciones y juegos favoritos. Puede parecer el final del desarrollo del mercado de accesorios en Android, pero hay esperanza.
Cómo pasar la atestación de SafetyNet en dispositivos Android
Dado que Google actualiza periódicamente la columna vertebral de la API de atestación de SafetyNet, no existe una forma verdaderamente universal de eludir las comprobaciones. Dado que las restricciones dependen de una serie de factores, puede pasar SafetyNet a través de un entorno modificado falsificando las configuraciones más importantes en los dispositivos heredados, pero es posible que el mismo truco no funcione en los teléfonos más nuevos. La comunidad de desarrollo del mercado de repuestos ha ideado una serie de técnicas para pasar las verificaciones de SafetyNet, pero tenga en cuenta que un la implementación genérica no es posible debido a la naturaleza en constante evolución de la API anti-abuso. Es un juego del gato y el ratón: un día estarás adelante y el otro no.
Con el cambio gradual a la estrategia de atestación de hardware, Google confía en la seguridad del entorno de ejecución confiable (TEE) del teléfono o el módulo de seguridad de hardware dedicado (HSM) para la detección de manipulaciones. Encontrar una vulnerabilidad de seguridad crítica en el entorno seguro aislado de un dispositivo y explotarla para falsificar la respuesta del lado del cliente de SafetyNet puede no ser un enfoque factible, pero hay otras formas de sortear el obstáculo.
Estos son algunos de los métodos más conocidos para pasar SafetyNet:
1. Restaurar el firmware original y volver a bloquear el gestor de arranque
Esta puede ser la forma más fácil de pasar SafetyNet, pero tiene sus pros y sus contras. Todo lo que tiene que hacer es encontrar el firmware correcto para su dispositivo Android, actualizarlo y finalmente volver a bloquear el gestor de arranque. Claro, perderá la mayoría de las campanas y silbatos de la modificación de Android, pero tiene sentido cuando necesita usar su dispositivo en un entorno administrado con políticas de seguridad estrictas o está tratando de vender su dispositivo.
2. Usa Magisk
Si tiene un teléfono inteligente Android más antiguo, Magisk es su mejor opción para pasar SafetyNet sin demasiados problemas. Aunque el Canal Canario de Magisk actual ya no ofrece MagiskHide, aún puede seguir con la última versión estable (v23.0) y usar MagiskHide para ocultar el estado raíz de las aplicaciones. Además, puede instalar módulos Magisk como MagiskHide Props Config para cambiar la huella digital del dispositivo para pasar SafetyNet.
Hablando del Canary Channel, la nueva función «DenyList» de Magisk es un desarrollo interesante, que permite a los usuarios asignar una lista de procesos donde Magisk niega más cambios y revierte cualquier cambio que haya realizado. Con la configuración adecuada, también se puede usar para pasar SafetyNet en ciertos escenarios.
Foros de Magisk XDA
Finalmente, está Shamiko, un módulo de trabajo en progreso escrito en Zygisk (Magisk en el proceso de zigoto). Lee la lista de aplicaciones para ocultarse de la lista de denegación de Magisk para ocultar la raíz de Magisk, el propio Zygisk y los módulos de Zygisk para eludir SafetyNet. Sin embargo, Shamiko solo puede funcionar después de desactivar la función DenyList.
Si instaló Magisk para root y desea una forma confiable de eludir SafetyNet después de eliminar MagiskHide, espere a que se lance el módulo «Shamiko». Utiliza la nueva funcionalidad Zygisk (Magisk en Zygote) y, por lo tanto, es más potente que MagiskHide. Otro trabajo en curso.
—Mishaal Rahman (@MishaalRahman) 4 de enero de 2022
3. Uso de Universal SafetyNet Fix
Pasar por alto la técnica de certificación SafetyNet basada en hardware de Google es un poco complicado, pero no del todo imposible. El proyecto Universal SafetyNet Fix de kdrag0n, miembro sénior de XDA, logra hábilmente esta hazaña al forzar la atestación básica en las comprobaciones de hardware.
En particular, Universal SafetyNet Fix depende de Magisk cuando se trata de aprobar la parte de certificación básica. El desarrollador ofrece dos versiones diferentes del parche: la variante Zygisk para Magisk Canary y la variante Riru para Magisk estable.
Parche universal de SafetyNet: Repositorio de GitHub ||| Hilo XDA
4. ih8sn
Si no desea confiar en Magisk para aprobar la certificación de SafetyNet, puede probar un complemento experimental llamado ih8sn. Después de la aplicación, puede falsificar una gran cantidad de valores de accesorios para eludir los controles de SafetyNet como el módulo MagiskHide Props Config, pero no depende de Magisk en primer lugar.
La herramienta ih8sn es mantenido por varios desarrolladores de LineageOS, pero el proyecto LineageOS aún no lo respalda oficialmente. Para obtener más información, eche un vistazo a su base de código siguiendo el enlace a continuación.
Repositorio GitHub ih8sn
Verificación
Después de aplicar cualquiera de los métodos de éxito de SafetyNet mencionados anteriormente, es posible que desee verificar el resultado. La aplicación Magisk viene con una opción para iniciar la rutina de verificación de SafetyNet directamente desde su menú principal, lo cual es realmente útil. También puede optar por una aplicación de código abierto llamada YASNAC (abreviatura de síy Aotro Sred de seguridad Acertificado contrahecker) para verificar el estado y (opcionalmente) examinar la respuesta JSON.
Así es como puede pasar SafetyNet en su teléfono. Con un poco de tiempo y paciencia, es posible restaurar el verdadero potencial de modificación de Android sin preocuparse por las fallas de certificación de SafetyNet. Actualizaremos esta guía con más métodos de anulación de SafetyNet, ¡así que vuelva a consultar más tarde!