Zabezpieczanie środowiska

Google oferuje zestaw interfejsów API i usług, które pomogą Ci sprawdzić, czy Twoja aplikacja działającego w bezpiecznym i zaufanym środowisku. Najważniejszym elementem jest Play Integrity API, który pomaga zweryfikować autentyczność interakcji przez wykrywanie ryzykownych i nieuczciwych interakcji. Oprócz integralności aplikacji i urządzenia Google Play Interfejs Integrity API zawiera teraz informacje o zagrożeniach związanych z dostępem i ułatwieniami dostępu, Google Play Protect i ostatnia aktywność na urządzeniu. Dalsze wzmocnienie strategii przeciwdziałania oszustwom. Platforma Android oferuje interfejsy API przeznaczone do konkretnych scenariuszy. które mogą być przydatne dla Twojej aplikacji.

Play Integrity API

Funkcje Play Integrity API

Interfejs Play Integrity API pozwala poznać stan zabezpieczeń na których działa ich aplikacja. Dzięki temu możesz mieć pewność, że właściwy użytkownik ma dostęp do informacji poufnych.

Pomaga sprawdzić, czy interakcje i żądania serwera pochodzą oryginalny plik binarny aplikacji w godnym zaufania środowisku.

  • Oryginalny plik binarny aplikacji: pozwala określić, czy używasz niezmodyfikowany plik binarny rozpoznawany przez Google Play.
  • Oryginalna instalacja z Google Play: umożliwia ustalenie, czy bieżące konto użytkownika z licencją, co oznacza, że użytkownik zainstalował lub zapłacił za Twoją aplikację lub grę na Google Play.
  • Oryginalność urządzenia z Androidem: pozwala na ustalenie, czy aplikacja działa na oryginalnym urządzeniu. Urządzenie z Androidem i Usługami Google Play.
  • Brak znanego złośliwego oprogramowania: sprawdzanie, czy usługa Google Play Protect jest włączona i sprawdź, czy wykryła zainstalowane na urządzeniu niebezpieczne lub niebezpieczne aplikacje.
  • Niskie ryzyko dostępu przez inne aplikacje: sprawdzaj, czy inne aplikacje są uruchomione. które mogą przechwytywać ekran lub sterować urządzeniem i wprowadzanymi do aplikacji danymi.

Jak pomaga to zapobiegać oszustwom

Gdy użytkownik wykona ważne działanie w aplikacji, możesz wywołać interfejs Play Integrity API. Jeśli nie, serwer backendu aplikacji może zdecydować, w celu obrony przed atakami i oszustwami. Możesz na przykład wymagać, dodatkowej weryfikacji użytkownika lub odmowy dostępu do poufnych funkcji.

Proces decyzyjny w związku z interfejsem Play Integrity API

Ryzyko dotyczące dostępu do aplikacji

Wprowadzono sygnał Ryzyko dostępu do aplikacji, aby pomóc Ci ocenić, czy inne aplikacje na urządzeniu mogą wyświetlać i przechwytywać ekran, gdy aplikacja jest uruchamianie aplikacji lub uzyskiwanie do niej dostępu przy użyciu uprawnień ułatwień dostępu. Zweryfikowane aplikacje ułatwień dostępu są automatycznie wykluczane z tych ocen. Dostęp do aplikacji pomaga deweloperom chronić aplikacje, jednocześnie chroniąc prywatność użytkownika, ponieważ aplikacja wysyłająca żądanie nie uzyskuje tożsamości zainstalowanych aplikacji, ocena nie jest powiązana z identyfikatorami użytkownika ani urządzenia.

Zrzut ekranu telefonu, który wymaga od użytkownika zamknięcia określonych aplikacji.

Dzięki tym wspólnym wysiłkom możemy uzyskiwać sygnały potrzebne uzyskać dokładniejsze statystyki, które pozwolą nam skuteczniej chronić klientów.
– Nubank, partner w programie wcześniejszego dostępu

Ryzyko dostępu do aplikacji ma różne poziomy ryzyka:

  • Odpowiedź przechwytująca oznacza, że uruchomione są inne aplikacje mogące przechwytywać ekran.
  • Reakcja kontrolująca oznacza, że uruchomione są inne aplikacje, które mogą kontrolować urządzenia, dzięki czemu mogą rejestrować ekran i sterować wejściami do aplikacji.

Ryzyko związane z dostępem do aplikacji jest obecnie dostępne w publicznej wersji beta i zostanie ogólnie udostępnione dostępna w nadchodzących miesiącach.

Egzekwowanie ryzyka dostępu do aplikacji

Wykrywaj w aplikacji lub grze działania o wysokiej wartości lub poufne dane, które chcesz chronić Zamiast natychmiastowego blokowania dostępu do interfejsu Play Integrity API. W miarę możliwości spróbuj mogą generować ryzykowny ruch, zanim zezwolisz na wykonanie wartościowych działań. Na przykład, gdy ryzyko dostępu do aplikacji wskazuje, że uruchomiona jest aplikacja, która może przechwycić poproś użytkownika o wyłączenie lub odinstalowanie aplikacji, które mogą zapisywać obraz z ekranu. zanim umożliwisz im przejście do funkcji, które chcesz chronić.

