Postępowanie w przypadku ujawnienia serwera Komunikacji w chmurze Firebase (FCM)
Te informacje są przeznaczone dla deweloperów aplikacji, które zawierają ujawnione klucze serwera Komunikacji w chmurze Firebase (FCM).
O co chodzi?
Co najmniej 1 z Twoich aplikacji zawiera ujawnione klucze serwera FCM. Osoba przeprowadzająca ataki może wykorzystać ujawnione klucze do wysyłania powiadomienia push wszystkim użytkownikom aplikacji, która zawiera luki w zabezpieczeniach. Atakujący może mieć kontrolę nad treścią takich powiadomień – mogą one zawierać np. obraźliwe wiadomości i sugestywne lub niepokojące grafiki. Aby rozwiązać ten problem, wykonaj dokładnie podane niżej czynności. Informacje o miejscach, w których Twoja aplikacja ujawnia klucze serwera FCM, znajdziesz w dotyczącym tej aplikacji powiadomieniu w Konsoli Play.
Wymagane działanie
-
Zaktualizuj aplikację i ujawnione klucze FCM, wykonując czynności opisane poniżej.
- Jeśli aplikacja wykorzystuje starszy interfejs API FCM, lecz nie używasz go do wysyłania powiadomień push, wyłącz starszy interfejs API FCM.
- Jeśli masz włączoną starszą wersję interfejsu API FCM i używasz go do wysyłania powiadomień push, możesz wykonać dowolną z tych 2 czynności:
- (Zalecane) Przejdź na interfejs API FCM w wersji 1 i wyłącz jego starszą wersję.
- Zadbaj o bezpieczeństwo korzystania ze starszej wersji interfejsu API FCM, wykonując te czynności:
- Jeśli używasz ujawnionego klucza tylko na potrzeby interfejsu API FCM:
- Wygeneruj nowy klucz. Aby to zrobić, w sekcji Konsola Firebase > Ustawienia projektu > Komunikacja w chmurze kliknij „Dodaj klucz serwera”. Zacznij używać nowego klucza serwera do wysyłania wiadomości FCM z bezpiecznego środowiska serwera. Używaj tego klucza tylko w bezpiecznym środowisku serwera i nie umieszczaj go w kodzie klienta (w aplikacji lub plikach binarnych).
- Po przejściu na wysyłanie wiadomości FCM przy użyciu nowego klucza serwera usuń ujawnione klucze serwera z GCP Console. Informacje o miejscach, w których Twoja aplikacja ujawnia klucze serwera FCM, znajdziesz w e-mailu z powiadomieniem z Google Play. W kroku C znajdziesz instrukcje uzyskiwania ujawnionych kluczy z tych lokalizacji.
- Jeśli używasz ujawnionego klucza w innych interfejsach API, w tym w FCM, wykonaj te czynności:
- Przejdź na interfejs API FCM w wersji 1 i wyłącz jego starszą wersję.
- Aby zabezpieczyć na przyszłość inne zastosowania interfejsów API, możesz zrezygnować z wykorzystywania ujawnionego klucza przez te interfejsy, a następnie usunąć ujawniony klucz z GCP Console.
- Jeśli używasz ujawnionego klucza tylko na potrzeby interfejsu API FCM:
- Po wykonaniu jednej z czynności opisanych powyżej usuń ujawniony klucz serwera FCM z kodu aplikacji. Informacje o miejscach, w których Twoja aplikacja ujawnia klucze serwera FCM, znajdziesz w e-mailu z powiadomieniem z Google Play. Aby uzyskać ujawnione klucze, sprawdź kod aplikacji w zagrożonej lokalizacji. Klucz może być umieszczony w tej lokalizacji jako ciąg znaków lub wczytywać się z zasobów XML aplikacji. W tym drugim przypadku zajrzyj do pliku
res/values/strings.xml
aplikacji, aby uzyskać ujawniony klucz. Uwaga:- Jeśli wykonasz opisane powyżej czynności, ale nie usuniesz ujawnionych kluczy z aplikacji, nadal będziesz otrzymywać powiadomienia o lukach w zabezpieczeniach na swoje konto e-mail lub w Konsoli Google Play.
- Jeśli usuniesz ujawnione klucze z aplikacji, ale nie wykonasz opisanych powyżej czynności, problem nie zostanie rozwiązany, ponieważ osoba przeprowadzająca atak może po prostu znaleźć klucz w starszej wersji aplikacji i wykorzystać go do ataku na aplikację.
2. Prześlij zaktualizowany plik APK
Aby przesłać zaktualizowany pakiet aplikacji lub plik APK:
- Otwórz Konsolę Play.
- Wybierz aplikację.
- Otwórz Eksploratora pakietów aplikacji.
- W prawym górnym menu wybierz wersję aplikacji powiązaną z naruszającym zasady pakietem aplikacji lub plikiem APK i sprawdź, w których wersjach produkcyjnych jest ona dostępna.
- Przejdź do ścieżki, która jest niezgodna z zasadami. Będzie to jedna z tych 4 stron: Test wewnętrzny, Test zamknięty, Test otwarty lub Produkcyjna.
- W prawym górnym rogu strony kliknij Utwórz nową wersję. Możliwe, że trzeba będzie najpierw kliknąć Zarządzaj ścieżką.
- Jeśli wersja pliku APK naruszającego zasady jest w wersji roboczej, odrzuć ją.
- Dodaj zgodne z zasadami wersje pakietów aplikacji lub plików APK.
- Sprawdź, czy niezgodna z zasadami wersja pakietów aplikacji lub plików APK jest w sekcji Nieuwzględnione w tej wersji produkcyjnej. Dodatkowe wskazówki znajdziesz w sekcji „Nieuwzględnione (pakiety aplikacji i pliki APK)” w tym artykule pomocy na temat Konsoli Play.
- Aby zapisać zmiany wprowadzone w wersji, kliknij Zapisz.
- Gdy skończysz przygotowywać wersję, kliknij Sprawdzanie wersji.
Jeśli niezgodny z zasadami plik APK jest wdrożony na wielu ścieżkach, na każdej z nich powtórz kroki 5–9.
Po ponownym przesłaniu aplikacja zostanie jeszcze raz sprawdzona. Ten proces może potrwać kilka godzin. Jeśli aplikacja pomyślnie przejdzie weryfikację i zostanie opublikowana, nie musisz już nic robić. Jeśli wynik weryfikacji nie będzie pomyślny, nowa wersja aplikacji nie zostanie opublikowana, a Ty otrzymasz powiadomienie e-mailem.
Chętnie Ci pomożemy
Jeśli masz pytania techniczne związane z tą luką w zabezpieczeniach, możesz je opublikować na stronie Stack Overflow, używając tagu „android-security”. Jeśli potrzebujesz wyjaśnienia czynności niezbędnych do rozwiązania tego problemu, skontaktuj się z naszym zespołem pomocy dla deweloperów.