Wiadomości o usługach

Zwiększanie bezpieczeństwa Androida: uniemożliwianie złośliwemu oprogramowaniu szpiegowania danych aplikacji

Czas czytania: 2 minuty

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 poświadczeń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 nową, zaawansowaną ochronę w postaci jednego wiersza koduaccessibilityDataSensitive.

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 widoków lub wykonywanie na nich interakcji. Działa to tak: każdej aplikacji, która prosi o uprawnienia ułatwień dostępu i 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, a jednocześnie nie wpływa na wygodę użytkowników korzystających 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 przez 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 podejmowania dodatkowych działań.

image.png

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

setFilterTouchesWhenObscuredaccessibilityDataSensitive

 

val composeView = LocalView.current DisposableEffect(Unit) { composeView.filterTouchesWhenObscured = true onDispose { composeView.filterTouchesWhenObscured = false } }

 

Użyj modyfikatora semantics, aby zastosować właściwość sensitiveData do komponentu.

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.

setFilterTouchesWhenObscuredaccessibilityDataSensitive

 

<TextView android:filterTouchesWhenObscured="true" />

 

 

<TextView android:accessibilityDataSensitive="true" />

 

Możesz też ustawić właściwość programowo w języku Java lub Kotlin:

setFilterTouchesWhenObscuredaccessibilityDataSensitive

 

myView.filterTouchesWhenObscured = true;

 

 

myView.isAccessibilityDataSensitive = true;

 

 

myView.setFilterTouchesWhenObscured(true)

 

 

myView.setAccessibilityDataSensitive(true);

 

Więcej informacji o flagach accessibilityDataSensitive i setFilterTouchesWhenObscured znajdziesz w przewodniku dotyczącym ataków typu 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.

image.png

„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ć bezpieczeństwo użytkownikom. 

Razem możemy stworzyć bezpieczniejsze i bardziej godne zaufania środowisko dla wszystkich.

Scenariusz:
Czytaj dalej