Google przygotowuje nowe ulepszenie bezpieczeństwa dla systemu Android. Funkcja odkryta w wersji testowej Android Canary 2602 rozszerza możliwości Trybu Zaawansowanej Ochrony, wprowadzonego po raz pierwszy w Androidzie 16.
Innowacja ma na celu ograniczenie aplikacji wykorzystujących API AccessibilityService, jeśli nie są one sklasyfikowane jako pełnoprawne narzędzia dostępności. To API zostało pierwotnie stworzone, aby pomagać osobom z niepełnosprawnościami – umożliwia aplikacjom odczytywanie treści ekranu, śledzenie działań użytkownika i wykonywanie gestów w jego imieniu.
Z czasem AccessibilityService był aktywnie używany przez aplikacje stron trzecich, w tym automatyzatory, launchery, „optymalizatory”, a nawet programy antywirusowe. Formalnie służy to wygodzie, ale w praktyce takie programy uzyskują rozszerzone uprawnienia systemowe, co często wykorzystywano do omijania ograniczeń Androida i potencjalnych nadużyć.
Google stopniowo zaostrza zasady od kilku lat. Aplikacje naprawdę przeznaczone dla osób ze specjalnymi potrzebami muszą wskazywać atrybut isAccessibilityTool. Należą do nich czytniki ekranu, sterowanie głosowe, interfejsy gestów i systemy brajlowskie.
Według analizy testowej wersji Android Canary, gdy włączony jest Tryb Zaawansowanej Ochrony, system zabrania udzielania uprawnień Accessibility Service aplikacjom nierozpoznanym jako narzędzia dostępności i automatycznie odbiera wcześniej przyznane uprawnienia takim programom.
Jeśli aplikacja krytycznie zależy od tego API, może całkowicie przestać działać. Podczas testów na przykład narzędzie dynamicSpot, które naśladuje Dynamic Island na Androidzie, zostało zablokowane przez system z etykietą „Ograniczone przez Zaawansowaną Ochronę”. Powodem jest wykorzystanie AccessibilityService do odczytywania powiadomień i wyświetlania elementów nad innymi aplikacjami.
Oficjalne narzędzia dostępności nie podlegają nowym ograniczeniom. Funkcja ma się pojawić w przyszłych wersjach Androida po zakończeniu testów.