Zapobieganie modyfikowaniu i dalszej dystrybucji aplikacji przez nieuprawnione osoby dzięki automatycznej ochronie integralności

Uwaga: funkcje opisane na tej stronie są obecnie dostępne tylko dla wybranych partnerów Google Play.

Automatyczna ochrona integralności w Google Play to usługa, która pomaga chronić aplikacje i gry przed naruszeniem ich integralności w wyniku nieautoryzowanej modyfikacji lub dalszej dystrybucji. Automatyczna ochrona integralności działa w Twojej aplikacji bez połączenia z internetem. Można ją włączyć 1 kliknięciem w Konsoli Play, a testowanie nie wymaga żadnej pracy programistycznej ani integracji z serwerem backendu.

Jak to działa

Automatyczna ochrona integralności wprowadza funkcje kontrolne w czasie działania aplikacji, aby ograniczyć możliwość jej modyfikowania i dalszego rozpowszechniania. Dzięki zaawansowanym technikom zaciemniania kodu i blokowania analizowania wstecznego mechanizmy kontrolujące są wyjątkowo trudne do usunięcia. Jeśli sprawdzanie instalatora da wynik negatywny, użytkownik zostanie poproszony o pobranie aplikacji z Google Play. W przypadku negatywnego wyniku kontroli pod kątem modyfikacji aplikacja się nie uruchomi. Pomaga to chronić użytkowników przed szkodliwymi treściami, które mogą się pojawiać w zmienionych wersjach aplikacji.

Automatyczna ochrona integralności ma następujące zadania:

  • Zapobiega nieautoryzowanej modyfikacji: automatyczna ochrona integralności pomaga chronić aplikację przed modyfikacjami, przez co trudniej jest rozpowszechniać jej nieoficjalne kopie o zmienionym działaniu (np. usuwające płatności, dodające reklamy, zmieniające identyfikatory właścicieli reklam czy dodające złośliwe oprogramowanie).
  • Zapobiega piractwu płatnych aplikacji: gdy użytkownik pobierze z nieoficjalnego źródła niezmodyfikowaną, dostępną także w Google Play wersję Twojej aplikacji, automatyczna ochrona integralności wyświetli prośbę o pobranie jej z Google Play. Ten komunikat jest opcjonalny. Aby go wyłączyć, wystarczy odznaczyć pole „Wymagaj instalacji z Google Play” na stronie konfiguracji automatycznej ochrony integralności.
  • Zwiększa liczbę użytkowników otrzymujących oficjalne aktualizacje: gdy użytkownik zainstaluje z innego źródła niezmodyfikowaną, dostępną także w Google Play wersję Twojej aplikacji, automatyczna ochrona integralności może wyświetlić prośbę o dodanie jej do biblioteki Google Play, aby zapewnić regularne aktualizowanie aplikacji. Ten komunikat jest opcjonalny. Aby go wyłączyć, wystarczy odznaczyć pole „Wymagaj instalacji z Google Play” na stronie konfiguracji automatycznej ochrony integralności.
Ważne: automatyczna ochrona integralności nie gwarantuje ochrony przed wszystkimi próbami łamania zabezpieczeń, piractwa, przepakowywania czy dalszego rozpowszechniania. Automatyczna ochrona integralności sprawia, że takie działania są trudniejsze i bardziej kosztowne, co zmniejsza prawdopodobieństwo ich powodzenia. Google Play nieustannie podnosi poziom automatycznej ochrony integralności, dzięki czemu nowe wersje Twojej aplikacji automatycznie otrzymują najnowszą i najlepszą wersję zabezpieczeń.

Konfigurowanie automatycznej ochrony integralności

Poniżej znajdziesz informacje o tym, co musisz zrobić, aby zacząć używać automatycznej ochrony integralności. Kliknij sekcję, aby ją rozwinąć.

Wymagania wstępne

Jeśli włączysz automatyczną ochronę integralności danej aplikacji, Google Play będzie automatycznie dodawać zabezpieczenia podczas tworzenia każdej wersji gotowej do dystrybucji na urządzeniach. W tym celu Google Play utworzy zmodyfikowane pliki APK i podpisze je w Twoim imieniu. Dlatego musisz:

