Protege el entorno

Google ofrece un conjunto de APIs y servicios para ayudarte a detectar si tu app que se ejecuta en un entorno seguro y confiable. El elemento central es Play Integrity que ayuda a comprobar que las interacciones son genuinas detectando interacciones riesgosas y fraudulentas. Además de la integridad de la app y el dispositivo, Play La API de Integrity ahora ofrece información sobre los riesgos de acceso y accesibilidad. Google Play Protect y actividad reciente del dispositivo Para reforzar aún más tu estrategia contra fraudes, la plataforma de Android ofrece APIs para situaciones específicas que podrían ser relevantes para tu app.

API de Play Integrity

Funciones de la API de Play Integrity

La API de Play Integrity te permite obtener información sobre el estado de seguridad de la dispositivo en el que se ejecuta su app. Esto te ayuda a estar seguro de que el usuario adecuado es el acceso a información sensible.

Te ayuda a comprobar que las interacciones y las solicitudes del servidor provengan de tu objeto binario original de la app en un entorno confiable:

  • Objeto binario original de la app: Determina si interactúas con el binario sin modificar que Google Play reconoce.
  • Instalación original de Play: Determina si la cuenta de usuario actual es tiene licencia, lo que significa que el usuario instaló o pagó por la aplicación o el juego en Google Play
  • Dispositivo Android original: Determina si tu app se está ejecutando en un dispositivo Android original. Dispositivo con Android y los Servicios de Google Play.
  • Sin software malicioso conocido: Determina si Google Play Protect está activado. y si encontró apps peligrosas o riesgosas instaladas en el dispositivo.
  • Bajo riesgo de acceso por parte de otras apps: Determina si otras apps se están ejecutando. que puedan capturar la pantalla o controlar el dispositivo y las entradas de la app.

Cómo ayuda esto a mitigar el fraude

Cuando un usuario realice una acción importante en tu app, podrás llamar al servicio API de Integrity. Si no fue así, el servidor de backend de tu app puede decidir realizar para defenderse contra ataques y fraudes. Por ejemplo, podrías exigir una verificación adicional del usuario o denegar el acceso a funciones sensibles.

Flujo de decisión de la API de Play Integrity

Riesgo de acceso a la app

El indicador Riesgo de acceso a apps se introdujo para ayudarte a evaluar si otras aplicaciones en un dispositivo podrían estar viendo y capturando la pantalla cuando tu app esté ejecutar o acceder a la app con permisos de accesibilidad. Verificado las apps de accesibilidad se excluyen automáticamente de estos veredictos. Acceso a la app ayuda a los desarrolladores a proteger sus apps y preservar la privacidad del usuario la app solicitante no obtiene la identidad de las apps instaladas; no está vinculado a identificadores de usuarios o dispositivos.

Captura de pantalla de un teléfono que requiere que el usuario cierre ciertas apps.

Gracias a este esfuerzo colaborativo, podemos obtener los indicadores necesarios para nos brindan estadísticas más detalladas para proteger a nuestros clientes de forma más eficaz.
— Nubank, socio con acceso anticipado

El riesgo de acceso a la app tiene diferentes niveles de riesgo:

  • Una respuesta de captura significa que se están ejecutando otras apps que pueden capturar la pantalla.
  • Una respuesta de control significa que se están ejecutando otras apps que pueden controlar la dispositivo y, por lo tanto, podrían capturar la pantalla y controlar las entradas en tu aplicación.

El riesgo de acceso de apps está disponible ahora en versión beta pública y tendrá un alcance general disponibles en los próximos meses.

Aplicación del Riesgo de acceso a la app

Identifica acciones sensibles o de alto valor en tu app o juego para protegerlas con la API de Play Integrity en lugar de denegar directamente el acceso. Cuando sea posible, desafía el tráfico riesgoso antes de permitir que se realicen acciones de alto valor. Por ejemplo, cuando el riesgo de acceso a la app indique que se está ejecutando una app que podría capturar la pantalla, pídele al usuario que inhabilite o desinstale apps que puedan capturar la pantalla antes de permitirle continuar con la funcionalidad que quieres proteger.

Esta tabla contiene algunos veredictos de ejemplo:

