Wczoraj Google ogłosiło zmiany dotyczące znanego większości posiadaczy custom ROM-ów mechanizmu Play Integrity, stosowanego przez deweloperów wielu aplikacji ze sklepu Google Play do sprawdzania integralności urządzenia z Androidem. W skrócie: jest źle.
Na czym polegają zmiany?
Jak można się dowiedzieć z wpisu na blogu Google’a, nowe zasady Play Integrity będą wymuszały korzystanie z tzw. sprzętowych sygnałów zabezpieczeń (ang. hardware-backed security signals). Co to oznacza w praktyce?
- Zamiast zabezpieczeń software’owych (typu prawidłowy fingerprint systemu – czyli w skrócie jego identyfikator), Google Play będzie teraz sprawdzać zabezpieczenia sprzętowe w ramach bezpiecznej części procesora, TEE. W związku z tym dotychczasowy fix wydawany przez nas do Portfela Google niemal na pewno nie będzie działać.
- To, co do tej pory było potrzebne, aby uzyskać najwyższy poziom MEETS_STRONG_INTEGRITY (czyli generalnie zablokowany bootloader i oficjalny ROM certyfikowany przez Google’a), w nowej wersji wystarczy tylko do uzyskania poziomu MEETS_DEVICE_INTEGRITY (średniego).
- Aby uzyskać poziom MEETS_STRONG_INTEGRITY, telefon z Androidem będzie musiał się cechować aktualizacją poprawek zabezpieczeń wydaną w ciągu ostatniego roku.
- Poziom MEETS_BASIC_INTEGRITY (najniższy) będzie wymagać tylko wspomnianych sygnałów, ale będzie działać niezależnie od tego, czy telefon ma zablokowany, czy odblokowany bootloader. Google nie będzie też sprawdzać tego, czy urządzenie jest zrootowane ani czy posiada certyfikat Play Protect.
Zmiany będą dotyczyć tylko urządzeń z Androidem 13 i wyższym, ponieważ właśnie one powinny wspierać platformę Android Platform Key Attestation. Wejdą one w życie w maju 2025 roku, ale zainteresowani deweloperzy aplikacji mogą przełączyć się na nowe zabezpieczenia już w tej chwili.
Po co te zmiany?
Google twierdzi, jak zwykle zresztą, że chodzi o bezpieczeństwo.
Ulepszone werdykty będą wymagać i w większym stopniu wykorzystywać sygnały bezpieczeństwa wspierane sprzętowo za pomocą Android Platform Key Attestation, co znacznie utrudni i zwiększy koszty ominięcia zabezpieczeń przez atakujących. Będziemy również dostosowywać werdykty, gdy wykryjemy zagrożenia bezpieczeństwa w różnych wersjach SDK Androida, takie jak dowody nadmiernej aktywności lub naruszenia klucza, bez konieczności wykonywania jakichkolwiek prac programistycznych. Play Integrity API będzie miało ten sam poziom niezawodności i wsparcia we wszystkich formatach Androida.
Przejście na nowe werdykty zmniejszy sygnały z urządzeń, które muszą być gromadzone i oceniane na serwerach Google o ~90%, a nasze testy wskazują, że opóźnienie werdyktów może poprawić się nawet o ~80%.
Dla osób korzystających z custom ROM-ów oznacza to głównie tyle, że w najlepszym przypadku będą one w stanie uzyskać zaledwie najniższy poziom, MEETS_BASIC_INTEGRITY. Wyższe poziomy będą, według intencji amerykańskiego giganta, wymagać zablokowanego bootloadera, a to właśnie z średniego poziomu, MEETS_DEVICE_INTEGRITY korzystają np. Portfel Google czy pewna aplikacja do zamawiania burgerów.
Nie jesteśmy w stanie zagwarantować, że od maja 2025 roku płatności Portfelem Google będą działać na ROM-ie Xiaomi.eu. Czekamy na rozwój sytuacji.