Pamiętaj o tych ograniczeniach:

  • Automatyczna ochrona integralności jest obsługiwana tylko na Androidzie 6.0 Marshmallow (poziom interfejsu API 23) i nowszych wersjach. Android M został wprowadzony w 2015 roku. W 2023 roku kierowanie aplikacji na pakiet midSDK w wersji 23 lub nowszej będzie dotyczyć ponad 97% aktywnych urządzeń z Androidem.
  • Automatyczna ochrona integralności obsługuje te interfejsy ABI: x86, x86_64, armeabi-v7a i arm64-v8a. Aby zaktualizować docelowe interfejsy ABI aplikacji, zaktualizuj ustawienia Gradle. Inne interfejsy ABI, które nie są używane przez aktywne urządzenia z Androidem, mogą zostać usunięte z kierowania bez wpływu na dostępność aplikacji.
  • Automatyczna ochrona integralności działa offline. Opcja „Wymagaj instalacji z Google Play” okresowo wymaga połączenia z internetem, jeśli aplikacja Sklep Play na urządzeniu jest od dłuższego czasu offline.
  • Jeśli Twoja aplikacja korzysta już z licencjonowania przez Google Play, wyłącz opcję „Wymagaj instalacji z Google Play”.
  • Gdy przesyłasz aplikację do funkcji wewnętrznego udostępniania, ochrona nie obowiązuje. Zachowaj szczególną ostrożność i przekazuj linki do wewnętrznego udostępniania aplikacji tylko zaufanym członkom zespołu. Nie udostępniaj takich niezabezpieczonych wersji osobom spoza Twojej organizacji.
  • Automatyczna ochrona integralności obejmuje modyfikowanie kodu, więc nie działa z funkcją przejrzystości kodu w pakietach aplikacji. Jeśli masz włączoną automatyczną ochronę integralności, pakiety aplikacji korzystające z przejrzystości kodu będą odrzucane.
  • Aplikacje błyskawiczne nie są chronione. Aby pakiet aplikacji w Twoich ścieżkach wersji był chroniony, nie może mieć on obsługi wersji błyskawicznej. Możesz jednocześnie przesłać chroniony pakiet aplikacji na ścieżce wersji oraz niechroniony pakiet z obsługą wersji błyskawicznej na ścieżce tylko dla aplikacji błyskawicznych.
Krok 1. Włącz ochronę

Utwórz wersję zgodnie z opisem w kroku 1 w artykule Przygotowywanie i publikowanie wersji.

Ochronę możesz włączyć podczas tworzenia wersji (jak opisano w kroku 2 w artykule Przygotowywanie i publikowanie wersji) lub na stronie Integralność aplikacji (Wersja > Integralność aplikacji), gdzie znajdziesz usługi integralności i podpisywania aplikacji. Celem tych usług jest zapewnienie, że Twoje aplikacje i gry będą działać w oczekiwany sposób.

Podczas przygotowywania wersji pojawi się przycisk Uzyskaj ochronę integralności lub Zarządzaj ochroną integralności. Następnie możesz włączyć ochronę integralności, klikając Tak, włącz w sekcji „Automatyczna ochrona integralności”. Google Play będzie wtedy podpisywać nowe wersje Twojej aplikacji i dodawać do nich zabezpieczenia integralności, aby zmniejszyć ryzyko zmodyfikowania lub dalszej dystrybucji aplikacji. Pojawienie się komunikatu oznacza, że automatyczna ochrona integralności jest włączona.

Dokończ przygotowanie wersji i zapisz zmiany.

Krok 2. Przetestuj chronioną aplikację

Przetestuj chronioną wersję aplikacji, używając wszystkich ścieżek testów, aby mieć pewność, że żadne nieoczekiwane czynniki nie wpływają negatywnie na działanie czy wygodę użytkowników.