Ejemplo de respuesta de veredicto de riesgo de acceso de apps Interpretación
appsDetected:
["KNOWN_INSTALLED"]
Solo hay apps instaladas que Google Play reconoce o precargada en la partición del sistema por el fabricante del dispositivo. No hay aplicaciones en ejecución que generen la captura. controlar o superponer veredictos.
appsDetected:
["KNOWN_INSTALLED",
"UNKNOWN_INSTALLED",
"UNKNOWN_CAPTURING"]
Hay apps instaladas por Google Play o precargadas en la o una partición del sistema por el fabricante del dispositivo. Hay otras apps en ejecución y tienen permisos habilitados que podrían usarse para ver la pantalla o capturar otras entradas y salidas.
appsDetected:
["KNOWN_INSTALLED",
"KNOWN_CAPTURING",
"UNKNOWN_INSTALLED",
"UNKNOWN_CONTROLLING"]
Hay Play o un sistema en ejecución que tienen permisos habilitados que podría usarse para ver la pantalla o capturar otras entradas y salidas. También hay otras apps en ejecución que tienen permisos habilitados que podría usarse para controlar el dispositivo y controlar directamente las entradas tu app.
appAccessRiskVerdict: {} No se evalúa el riesgo de acceso de apps porque se incluyó un requisito necesario que se perdieron. Por ejemplo, el dispositivo no era lo suficientemente confiable.

Señal de Play Protect

El indicador de Play Protect le indica a tu app si Play Protect está activado y si encontró aplicaciones dañinas conocidas instaladas en el dispositivo.

environmentDetails:{
  playProtectVerdict: "NO_ISSUES"
}

Si el software malicioso es un problema particular para tu app o la configuración datos, puedes consulta este veredicto y pídeles a tus usuarios que activen Play Protect o quiten el dispositivo apps antes de continuar.

Activar diálogo de Play Protect

playProtectVerdict puede tener uno de los siguientes valores:

Veredicto Explicación Acción recomendada

NO_ISSUES

Play Protect está activado y no detectó ningún problema con las apps en la dispositivo.

Play Protect está activado y no detectó ningún problema, por lo que no se permite ninguna acción del usuario como en los productos necesarios.

NO_DATA

Play Protect está activado, pero aún no se realizó ningún análisis. El dispositivo o la app de Play Store se hayan restablecido recientemente.

Play Protect está activado y no detectó ningún problema, por lo que no se permite ninguna acción del usuario como en los productos necesarios.

POSSIBLE_RISK

Play Protect está desactivado.

Play Protect está activado y no detectó ningún problema, por lo que no se requiere ninguna acción del usuario es obligatorio.

MEDIUM_RISK

Play Protect está activado y encontró apps potencialmente dañinas instalada en el dispositivo.

Según tu tolerancia al riesgo, puedes pedirle al usuario que inicie Play Protect y tomar medidas al respecto. Si el usuario Si no puedes cumplir con estos requisitos, puedes bloquearlo del servidor. acción.

HIGH_RISK

Play Protect está activado y encontró apps peligrosas instaladas en el dispositivo.

Según tu tolerancia al riesgo, puedes pedirle al usuario que inicie Play Protect y tomar medidas al respecto. Si el usuario si no puedes cumplir con estos requisitos, puedes bloquearlo la acción del servidor.

UNEVALUATED

No se evaluó el veredicto de Play Protect.

Esto podría ocurren por varias razones, entre las que se incluyen las siguientes:

  • El dispositivo no es lo suficientemente confiable.
  • Solo para juegos: La cuenta de usuario no es LICENSED.

Actividad reciente del dispositivo

También puedes habilitar la actividad reciente del dispositivo, que indica cuántas veces tu app solicitó un token de integridad en un dispositivo específico durante la última hora. Tú puede usar la actividad reciente del dispositivo para proteger tu app de acciones dispositivos hiperactivos que podrían indicar un ataque activo. Puedes decide cuánto confiar en cada nivel de actividad reciente del dispositivo según la cantidad Cantidad de veces que esperas que tu app instalada en un dispositivo típico solicite una actualización token por hora.