Ta tabela zawiera przykładowe oceny:

Przykładowa odpowiedź na ocenę ryzyka dostępu do aplikacji Interpretacja
appsDetected:
["KNOWN_INSTALLED"]
Masz zainstalowane tylko te aplikacje, które są rozpoznawane przez Google Play lub wstępnie wczytane na partycję systemową przez producenta urządzenia. Nie masz uruchomionych aplikacji, które umożliwiłyby nagrywanie. kontrolowania lub nakładania ocen.
appsDetected:
["KNOWN_INSTALLED",
"UNKNOWN_INSTALLED",
"UNKNOWN_CAPTURING"]
Masz aplikacje zainstalowane z Google Play lub są one wstępnie wczytane na partycji systemu przez producenta urządzenia. Są uruchomione inne aplikacje i mają włączone uprawnienia, które mogą można używać do wyświetlania ekranu lub przechwytywania innych danych wejściowych i wyjściowych.
appsDetected:
["KNOWN_INSTALLED",
"KNOWN_CAPTURING",
"UNKNOWN_INSTALLED",
"UNKNOWN_CONTROLLING"]
Istnieje aplikacja Play lub uruchomiony system z włączonymi uprawnieniami, może służyć do wyświetlania ekranu lub przechwytywania innych danych wejściowych i wyjściowych. Są też uruchomione inne aplikacje z włączonymi uprawnieniami, mogłyby być wykorzystywane do sterowania urządzeniem i bezpośredniego sterowania wejściami do aplikacji.
appAccessRiskVerdict: {} Ryzyko związane z dostępem do aplikacji nie jest oceniane, ponieważ wymaganym wymaganiem nieodebrane. Na przykład urządzenie nie było wystarczająco zaufane.

Sygnał Play Protect

Sygnał Play Protect informuje aplikację, czy funkcja Play Protect jest włączona odkrycia znanych szkodliwych aplikacji zainstalowanych na urządzeniu.

environmentDetails:{
  playProtectVerdict: "NO_ISSUES"
}

Jeśli złośliwe oprogramowanie jest szczególnie niebezpieczne dla Twojej aplikacji lub użytkowników danych, możesz sprawdź tę ocenę i poproś użytkowników o włączenie Play Protect lub usunięcie szkodliwych aplikacji, zanim przejdziesz dalej.

Włącz okno Play Protect

Pole playProtectVerdict może mieć jedną z tych wartości:

Ocena Wyjaśnienie Zalecane działanie

NO_ISSUES

Usługa Play Protect jest włączona i nie wykryliśmy żadnych problemów z aplikacją na urządzenia.

Funkcja Play Protect jest włączona i nie wykryto żadnych problemów, więc użytkownik nie wykonał żadnej czynności

NO_DATA

Usługa Play Protect jest włączona, ale nie przeprowadzono jeszcze skanowania. urządzenie lub aplikacja Sklep Play mogły zostać niedawno zresetowane.

Funkcja Play Protect jest włączona i nie wykryto żadnych problemów, więc użytkownik nie wykonał żadnej czynności

POSSIBLE_RISK

Funkcja Play Protect jest wyłączona.

Funkcja Play Protect jest włączona i nie wykryto żadnych problemów, więc użytkownik nie wykonał żadnej czynności jest wymagane.

MEDIUM_RISK

Usługa Play Protect została włączona i znalazła potencjalnie szkodliwe aplikacje zainstalowanej na urządzeniu.

W zależności od tolerancji ryzyka możesz poprosić użytkownika o uruchomienie Play Protect i podejmij działania w odpowiedzi na ostrzeżenia Play Protect. Jeśli użytkownik nie może spełnić tych wymagań, możesz zablokować im dostęp do serwera działania.

HIGH_RISK

Usługa Play Protect jest włączona i wykryła zainstalowane niebezpieczne aplikacje na urządzeniu.

W zależności od tolerancji ryzyka możesz poprosić użytkownika o uruchomienie Play Protect i podejmij działania w odpowiedzi na ostrzeżenia Play Protect. Jeśli użytkownik nie może spełnić tych wymagań, możesz zablokować mu w działanie serwera.

UNEVALUATED

Ocena Play Protect nie została sprawdzona.

Może to spowodować zachodzi kilka możliwych przyczyn. Oto niektóre z nich:

  • Urządzenie nie jest wystarczająco zaufane.
  • Tylko gry: konto użytkownika nie ma licencji.

Ostatnia aktywność na urządzeniach

Możesz też włączyć opcję ostatniej aktywności na urządzeniu, która pokazuje, ile razy Twoja aplikacja w ciągu ostatniej godziny zażądała tokena integralności na określonym urządzeniu. Ty Mogą wykorzystywać informacje o ostatniej aktywności na urządzeniu, aby chronić aplikację przed urządzenia nadaktywne, które mogą wskazywać na aktywny atak. Dostępne opcje zdecyduj, jak bardzo zaufać poszczególnym poziomom aktywności na urządzeniu w ostatnim czasie, oczekuje, że aplikacja zostanie zainstalowana na typowym urządzeniu, aby żądała integralności token na każdą godzinę.