W ramach weryfikacji zalecamy przeprowadzenie tych działań:

  • Przetestuj ostateczną wersję gry pod kątem awarii i spowolnień w chwili uruchomienia.
  • Przetestuj momenty, w których kod natywny (C/C++) odwołuje się do Javy (w Twoim własnym kodzie lub w bibliotekach zewnętrznych), na przykład reklamy, logowanie, integracje społecznościowe, uwierzytelnianie czy funkcje typowe dla Androida, takie jak obsługa uprawnień.

Jeśli podczas testowania zauważysz problemy, możesz wrócić do wcześniejszej wersji automatycznej ochrony integralności, która była już używana w poprzedniej wersji, lub wyłączyć tę funkcję. Nie zalecamy przenoszenia niechronionych wersji na ścieżki otwarte ani produkcyjne.

Aby wyłączyć ochronę integralności konkretnej wersji:

  1. Podczas przygotowywania wersji kliknij Zarządzaj ochroną integralności.
  2. W sekcji „Automatyczna ochrona integralności” wybierz Poprzednia ochrona lub Wyłącz ochronę tej wersji.
  3. Zapisz zmiany. Zmiany zostaną zastosowane do tej wersji. Następnym razem, gdy prześlesz nową wersję, zostanie w niej zastosowana najnowsza i najmocniejsza wersja ochrony.
Krok 3. Przenieś aplikację na ścieżkę produkcyjną

Gdy wszystko będzie gotowe, w Konsoli Play możesz wdrożyć wersję na ścieżce produkcyjnej, aby udostępnić chronioną aplikację wszystkim użytkownikom Google Play w wybranych krajach.

Dostosowywanie strony aplikacji, gdy użytkownicy otwierają ją w oknach ochrony integralności

Automatyczna ochrona integralności może wyświetlić prośbę użytkownikom, którzy nieoficjalnie uzyskali Twoją aplikację, o pobranie jej z Google Play. Gdy użytkownik kliknie to okno, zostanie przekierowany na stronę aplikacji, gdzie będzie mógł kliknąć przycisk instalacji (albo kupowania lub aktualizacji), aby pobrać aplikację z Google Play i dodać ją do swojej biblioteki w tej usłudze.

Możesz dostosowywać zasoby strony aplikacji pod kątem użytkowników, którzy klikną okna ochrony integralności, w tym nazwę aplikacji, jej ikonę, opisy i zasoby graficzne. Aby dostosować stronę aplikacji widoczną dla użytkowników, którzy przejdą do niej z okna ochrony integralności:

  1. Otwórz Konsolę Play i wejdź na stronę Integralność aplikacji (Wersja > Integralność aplikacji).
  2. Przewiń do sekcji „Play Integrity API”.
  3. Kliknij Ustawienia.
  4. Przewiń do sekcji „Niestandardowe informacje o aplikacji”.
  5. Kliknij Tworzenie informacji o aplikacji.
  6. Postępuj zgodnie z instrukcjami wyświetlanymi na stronie Utwórz wersję strony aplikacji i kliknij Zapisz.

Wersje strony aplikacji dla użytkowników przekierowanych przez okna ochrony integralności możesz też tworzyć bezpośrednio na stronie Niestandardowe informacje o aplikacji. W tym celu:

  1. Otwórz Konsolę Play i wejdź na stronę Niestandardowe informacje o aplikacji (Rozwój > Niestandardowe informacje o aplikacji).
  2. Kliknij Tworzenie informacji o aplikacji, wybierz, czy chcesz utworzyć nową stronę aplikacji czy duplikat istniejącej, i kliknij Dalej.
  3. W sekcji „Szczegóły opisu” przewiń do opcji Docelowi odbiorcy.
  4. Kliknij Według adresu URL i w polu tekstowym wpisz „playintegrity”.
  5. Wpisz pozostałe informacje i kliknij Zapisz.

Wskazówka: parametr URL „playintegrity” to specjalne słowo kluczowe zarezerwowane na potrzeby precyzyjnych linków dotyczących integralności, więc trzeba go wpisać dokładnie i bez zmian podczas konfigurowania wersji strony aplikacji.

Zalecane metody

Nie rozpowszechniaj niezabezpieczonych wersji aplikacji