Si aceptas recibir recentDeviceActivity, el campo deviceIntegrity tienen dos valores:

deviceIntegrity: {
  deviceRecognitionVerdict: ["MEETS_DEVICE_INTEGRITY"]
  recentDeviceActivity: {
    // "LEVEL_2" is one of several possible values.
    deviceActivityLevel: "LEVEL_2"
  }
}

Primero, debes comprobar los datos para ver cuáles son los niveles típicos de actividad de los dispositivos de tu app están en todos tus dispositivos. Luego, puedes decidir cómo quieres que la app cuando un dispositivo hace demasiadas solicitudes. Si la actividad es una Puedes pedirle al usuario que vuelva a intentarlo más tarde. Si la actividad es muy alto, le recomendamos que tome medidas de aplicación más sólidas.

Solicitudes estándar frente a clásicas

Como parte de la implementación de Play Integrity, es importante que tengas en cuenta los dos tipos de solicitudes. Debes usar solicitudes estándar en la mayoría de los casos, para proporcionar la respuesta más rápida, y se deben usar solicitudes clásicas cuando se necesita una solicitud recién generada en el registro de certificación del dispositivo.

Solicitud clásica

Solicitud estándar

Las solicitudes tardan más tiempo y deben hacerse con menos frecuencia.

Por ejemplo, de vez en cuando para verificar si una solución altamente valiosa o las acciones sensibles es genuina.

Úsalo con poca frecuencia.

Las solicitudes tienen latencia baja y se pueden usar a pedido.

Una solicitud estándar consta de dos partes:

  • Cómo preparar el proveedor de token de integridad (una sola vez)
  • Cómo solicitar un token de integridad (a pedido)

Úsalo a pedido.

Consulta la documentación de Play Integrity para obtener más información sobre las políticas estándar y classic.

Implementación

Para comenzar a usar la API de Play Integrity, haz lo siguiente:

De forma predeterminada, la API de Play Integrity permite hasta 10,000 solicitudes por app por día. Para expresa tu interés en aumentar tus solicitudes máximas diarias, sigue estas instrucciones. Para poder recibir un aumento en su cantidad máxima diaria de solicitudes, tu app debe implementar la API de Play Integrity correctamente y disponibles en Google Play, además de cualquier otro canal de distribución.

Aspectos que debes tener en cuenta sobre la API de Play Integrity

Protección automática de la integridad (nivel de API >= 23)

Protección automática de la integridad es un servicio de protección contra manipulaciones de código que protege tu app contra abusos de integridad en forma de modificación y redistribución. Funciona sin conexión de datos y requiere sin trabajo de los desarrolladores antes de las pruebas ni integración del servidor de backend.

Cómo ayuda esto a mitigar el fraude

Cuando activas Protección automática de la integridad, Google Play agrega verificaciones a tu código de la app y hace que sea difícil quitarlos con ofuscación avanzada y técnicas contra la ingeniería inversa. Durante el tiempo de ejecución, la protección se manipuló o redistribuyó la aplicación:

  • Si falla la verificación del instalador, se solicitará a los usuarios que accedan a la app desde Google Play
  • Si falla la verificación de modificaciones, no se ejecutará la app

Esto ayuda a mantener a los usuarios protegidos de las versiones modificadas de tu app.

Implementación

En este caso, la protección automática de la integridad solo está disponible para socios de Play seleccionados. tiempo. Comunícate con el equipo de asistencia para desarrolladores de Google Play si la función no está disponible en tu cuenta de Google Play Console y quieres expresar tu interés en obtener el acceso a los datos.

Puedes activar la protección cuando crees una versión o en la App integridad de la app (Versión > Integridad de la app). Integridad automática requiere que la app use la firma de apps de Play.

Asegúrate de probar tu app protegida antes de promocionar la versión a producción.

Aspectos que debes tener en cuenta

  • No lances versiones de apps desprotegidas
  • Ten cuidado a la hora de combinar soluciones de protección contra manipulaciones
  • Prueba tu app protegida antes de lanzarla a producción
  • Supervisa las estadísticas con normalidad para ver si hay aumentos en las fallas.
  • Puedes denunciar las versiones pirateadas de tu app en Google Play