Zwiększanie bezpieczeństwa Androida: uniemożliwianie złośliwemu oprogramowaniu szpiegowania danych aplikacji
2 minuty czytania
Bezpieczeństwo jest podstawą Androida. Współpracujemy z Tobą, aby zapewnić bezpieczeństwo platformy i chronić dane użytkowników, oferując zaawansowane narzędzia i funkcje zabezpieczeń, takie jak Menedżer haseł i FLAG_SECURE. Każda wersja Androida wprowadza ulepszenia wydajności i bezpieczeństwa, a w Androidzie 16 możesz podjąć proste, ale znaczące kroki, aby wzmocnić zabezpieczenia aplikacji. Obejrzyj nasz film lub czytaj dalej, aby dowiedzieć się więcej o ulepszonych zabezpieczeniach interfejsów API ułatwień dostępu.
Ochrona aplikacji przed szpiegowaniem za pomocą jednego wiersza kodu
Zauważyliśmy, że osoby o złych zamiarach czasami próbują wykorzystać funkcje interfejsu API ułatwień dostępu, aby odczytywać dane wrażliwe, takie jak hasła i informacje finansowe, bezpośrednio z ekranu oraz manipulować urządzeniem użytkownika, wstrzykując dotknięcia. Aby temu przeciwdziałać, w Androidzie 16 wprowadziliśmy nowe, zaawansowane zabezpieczenie w postaci jednego wiersza kodu: accessibilityDataSensitive.
Flaga accessibilityDataSensitive umożliwia wyraźne oznaczenie widoku lub komponentu jako zawierającego dane wrażliwe. Gdy ustawisz tę flagę na true w swojej aplikacji, zablokujesz potencjalnie złośliwym aplikacjom dostęp do danych wrażliwych lub wykonywanie na nich interakcji. Działa to tak: każdej aplikacji, która prosi o uprawnienia ułatwień dostępu, ale nie zadeklarowała wyraźnie, że jest legalnym narzędziem ułatwień dostępu (isAccessibilityTool=true), zostanie odmówiony dostęp do tego widoku.
Ta prosta, ale skuteczna zmiana pomaga zapobiegać kradzieży informacji i wykonywaniu nieautoryzowanych działań przez złośliwe oprogramowanie bez wpływu na korzystanie przez użytkowników z legalnych narzędzi ułatwień dostępu. Uwaga: jeśli aplikacja nie jest narzędziem ułatwień dostępu, ale prosi o uprawnienia ułatwień dostępu i ustawia isAccessibilityTool=true, zostanie odrzucona w Google Play, a Google Play Protect zablokuje ją na urządzeniach użytkowników.
Automatyczne, ulepszone zabezpieczenia w przypadku ochrony setFilterTouchesWhenObscured
Nową funkcję zabezpieczeń accessibilityDataSensitive zintegrowaliśmy już z istniejącą metodą setFilterTouchesWhenObscured.
Jeśli używasz już setFilterTouchesWhenObscured(true) do ochrony aplikacji przed atakami typu tapjacking, Twoje widoki są automatycznie traktowane jako dane wrażliwe dla ułatwień dostępu. Ulepszając metodę setFilterTouchesWhenObscured o zabezpieczenia accessibilityDataSensitive, natychmiast zapewniamy wszystkim dodatkową warstwę ochrony bez konieczności wykonywania dodatkowych czynności.
Pierwsze kroki
Zalecamy używanie setFilterTouchesWhenObscured lub flagi accessibilityDataSensitive na każdym ekranie zawierającym dane wrażliwe, w tym na stronach logowania, w procesach płatności oraz w każdym widoku wyświetlającym dane osobowe lub finansowe.
W przypadku Jetpack Compose
setFilterTouchesWhenObscured | accessibilityDataSensitive |
val composeView = LocalView.current DisposableEffect(Unit) { composeView.filterTouchesWhenObscured = true onDispose { composeView.filterTouchesWhenObscured = false } }
| Użyj modyfikatora BasicText { text = “Your password”,
modifier = Modifier.semantics {
sensitiveData = true }}
|
W przypadku aplikacji opartych na widokach
W układzie XML dodaj odpowiedni atrybut do widoku zawierającego dane wrażliwe.
setFilterTouchesWhenObscured | accessibilityDataSensitive |
|
|
Możesz też ustawić właściwość programowo w Javie lub Kotlinie:
setFilterTouchesWhenObscured | accessibilityDataSensitive |
|
|
|
|
Więcej informacji o flagach accessibilityDataSensitive i setFilterTouchesWhenObscured znajdziesz w przewodniku Tapjacking.
Współpraca z deweloperami w celu zapewnienia bezpieczeństwa użytkownikom
Współpracowaliśmy z deweloperami na wczesnym etapie, aby mieć pewność, że ta funkcja spełnia rzeczywiste potrzeby i płynnie integruje się z Twoim procesem pracy.
„Zawsze priorytetowo traktowaliśmy ochronę danych finansowych naszych klientów, co wymagało od nas stworzenia własnej warstwy ochrony przed złośliwym oprogramowaniem opartym na ułatwieniach dostępu. Revolut zdecydowanie popiera wprowadzenie tego nowego, oficjalnego interfejsu API Androida, ponieważ umożliwia nam stopniowe odchodzenie od niestandardowego kodu na rzecz solidnej, jednoliniowej ochrony platformy”.
- Vladimir Kozhevnikov, inżynier Androida w Revolut
Dzięki wdrożeniu tych funkcji możesz odgrywać kluczową rolę w ochronie użytkowników przed złośliwymi atakami opartymi na ułatwieniach dostępu. Zachęcamy wszystkich deweloperów do zintegrowania tych funkcji z aplikacjami, aby zapewnić użytkownikom bezpieczeństwo.
Razem możemy stworzyć bezpieczniejsze i bardziej godne zaufania środowisko dla wszystkich.
-
Wiadomości o usługachDokładamy wszelkich starań, aby usługa Google Play była jak najbezpieczniejsza i najbardziej godna zaufania. Ogłaszamy dziś wprowadzenie nowych zasad i funkcji przenoszenia konta, które zwiększają prywatność użytkowników i chronią Twoją firmę przed oszustwami.
Bennet Manuel • 3 minuty czytania -
Wiadomości o usługachPodstawą ekosystemu Androida jest nasze wspólne zobowiązanie do budowania zaufania użytkowników. Wraz z rozwojem urządzeń mobilnych zmienia się też nasze podejście do ochrony danych wrażliwych.
Robert Clifford • 3 minuty czytania -
Wiadomości o usługachW marcu wprowadziliśmy Android Bench – naszą tabelę wyników LLM dla rzeczywistych zadań związanych z tworzeniem aplikacji na Androida. Od tego czasu ulepszyliśmy test porównawczy na podstawie Waszych opinii, m.in. dodając ocenę modeli o otwartych wagach oraz wymiary kosztów i wydajności do tabeli wyników.
Zoe Lopez-Latorre • 3 minuty czytania
Otrzymuj co tydzień najnowsze informacje o tworzeniu aplikacji na Androida na swoją skrzynkę odbiorczą.