Ovaj je članak namijenjen razvojnim programerima aplikacija koje koriste nesigurnu implementaciju rukovatelja WebViewClient.onReceivedSslError.
Što se događa
Jedna ili više vaših aplikacija sadrže nesigurnu implementaciju rukovatelja onReceivedSslError zbog čega su izložene posredničkim napadima. Napadač može promijeniti sadržaj ugroženog web-prikaza, pročitati podatke koji se prenose (na primjer vjerodajnice za prijavu) i izvršiti kôd u aplikaciji pomoću JavaScripta. Pogledajte obavijest na Play konzoli. Aplikacije koje budu sadržavale neriješene sigurnosne ranjivosti nakon rokova prikazanih na vašoj Play konzoli mogu se ukloniti s Google Playa.
Potrebna je radnja
- Prijavite se na Play konzolu i u odjeljku Upozorenja pogledajte koje su aplikacije podložne ranjivostima i koji su rokovi za rješavanje tih poteškoća.
- Ažurirajte zahvaćene aplikacije i popravite ranjivosti.
- Pošaljite ažurirane verzije ranjivih aplikacija.
Nakon slanja ponovo ćemo pregledati vašu aplikaciju. Taj postupak može trajati nekoliko sati. Ako aplikacija prođe pregled i uspješno se objavi, ne morate više ništa poduzimati. Ako aplikacija ne prođe pregled, nova verzija aplikacije neće se objaviti i dobit ćete obavijest e-poštom.
Dodatne pojedinosti
- Da biste riješili taj problem, ažurirajte kôd aplikacija tako da aktivira SslErrorHandler.proceed() svaki put kada certifikat poslužitelja udovolji vašim očekivanjima ili SslErrorHandler.cancel() u suprotnim slučajevima. Prilikom provjere valjanosti certifikata pazite na sljedeće:
-
Aplikacija može biti označena ako ne sadrži dovoljno provjera valjanosti certifikata; na primjer ako se provjerava samo povratna vrijednost getPrimaryError, to nije dovoljno za utvrđivanje valjanosti certifikata.
-
Nije sigurno zanemariti većinu pogrešaka SSL-a koje vraća SslError.getPrimaryError. Napominjemo da getPrimaryError vraća najtežu pogrešku u skupu pogrešaka, pa ako je
getPrimaryError() != SSL_UNTRUSTED
true, veza i dalje može sadržavati pogrešku SSL_UNTRUSTED u skupu pogrešaka.
-
-
Ako upotrebljavate biblioteku treće strane koja je odgovorna za to, obavijestite tu treću stranu i zajedno riješite problem.
Više informacija o rukovatelju pogreškama SSL-a potražite u našoj dokumentaciji u centru za pomoć za razvojne programere za Android. Ostala tehnička pitanja možete objaviti na stranici https://www.stackoverflow.com/questions uz oznake "android-security" i "SslErrorHandler2".
Iako te poteškoće ne moraju utjecati na sve aplikacije koje upotrebljavaju SSL web-prikaza, najbolje je ažurirati sve sigurnosne zakrpe. Aplikacije s ranjivostima koje ugrožavaju sigurnost korisnika mogu se smatrati opasnim proizvodima koji krše Pravila o sadržaju i članak 4.4 Ugovora o distribuciji za razvojne programere.
Obratite nam se ako vam zatreba pomoć
Ako imate tehnička pitanja o toj ranjivosti, možete objaviti post na Stack Overflowu uz oznaku "android-security". Za upute za rješavanje te poteškoće možete se obratiti našem timu za podršku razvojnim programerima.