Nowości dotyczące produktów

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 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.

 

 

Chroń swoją aplikację przed szpiegowaniem za pomocą jednego wiersza kodu

Zauważyliśmy, że nieuczciwe podmioty czasami próbują wykorzystać funkcje interfejsu API ułatwień dostępu, aby odczytywać informacje poufne, 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 się wyraźnie jako legalne narzędzie 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

Zintegrowaliśmy już tę nową funkcję zabezpieczeń accessibilityDataSensitive 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 informacje poufne, 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 Javie lub Kotlinie:

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”.
- Władimir Kożewnikow, 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.

Autorzy:

Czytaj dalej