Com solucionar els problemes de les aplicacions que contenen una implementació no segura de TrustManager

Aquesta informació va dirigida als desenvolupadors de les aplicacions que contenen una implementació no segura de la interfície X509TrustManager.

Què passa

Com a mínim una de les teves aplicacions conté una implementació no segura de la interfície X509TrustManager. En concret, la implementació ignora tots els errors de validació del certificat SSL quan s'estableix una connexió HTTPS amb un amfitrió remot, per la qual cosa l'aplicació és vulnerable als atacs d'intermediari. Els atacants podrien tenir accés a la informació enviada (com ara les credencials d'inici de sessió) i fins i tot canviar les dades transmeses mitjançant la connexió HTTPS. Revisa els passos detallats que s'indiquen a continuació per resoldre el problema de les aplicacions. Després de les dates límit que es mostren a Play Console, és possible que les aplicacions que presentin vulnerabilitats de seguretat sense solucionar se suprimeixin de Google Play.

Acció necessària​

  1. Inicia la sessió a Play Console i navega per la secció Alertes per consultar quines aplicacions es veuen afectades i les dates límit per resoldre aquests problemes.
  2. Actualitza les aplicacions afectades i soluciona la vulnerabilitat.
  3. Envia les versions actualitzades de les aplicacions afectades.

 

Un cop hagis tornat a enviar l'aplicació, la tornarem a revisar. Aquest procés pot tardar diverses hores. Si l'aplicació supera la revisió i es publica correctament, no cal dur a terme cap altra acció. Si l'aplicació no supera la revisió, no se'n publicarà la versió nova i rebràs una notificació per correu electrònic.

Detalls addicionals

Per gestionar correctament la validació del certificat SSL, canvia el codi al mètode checkServerTrusted de la interfície personalitzada X509TrustManager per establir CertificateException o IllegalArgumentException sempre que el certificat que presenti el servidor no compleixi les teves expectatives. En concret, tingues en compte els paranys següents:

  1. Assegura't que les excepcions establertes per checkServerTrusted no es trobin al mètode, ja que checkServerTrusted es tancaria amb normalitat i això faria que l'aplicació confiés en un certificat perjudicial.
  2. No utilitzis checkValidity per verificar el certificat de servidor. checkValidity comprova si un certificat no ha caducat, però no et pot dir que no confiïs en un certificat.

També pots fer servir una configuració de seguretat de xarxa per personalitzar el comportament dels certificats de l'aplicació de manera que hi hagi menys errors.

Som aquí per ajudar-te

Si tens cap dubte tècnic sobre la vulnerabilitat, pots publicar les teves preguntes a Stack Overflow amb les etiquetes "android-security" i "TrustManager". Per aclarir els passos que has de seguir per resoldre aquest problema, pots contactar amb el nostre equip d'assistència per a desenvolupadors.