Cómo corregir apps que contienen una implementación no segura de TrustManager

Esta información está dirigida a los desarrolladores de aquellas apps que contienen una implementación no segura de la interfaz X509TrustManager.

Información

Una o más de tus apps contienen una implementación no segura de la interfaz X509TrustManager. Específicamente, la implementación ignora todos los errores de validación del certificado SSL cuando se establece una conexión HTTPS con un host remoto, lo que provoca que la app sea vulnerable a ataques de intermediarios. Cualquier atacante podría leer y hasta modificar los datos transmitidos (como credenciales de acceso) en la conexión HTTPS. Revisa los pasos detallados que se incluyen a continuación para solucionar el problema con las apps. Después de los plazos que aparecen en Play Console, se eliminarán de Google Play todas las apps que contengan vulnerabilidades de seguridad no resueltas.

Acción necesaria​

  1. Accede a tu cuenta de Play Console y ve a la sección "Alertas" para observar qué apps están afectadas y los plazos para resolver los problemas.
  2. Actualiza las apps afectadas y corrige la vulnerabilidad.
  3. Envía las versiones actualizadas de las apps afectadas.

 

Una vez que las hayas reenviado, revisaremos tu app nuevamente. Este proceso puede demorar varias horas. Si la app pasa la revisión y se publica sin problemas, no se requerirá ninguna otra acción. Si la app no pasa la revisión, no se publicará la nueva versión, y recibirás una notificación por correo electrónico.

Detalles adicionales

Para implementar la validación del certificado SSL de manera correcta, cambia tu código en el método checkServerTrusted de la interfaz personalizada de X509TrustManager para que aparezca CertificateException o IllegalArgumentException cada vez que el certificado que presente el servidor no cumpla con tus expectativas. En particular, ten en cuenta los siguientes aspectos:

  1. Asegúrate de que las excepciones que genere checkServerTrust no se encuentren dentro del método. Eso provocaría que checkServerTrust saliera normalmente, lo cual haría que la app confiara en un certificado dañino.
  2. No uses checkValidity para verificar el certificado del servidor. Este método controla que los certificados no estén vencidos, pero no puede determinar si son de confianza o no.

También puedes usar una configuración de seguridad de red para personalizar el comportamiento del certificado de la app a fin de que sea menos propenso a errores.

Estamos aquí para ayudarte

Si tienes preguntas técnicas sobre la vulnerabilidad, puedes publicarlas en Stack Overflow con las etiquetas "android-security" y "TrustManager". Si necesitas aclaración sobre los pasos que debes seguir para resolver el problema, puedes comunicarte con nuestro equipo de asistencia para desarrolladores.

false
Google Apps
Menú principal
7913313872139571500
true
Buscar en el Centro de asistencia
true
true
true
true
true
5016068
false
false