15Jul

Explicación de SafetyNet: por qué Android Pay y otras aplicaciones no funcionan en dispositivos rooteados

click fraud protection

Rootear su dispositivo Android le da acceso a una variedad más amplia de aplicaciones y un acceso más profundo al sistema Android. Pero algunas aplicaciones, como Android Pay de Google, no funcionarán en ningún dispositivo rooteado.

Google usa algo llamado SafetyNet para detectar si su dispositivo está rooteado o no, y bloquea el acceso a esas funciones. Google tampoco es el único: muchas aplicaciones de terceros tampoco funcionarán en dispositivos Android rooteados, aunque pueden verificar la presencia de root de otras maneras.

SafetyNet: cómo sabe Google que ha rooteado su teléfono Android Los dispositivos Android

ofrecen una "API de SafetyNet", que es parte de la capa de servicios de Google Play instalada en dispositivos Android aprobados por Google. Esta API "brinda acceso a los servicios de Google que lo ayudan a evaluar la salud y la seguridad de un dispositivo Android", según Google. Si eres un desarrollador de Android, puedes llamar a esta API en tu aplicación para verificar si el dispositivo en el que estás ejecutando ha sido manipulado.

instagram viewer

Esta API de SafetyNet está diseñada para verificar si un dispositivo ha sido manipulado, si ha sido rooteado por un usuario, está ejecutando una ROM personalizada o si ha sido infectado con malware de bajo nivel, por ejemplo.

Los dispositivos que se envían con Play Store de Google y otras aplicaciones instaladas deben pasar el "Paquete de prueba de compatibilidad" de Android de Google. Rootear un dispositivo o instalar una ROM personalizada evita que un dispositivo sea "Compatible con CTS".Así es como la API de SafetyNet puede determinar si está rooteado: simplemente verifica la compatibilidad de CTS.Del mismo modo, si obtiene un dispositivo Android que nunca llegó con las aplicaciones de Google, como una de esas tabletas de $ 20 enviadas directamente desde una fábrica en China, no se considerará "compatible con CTS", incluso si no lo ha rooteado..

Para obtener esta información, Google Play Services descarga un programa llamado "snet" y lo ejecuta en segundo plano en su dispositivo. El programa recopila datos de su dispositivo y los envía a Google regularmente. Google usa esta información para una variedad de propósitos, desde obtener una imagen del ecosistema de Android más amplio hasta determinar si el software de su dispositivo ha sido alterado o no. Google no explica exactamente lo que snet está buscando, pero es probable que las comprobaciones de snet si la partición de su sistema ha sido modificada desde el estado de fábrica.

Puede verificar el estado de SafetyNet de su dispositivo descargando una aplicación como SafetyNet Helper Sample o SafetyNet Playground. La aplicación le preguntará al servicio SafetyNet de Google sobre el estado de su dispositivo y le dirá la respuesta que obtiene del servidor de Google.

Para obtener más detalles técnicos, lea esta publicación de blog escrita por John Kozyrakis, estratega técnico de Cigital, una empresa de seguridad de software. Buscó en SafetyNet y explica más sobre cómo funciona.

depende de la aplicación

SafetyNet es opcional para los desarrolladores de aplicaciones, y los desarrolladores de aplicaciones pueden elegir usarlo o no. SafetyNet solo evita que una aplicación funcione si el desarrollador de una aplicación no desea que funcione en dispositivos rooteados.

La mayoría de las aplicaciones no verifican la API de SafetyNet en absoluto. Incluso una aplicación que verifique la API de SafetyNet, como las aplicaciones de prueba anteriores, no dejará de funcionar si recibe una mala respuesta. El desarrollador de la aplicación debe verificar la API de SafetyNet y hacer que la aplicación se niegue a funcionar si se entera de que el software de su dispositivo ha sido modificado. La aplicación Android Pay de Google es un buen ejemplo de esto en acción.

Android Pay no funcionará en dispositivos rooteados

La solución de pago móvil Android Android de Google no funciona en absoluto en dispositivos Android rooteados. Intenta ejecutarlo y verás un mensaje que dice "Android Pay no se puede usar".Google no puede verificar que su dispositivo o el software que se está ejecutando en él sea compatible con Android. "

