Correzione delle app contenenti un'implementazione non sicura di TrustManager

Queste informazioni sono rivolte agli sviluppatori di app che contengono un'implementazione non sicura dell'interfaccia X509TrustManager.

Situazione attuale

Una o più delle tue app contengono un'implementazione non sicura dell'interfaccia X509TrustManager. Nello specifico, l'implementazione ignora tutti gli errori di convalida dei certificati SSL quando stabilisce una connessione HTTPS a un host remoto, rendendo così la tua app vulnerabile agli attacchi man in the middle. Un utente malintenzionato potrebbe leggere i dati trasmessi (ad esempio le credenziali di accesso) e persino modificare i dati trasmessi tramite la connessione HTTPS. Consulta la procedura dettagliata riportata di seguito per risolvere i problemi delle tue app. Dopo le scadenze indicate in Play Console, le app che contengono vulnerabilità di sicurezza non corrette potrebbero essere rimosse da Google Play.

Azione richiesta​

  1. Accedi a Play Console e vai alla sezione Avvisi per scoprire quali app sono interessate dai problemi e le scadenze per risolverli.
  2. Aggiorna le app interessate e correggi la vulnerabilità.
  3. Invia le versioni aggiornate delle app interessate.

 

Quando invii nuovamente le app, queste vengono riesaminate. Questa procedura può richiedere diverse ore. Se l'app supera il controllo e viene pubblicata correttamente, non sono necessari ulteriori interventi. Se invece l'app non supera il controllo, la nuova versione dell'app non verrà pubblicata e riceverai una notifica via email.

Ulteriori dettagli

Per gestire correttamente la convalida dei certificati SSL, modifica il codice nel metodo checkServerTrusted della tua interfaccia X509TrustManager personalizzata per sollevare un'eccezione CertificateException o IllegalArgumentException ogni volta che il certificato presentato dal server non soddisfa le tue aspettative. In particolare, presta attenzione alle seguenti problematiche:

  1. Assicurati che le eccezioni sollevate da checkServerTrusted non siano rilevate all'interno del metodo. Questo causerebbe la normale uscita di checkServerTrusted, facendo sì che l'app consideri attendibile un certificato dannoso.
  2. Non usare checkValidity per esaminare il certificato del server. checkValidity controlla se un certificato non è ancora scaduto e non può indicare se un certificato non dovrebbe essere ritenuto attendibile.

Puoi anche usare una configurazione della sicurezza di rete per personalizzare il comportamento del certificato della tua app in un modo meno soggetto a errori.

Siamo qui per aiutarti

Puoi pubblicare eventuali domande tecniche relative alla vulnerabilità su Stack Overflow utilizzando il tag "android-security" e "TrustManager". Per chiarimenti sui passaggi da seguire per risolvere il problema, puoi contattare il nostro team di assistenza per gli sviluppatori.

È stato utile?

Come possiamo migliorare l'articolo?
false
Menu principale
14496283892861385173
true
Cerca nel Centro assistenza
true
true
true
true
true
5016068
false
false