Jeśli zgodzisz się na otrzymywanie recentDeviceActivity, w polu deviceIntegrity mają 2 wartości:

deviceIntegrity: {
  deviceRecognitionVerdict: ["MEETS_DEVICE_INTEGRITY"]
  recentDeviceActivity: {
    // "LEVEL_2" is one of several possible values.
    deviceActivityLevel: "LEVEL_2"
  }
}

Najpierw sprawdź dane i zobacz, jaki jest typowy poziom aktywności na urządzeniach. na wszystkich urządzeniach. Potem możesz określić, jak aplikacja powinna odpowiadać, gdy urządzenie wysyła zbyt wiele żądań. Jeśli aktywność to nieco wysoką, możesz poprosić użytkownika, aby spróbował jeszcze raz później. Jeśli aktywność jest bardzo wysoka, warto podjąć zdecydowane środki egzekwowania zasad.

Żądania standardowe a klasyczne

Podczas wdrażania integralności w Google Play warto wziąć pod uwagę tych 2 typów wniosków. W większości przypadków należy używać żądań standardowych, aby zapewnić jak najszybsze działanie. W przypadku klasycznych żądań należy używać potrzebne jest nowo wygenerowane żądanie dotyczące rekordu atestu urządzenia.

Klasyczne żądanie

Żądanie standardowe

Żądania są przesyłane dłużej i powinny być wysyłane z mniejszą częstotliwością.

Na przykład, jednorazowo, by sprawdzić, czy dane są bardzo wartościowe lub działanie dotyczące poufnych danych jest autentyczne.

Rzadko.

Żądania charakteryzują się krótkim czasem oczekiwania i można ich używać na żądanie.

Żądanie standardowe składa się z 2 części:

  • Przygotowywanie dostawcy tokena integralności (jeden wyłączony)
  • Wysyłanie żądania tokena integralności (na żądanie)

Korzystaj na żądanie.

Zapoznaj się z dokumentacją Play Integrity, aby dowiedzieć się więcej o standardowych i żądania klasyczne.

Implementacja

Aby zacząć korzystać z interfejsu Play Integrity API:

Domyślnie Play Integrity API zezwala na maksymalnie 10 tys. żądań na aplikację dziennie. Do wyraź zainteresowanie zwiększeniem maksymalnej dziennej liczby żądań, wykonaj te czynności instrukcje. Aby kwalifikować się do zwiększenia dziennej maksymalnej liczby aplikacji musi poprawnie implementować interfejs Play Integrity API, a także dostępnych w Google Play i innych kanałach dystrybucji.

O czym musisz pamiętać w przypadku interfejsu Play Integrity API

Automatyczna ochrona integralności (API >= 23)

Automatyczna ochrona integralności to usługa ochrony przed nieuprawnionymi modyfikacjami, która chroni aplikację przed naruszeniem ich integralności w postaci nieautoryzowanego dostępu modyfikacji i redystrybucji. Działa bez połączenia do transmisji danych i wymaga Przed testami nie pracuje żaden programista ani nie należy przeprowadzać integracji z serwerem backendu.

Jak pomaga to zapobiegać oszustwom

Gdy włączysz automatyczną ochronę integralności, Google Play doda testy do Twojej aplikacji i utrudnia ich usunięcie dzięki zaawansowanemu zaciemnianiu kodu technikę zapobiegania inżynierii wstecznej. W czasie działania zabezpieczenia sprawdzają, czy aplikacja została zmodyfikowana lub rozpowszechniona:

  • Jeśli sprawdzanie instalatora nie powiedzie się, użytkownicy zostaną poproszeni 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 zmodyfikowanymi wersjami Twojej aplikacji.

Implementacja

Automatyczna ochrona integralności jest obecnie dostępna tylko dla wybranych partnerów Google Play, obecnie się znajdujesz. Jeśli ta funkcja nie jest dostępna w Konsoli Google Play i chcesz otrzymać dostęp.

Ochronę możesz włączyć podczas tworzenia wersji lub w aplikacji integralności (Wersja > Integralność aplikacji). Automatyczna integralność wymaga korzystania z podpisywania aplikacji przez Google Play.

Przetestuj chronioną aplikację przed awansowaniem jej wersji na produkcyjnego.

O czym musisz pamiętać

  • Nie publikuj niechronionych wersji aplikacji
  • Zachowaj ostrożność przy łączeniu różnych rozwiązań do ochrony przed nieuprawnionymi modyfikacjami
  • Przetestuj chronioną aplikację przed opublikowaniem jej w wersji produkcyjnej
  • Obserwuj jak zwykle statystyki pod kątem wzrostu liczby awarii
  • Możesz zgłaszać do Google Play wersje aplikacji, których zabezpieczenia zostały złamane