Tento článok je určený vývojárom aplikácií používajúcich nezabezpečenú implementáciu rozhrania obslužného nástroja WebViewClient.onReceivedSslError.
Čo sa deje
Minimálne jedna vaša aplikácia obsahuje nezabezpečenú implementáciu obslužného nástroja onReceivedSslError, takže je vystavená útokom typu man‑in‑the‑middle. Útočník môže zmeniť obsah príslušného zobrazenia WebView, čítať prenášané dáta (napríklad prihlasovacie údaje) a pomocou JavaScriptu spustiť kód v tejto aplikácii. Informácie nájdete v upozornení služby Play Console. Po termínoch uvedených v službe Play Console môžu byť na Google Play odstránené všetky aplikácie obsahujúce nevyriešené chyby zabezpečenia.
Vyžaduje sa akcia
- Prihláste sa do služby Play Console, prejdite do sekcie Upozornenia a pozrite si termíny, dokedy treba problémy vyriešiť, ako aj aplikácie, ktorých sa to týka.
- Aktualizujte príslušné aplikácie a chybu zabezpečenia odstráňte.
- Odošlite aktualizované verzie dotyčných aplikácií.
Po opätovnom odoslaní bude vaša aplikácia znova skontrolovaná. Tento proces môže trvať niekoľko hodín. Ak aplikácia úspešne prejde kontrolou a bude zverejnená, nie je potrebné vykonať žiadne ďalšie kroky. Ak aplikácia neprejde kontrolou, jej nová verzia sa nezverejní a dostanete upozornenie e‑mailom.
Ďalšie podrobnosti
- Ak chcete problém vyriešiť, zmeňte kód aplikácií tak, aby vždy, keď certifikát poskytnutý serverom zodpovedá vašim očakávaniam, spustil spôsob SslErrorHandler.proceed() a v ostatných prípadoch zasa SslErrorHandler.cancel(). Pri kontrole platnosti certifikátu majte na pamäti toto:
-
Aplikácia môže byť nahlásená, ak neobsahuje dostatočnú kontrolu platnosti certifikátu. Napríklad kontrola iba vrátenej hodnoty getPrimaryError nestačí na stanovenie platnosti certifikátu
-
Veľa chýb SSL vrátených spôsobom SslError.getPrimaryError môže ohroziť zabezpečenie, preto je potrebné ich vziať do úvahy. Upozorňujeme, že spôsob getPrimaryError vráti väčšinu závažných chýb v balíku, takže aj keď je hodnota
getPrimaryError() != SSL_UNTRUSTED
pravda, spojenie môže v danom balíku chýb stále obsahovať chybu SSL_UNTRUSTED.
-
-
Ak používate knižnicu tretej strany, ktorá túto chybu spôsobuje, oznámte jej to a spolupracujte s ňou na vyriešení problému.
Ďalšie informácie o obslužnom nástroji chýb SSL nájdete v dokumentácii v centre pomoci pre vývojárov pre Android. Ak máte iné technické otázky, uverejnite príspevok na https://www.stackoverflow.com/questions. Použite v ňom značky „android‑security“ a „SslErrorHandler“.
Hoci tieto konkrétne problémy nemusia ovplyvňovať každú aplikáciu využívajúcu nástroj WebView SSL, odporúčame vždy používať všetky aktuálne opravy zabezpečenia. Aplikácie s chybami zabezpečenia vystavujúce používateľov riziku napadnutia sú považované za nebezpečné produkty, pretože porušujú pravidlá pre obsah, ako aj článok 4.4 distribučnej zmluvy pre vývojárov.
Sme tu pre vás
Ak máte technické otázky týkajúce sa chýb zabezpečenia, uverejnite príspevok vo fóre Stack Overflow a použite značku „android‑security“. Ak potrebujete pomoc s jednotlivými krokmi potrebnými na vyriešenie problému, obráťte sa na tím podpory pre vývojárov.