No se trata solo de rootear, por supuesto, ejecutar una ROM personalizada también lo pondría en conflicto con este requisito. La API de SafetyNet alegará que no es "compatible con Android" si está utilizando una ROM personalizada que el dispositivo no incluía.

Recuerde, esto no solo detecta el enraizamiento. Si su dispositivo fue infectado por algún malware a nivel de sistema con la capacidad de espiar en Android Pay y otras aplicaciones, la API de SafetyNet también evitaría que Android Pay funcione, lo cual es algo bueno.

Rootear su dispositivo rompe el modelo de seguridad normal de Android. Android Pay normalmente protege sus datos de pago con las funciones de espacio aislado de Android, pero las aplicaciones pueden salir del entorno limitado en un dispositivo rooteado. Google no tiene forma de saber qué tan seguro sería Android Pay en un dispositivo en particular si está rooteado o ejecutando una ROM personalizada desconocida, por lo que la bloquean. Un ingeniero de Android Pay explicó el problema en el foro de XDA Developers si tiene curiosidad por leer más.

Otras maneras en que las aplicaciones pueden detectar Root

SafetyNet es solo una forma en que una aplicación puede verificar si se está ejecutando en un dispositivo rooteado. Por ejemplo, los dispositivos de Samsung incluyen un sistema de seguridad llamado KNOX.Si rooteas tu dispositivo, la seguridad de KNOX se desactiva. Samsung Pay, la propia aplicación de pagos móviles de Samsung, se negará a funcionar en dispositivos rooteados. Samsung está usando KNOX para esto, pero también podría usar SafetyNet.

Del mismo modo, muchas aplicaciones de terceros le impedirán usarlas, y no todas usan SafetyNet. Pueden verificar la presencia de aplicaciones y procesos de root conocidos en un dispositivo.

Es difícil encontrar una lista actualizada de aplicaciones que no funcionan cuando un dispositivo está rooteado. Sin embargo, RootCloak proporciona varias listas. Estas listas pueden estar desactualizadas, pero son las mejores que podemos encontrar. Muchas son aplicaciones bancarias y otras aplicaciones de monedero móvil, que bloquean el acceso en teléfonos rooteados en un intento de proteger su información bancaria para que no sea capturada por otras aplicaciones. Las aplicaciones para servicios de transmisión de video también pueden negarse a funcionar en un dispositivo rooteado como una medida de DRM, que intenta evitar que grabe una transmisión de video protegida.

Algunas aplicaciones pueden ser engañadas

Google está jugando un juego del gato y el ratón con SafetyNet, actualizándolo constantemente en un intento por mantenerse por delante de las personas que lo rodean. Por ejemplo, el desarrollador de Android Chainfire ha creado un nuevo método de enraizamiento de dispositivos Android sin modificar la partición del sistema, conocida como "raíz sin sistema".Inicialmente, SafetyNet no detectó que se manipularan estos dispositivos, y Android Pay funcionó, pero SafetyNet finalmente se actualizó para detectar este nuevo método de rooteo. Esto significa que Android Pay ya no funciona junto con la raíz del sistema.

Según la aplicación que verifique el acceso raíz, es posible que pueda engañarlo. Por ejemplo, según los informes, existen métodos para rootear algunos dispositivos Samsung sin desconectar la seguridad de KNOX, lo que le permitiría continuar utilizando Samsung Pay.

En el caso de aplicaciones que solo buscan aplicaciones raíz en su sistema, hay un módulo Xposed Framework llamado RootCloak que, según los informes, le permite engañarlos para que funcionen de todos modos. Esto funciona con aplicaciones como DirecTV GenieGo, Best Buy CinemaNow y Movies by Flixster, que normalmente no funcionan en dispositivos rooteados. Sin embargo, si estas aplicaciones se actualizaran para usar la red de seguridad de Google, no serían tan fáciles de engañar de esta manera.

La mayoría de las aplicaciones continuarán funcionando normalmente una vez que haya rooteado su dispositivo. Las aplicaciones de pago móvil son la gran excepción, al igual que otras aplicaciones bancarias y financieras. Los servicios pagados de transmisión de video a veces intentan impedir que vea sus videos también.

Si una aplicación que necesita no funciona en su dispositivo rooteado, siempre puede desentrañar su dispositivo para usarlo. La aplicación debería funcionar después de que haya devuelto su dispositivo a su estado de fábrica seguro. Crédito de imagen de

: Danny Choo en Flickr