Com solucionar les alertes del gestor d'errors de WebView SSL en aplicacions

Aquest article va dirigit als desenvolupadors d'aplicacions que fan servir una implementació no segura del gestor WebViewClient.onReceivedSslError.

Què passa

Com a mínim una de les teves aplicacions conté una implementació no segura del gestor onReceivedSslError i, per tant, l'aplicació és vulnerable als atacs d'intercepció. Un atacant podria canviar el contingut de WebView afectat, tenir accés a les dades transmeses (com ara les credencials d'inici de sessió) i executar codi dins de l'aplicació mitjançant JavaScript. Consulta l'avís a Play ConsoleDespré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

  1. Per corregir el problema, actualitza el codi de les aplicacions per invocar SslErrorHandler.proceed() quan el servidor presenti el certificat que esperes. En cas contrari, invoca SslErrorHandler.cancel(). Tingues en compte els punts següents quan comprovis la validesa del certificat:
    1. Pot ser que una aplicació es marqui si no conté prou comprovacions de validesa del certificat. Per exemple, no n'hi ha prou amb comprovar només el valor de retorn de getPrimaryError per establir la validesa del certificat.

    2. No és segur ignorar la majoria d'errors d'SSL retornats per SslError.getPrimaryError. Tingues en compte que getPrimaryError retorna l'error més greu d'un conjunt d'errors. Per tant, si getPrimaryError() != SSL_UNTRUSTED s'estableix en "true", la connexió encara podria contenir un error SSL_UNTRUSTED en el conjunt d'errors.

  2. Si la causa és que fas servir la biblioteca d'un tercer, posa't en contacte amb el fabricant en qüestió per solucionar-ho.

Per obtenir més informació sobre el gestor d'errors d'SSL, consulta la documentació del Centre d'ajuda per a desenvolupadors d'Android. Per resoldre altres dubtes tècnics, pots publicar-los a https://www.stackoverflow.com/questions amb les etiquetes "android-security" i "SslErrorHandler".

Tot i que és possible que aquests problemes concrets no afectin totes les aplicacions que utilitzen libjpeg-turbo, és millor tenir tots els pedaços de seguretat actualitzats. Les aplicacions amb vulnerabilitats que suposen un risc per a la seguretat dels usuaris es poden considerar productes perillosos que incompleixen la política de continguts i la secció 4.4 de l'acord de distribució per a desenvolupadors.

Som aquí per ajudar-te

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

false
Menú principal
5681827909776792237
true
Cerca al Centre d'ajuda
true
true
true
true
true
5016068
false
false