Deze informatie is bedoeld voor ontwikkelaars van apps die een onveilige implementatie van de interface X509TrustManager bevatten.
Wat er gebeurt
Een of meer van uw apps bevatten een onveilige implementatie van de interface X509TrustManager. Het probleem is met name dat de implementatie alle validatiefouten voor SSL-certificaten negeert als een HTTPS-verbinding met een externe host tot stand wordt gebracht. Hierdoor wordt uw app kwetsbaar voor man-in-the-middle-aanvallen. Een aanvaller kan overgedragen gegevens (zoals inloggegevens) lezen en zelfs de gegevens wijzigen die via de HTTPS-verbinding worden overgedragen. Bekijk de gedetailleerde stappen hieronder om het probleem met uw apps op te lossen. Na de deadlines die worden weergegeven in uw Play Console, kunnen apps met niet-opgeloste beveiligingsproblemen worden verwijderd uit Google Play.
Actie vereist
- Log in bij de Play Console en navigeer naar het gedeelte Meldingen om te zien welke apps het betreft en wat de deadlines zijn om deze problemen op te lossen.
- Update de betreffende apps en verhelp de kwetsbaarheid.
- Dien de geüpdatete versies van de betreffende apps in.
Nadat uw app opnieuw is ingediend, wordt deze opnieuw beoordeeld. Dit proces kan enkele uren duren. Als de app is goedgekeurd en is gepubliceerd, hoeft u verder geen actie te ondernemen. Als de app niet wordt goedgekeurd, wordt de nieuwe app-versie niet gepubliceerd en ontvangt u een e-mailmelding.
Aanvullende details
Voor een correcte afhandeling van de validatie van SSL-certificaten wijzigt u uw code in de methode checkServerTrusted van uw aangepaste X509TrustManager-interface om CertificateException of IllegalArgumentException te retourneren als het certificaat dat wordt gepresenteerd door de server, niet voldoet aan de verwachtingen. Houd met name rekening met de volgende valkuilen:
- Zorg ervoor dat de uitzonderingen die door checkServerTrusted worden geretourneerd, niet binnen de methode vallen. Hierdoor wordt checkServerTrusted normaal afgesloten, wat ertoe leidt dat de app een schadelijk certificaat vertrouwt.
- Gebruik checkValidity niet om het servercertificaat te controleren. checkValidity controleert of een certificaat niet is verlopen en kan niet bepalen of een certificaat niet moet worden vertrouwd.
U kunt ook een netwerkbeveiligingsconfiguratie gebruiken om het certificaatgedrag van uw app op een minder foutgevoelige manier aan te passen.
We helpen u graag.
Als u technische vragen over de kwetsbaarheid heeft, kunt u een bericht posten op Stack Overflow en de tag 'android-security' en 'TrustManager' gebruiken. Neem contact op met ons supportteam voor ontwikkelaars voor meer informatie over de stappen die u moet uitvoeren om dit probleem op te lossen.