Jeśli opublikujesz niechronione wersje na ścieżkach otwartych lub na innych kanałach poza Google Play, ochrona aplikacji przestanie działać. Aby zachować ochronę integralności aplikacji, na ścieżkach otwartych i produkcyjnych publikuj tylko chronione wersje aplikacji.

Zachowaj ostrożność przy łączeniu różnych rozwiązań do ochrony przed nieuprawnionymi modyfikacjami

Automatyczna ochrona integralności może być niezgodna z innymi uruchamianymi w czasie działania aplikacji rozwiązaniami do ochrony przed nieuprawnionymi modyfikacjami. Ich jednoczesne włączenie może powodować problemy u użytkowników. Jeśli w swojej aplikacji wdrażasz już licencjonowanie przez Google Play, wyłącz opcję „Wymagaj instalacji z Google Play”. Jeśli w swojej aplikacji używasz innych funkcji kontroli kodu w czasie działania, dokładnie przetestuj chronioną aplikację przed opublikowaniem jej na ścieżkach otwartych, aby mieć pewność, że nie występują w niej żadne błędy.

Testuj chronioną aplikację

Google Play będzie automatycznie dostarczać chronione kompilacje na wszystkich ścieżkach: testów wewnętrznych, zamkniętych i otwartych oraz ścieżkach produkcyjnych. Zalecamy dokładne przetestowanie tych wersji w zwykły sposób.

Jeśli prześlesz kompilację aplikacji bezpośrednio do wewnętrznego udostępniania aplikacji, Google Play nie doda do niej zabezpieczeń. W ten sposób możesz używać funkcji wewnętrznego udostępniania aplikacji, aby przesyłać kompilacje do debugowania i inne podobne kompilacje.

Gdy otworzysz link do wewnętrznego udostępniania aplikacji chronionej w Eksploratorze pakietów aplikacji, kompilacja będzie udostępniana dokładnie w takim stanie, w jakim została przetworzona przez Google Play. Jeśli ta wersja aplikacji została przesłana na ścieżkę testów i jest chroniona, link do wewnętrznego udostępniania aplikacji z Eksploratora pakietów aplikacji będzie prowadził do wersji chronionej. Stan ochrony możesz sprawdzić na karcie Szczegóły w Eksploratorze pakietów aplikacji.

Monitoruj awarie

Możesz zauważyć wzrost liczby awarii wynikający z ochrony Twojej aplikacji. Najprawdopodobniej oznacza to, że automatyczna ochrona integralności działa prawidłowo. Jeśli osobie przeprowadzającej atak nie uda się zmodyfikować Twojej aplikacji, kontrola w czasie działania uniemożliwi jej uruchomienie, co w większości przypadków powoduje awarię aplikacji.

Awarie, które nie są przypisane do Google Play, nie wpływają na parametry stabilności Android Vitals. Jeśli używasz innych narzędzi do analizy awarii (np. Crashlytics) i potrzebujesz nazwy pakietu, aby ustawić filtrowanie według źródła instalacji, nazwa pakietu Sklepu Google Play to „com.android.vending”.

Jeśli martwi Cię wzrost liczby awarii, zgłoś nam to, podając jak najwięcej szczegółów, a nasz zespół zbada ten problem. Jeśli uznamy, że przyczyną awarii jest ochrona, odpowiemy na Twoje zgłoszenie.

Zgłaszaj wersje Twojej aplikacji, których zabezpieczenia zostały złamane

Wersje aplikacji, których zabezpieczenia zostały złamane, nadal działają po tym, jak zostały zmodyfikowane lub – jeśli wymagasz instalowania z Google Play – zostały zainstalowane spoza Google Play.

Jeśli wykryjesz taką wersję aplikacji, zgłoś nam to.

Powiązane artykuły

Czy to było pomocne?

Jak możemy ją poprawić?

Potrzebujesz dodatkowej pomocy?

Wykonaj te czynności:

Szukaj
Wyczyść wyszukiwanie
Zamknij wyszukiwanie
Menu główne
10431414033251307227
true
Wyszukaj w Centrum pomocy
true
true
true
true
true
92637
false
false