Biometria jest bezpieczniejsza – o tym jak malware okrada użytkowników Androidów

Niniejszy wpis został zainspirowany świetną prezentacją Jana Seredynskiego z THS 2023.

Cyberbezpieczeństwo nie jest kwestią binarną – nie istnieją tutaj rozwiązania gwarantujące 100% bezpieczeństwa. W rzeczywistości chodzi bardziej o ocenę ryzyka i wybieranie rozwiązań, które są mniej podatne na ataki. Przykładem takiej oceny w kontekście bankowości jest fakt, że potwierdzanie transakcji przez aplikacje mobilne jest bezpieczniejsze niż popularne kody SMS, chociaż i tu występują skuteczne metody ataku. Mogą to być na przykład fałszywe aplikacje, które podszywają się pod te bankowe, oraz takie, które wykorzystują exploity (np. Pegasus). Jednak jeden z ciekawszych ataków na mobilność bankową opiera się na instalacji na telefonie ofiary z pozoru niewinnej aplikacji, która nadużywa uprawnień Androida.

Schemat infekcji często rozpoczyna się tym, że ofiara instaluje aplikację z niezaufanego źródła. Zachęcona zostaje do tego przez informacje, że ta wersja, którą zainstaluje, posiada za darmo odblokowane funkcje premium.

youtube premium malware
duolingo premium malware

Niestety, zdarza się również, że i aplikacje w oficjalnym sklepie Google Play okazują się być złośliwe. Początkowo nie zawierają one szkodliwych funkcjonalności, ale zyskują je w kolejnych aktualizacjach. Cyberprzestępcy tworzą aplikacje o pozornie nieszkodliwym przeznaczeniu. Przykładowo prostą aplikację latarki czy też narzędzie do obsługi aparatu. Takie aplikacje proszą o uprawnienia do różnych funkcjonalności na urządzeniu. Przez kilka miesięcy działają zgodnie z deklaracjami, nie sprawiając żadnych problemów. Użytkownicy często dostarczają im pozytywne opinie, co wzmacnia reputację aplikacji i zachęca kolejnych użytkowników do jej pobrania. Jednak po jakimś czasie cyberprzestępcy modyfikują aplikację, dodając złośliwy kod lub zmieniając uprawnienia, tak aby móc wykradać dane. Takie opóźnione dodanie złośliwego kodu pozwala przestępcom na pomyślne przejście procesu weryfikacji w sklepie Google Play.

latarka malware w google play

Jak działają ułatwienia dostępu i nakładki w kontekście malware?

Ułatwienia dostępu (Accessibility Services) pozwalają między innymi na odczytywanie informacji wyświetlanych na ekranie telefonu na głos oraz uzupełnianie pól w formularzach za użytkownika.

działanie ułtawień dostępu

Złośliwa aplikacja, wykorzystując mechanizmy ułatwień dostępności przeznaczonych dla osób z niepełnosprawnościami, może rejestrować wszystko, co dzieje się na ekranie, uzyskując dostęp do wpisywanych kodów. Dzięki temu jest w stanie poznać hasło do aplikacji mobilnej i samodzielnie zlecić oraz potwierdzić przelew. Nadanie podejrzanych uprawnień odbywa się poprzez wykorzystanie innego sprytnego triku, jakim są nakładki ekranowe (Overlay). Użytkownik często nie jest nawet świadomy, że akceptuje niebezpieczne uprawnienia.

Przykładem „Overlay Services” jest dymek pojawiający się z wiadomością z messengera.

działanie dymków facebook

W wariancie pokazanym poniżej nakładka fałszywego ekranu zakrywa część prawdziwego ekranu (ukrywając go przed wzrokiem użytkownika), a następnie prosi ofiarę o wprowadzenie informacji (zazwyczaj poufnych, takich jak dane bankowe, kody PIN lub odpowiedzi na zytania zabezpieczające). Ofiara myśli, że podaje swoje poufne informacje w zaufanej aplikacji, ale w rzeczywistości wysyła je bezpośrednio do atakującego.

jak malware wykradana przez nakładki dane dostępowe użytkownika

Celem tego wariantu ataków z użyciem nakładek ekranowych jest często bankowość mobilna, fintech, handel elektroniczny, gry lub aplikacje detaliczne. Gdy atakujący pozna już pin do potwierdzania transakcji, może wykorzystując ułatwienia dostępności po otworzeniu przez nas prawdziwej aplikacji bankowej automatycznie się do niej zalogować, zlecić i zatwierdzić przelew.


Przykłady realnych dotychczasowych ataków

  • BrasDex to rodzaj złośliwego oprogramowania skoncentrowanego na atakowaniu systemów Android, ze szczególnym naciskiem na aplikacje bankowe w Brazylii. Gdy infekuje urządzenie, BrasDex identyfikuje i atakuje tylko wybrane aplikacje. Używa funkcji ułatwień dostępności Androida do monitorowania ekranu, sterowania dotykiem, obsługi klawiatury i innych złośliwych działań. Głównym celem BrasDex jest wykradanie danych logowania podczas korzystania z aplikacji bankowych i wykonywanie transakcji bez wiedzy użytkownika.
brasdex
  • ERMAC 2.0 to trojan na platformę Android, służący do wykradania danych logowania użytkowników i przesyłania ich cyberprzestępcom. Złodzieje wykorzystują te dane do przejmowania kont bankowych i kryptowalutowych ofiar, a także do realizacji różnych oszustw. Typowym przykładem jego działania była podrobiona aplikacja, którą można było znaleźć na legalnej stronie dostawcy jedzenia. Ta podrobiona aplikacja żądała aż 43 uprawnień, w tym dostępu do usług ułatwień dostępności i nakładek, co pozwala na kradzież danych logowania.
ermac
  • Xenomorph to malware, który nadal jest wykorzystywany w atakach, chociaż zadebiutował ponad dwa lata temu. Początkowo był rozprowadzany za pośrednictwem sklepu Google Play jako aplikacja poprawiające wydajność. Użytkownicy instalujący te aplikacje nieświadomie zarażali swoje urządzenia, myśląc, że poprawa wydajności wymaga tak szerokich uprawnień. Xenomorph ma zdolność przechwytywania wiadomości tekstowych, co umożliwia zbieranie danych używanych do potwierdzania transakcji. Dodatkowo wykorzystuje on uprawnienia ułatwień dostępności, aby tworzyć dyskretne nakładki na ekran.
xenomorph

Porady dla programistów dotyczące obrony przed złośliwym oprogramowaniem wykorzystującym usługi ułatwień dostępności:

  • Zablokuj wszystkie usługi ułatwień dostępności: Ta opcja jest najmniej przyjazna dla użytkowników z różnymi niepełnosprawnościami, ale jest jednym z najprostszych sposobów, aby chronić się przed nadużywaniem uprawnień.
  • Zezwalaj tylko na usługi z białej listy: Przyjaźniejsze podejście do ułatwień dostępności, które wykorzystuje API do listowania wszystkich Accessibility Services, identyfikuje ich identyfikatory pakietów i pozwala na uruchamianie tylko pewnych zaufanych usług przez aplikację. Jednak aplikacje instalowane z zewnątrz mogą naśladować dowolny identyfikator pakietu, więc ta obrona chroni tylko przed zagrożeniami pochodzącymi ze sklepu Google Play.
  • Zezwalaj na usługi z rozsądnymi uprawnieniami: Możesz wykorzystać flagę (android:importantForAccessibility), która identyfikuje ważne elementy interfejsu użytkownika dla ułatwień dostępności. Ustaw ją na „false” dla wszystkich wrażliwych pól w twojej aplikacji i ogranicz ułatwienia dostępności, które deklarują zainteresowanie odczytywaniem nieważnych pól. Możesz to zrobić, sprawdzając właściwość flagi usługi i weryfikując FLAG_INCLUDE_NOT_IMPORTANT_VIEWS.
  • Wykorzystaj biometrię i dialogi systemowe: Wymaganie i stosowanie biometrycznej autentykacji do ważnych transakcji może pomóc zapobiec korzystaniu przez cyberprzestępców z ułatwień dostępności do przeprowadzania nieautoryzowanych transakcji w aplikacji użytkownika. Wymaganie również przeprowadzania transakcji przez aplikację za pomocą dialogów systemowych może skutecznie blokować nakładki. Nowe wersje Androida nie pozwalają na działanie nakładek na oknach systemowych.
  • Skorzystaj z Android API 34: Aktualizacja ta zapewnia, że tylko zweryfikowane usługi dostępności mogą widzieć i uzyskiwać dostęp do wrażliwych informacji w aplikacji.

Zalecenia dotyczące wykrywania nakładek

Google wprowadziło kilka użytecznych API, aby pomóc w wykrywaniu i przeciwdziałaniu atakom złośliwego oprogramowania wykorzystującego nakładki:

  • API 9: Gdy włączona jest opcja filtrowania dotyku (setFilterTouchesWhenObscured(boolean)), system ignoruje dotknięcia użytkownika, gdy okno widoku jest zasłonięte przez nakładkę. W tym przypadku chodzi o inne widoczne okno (lub komunikat/toast/dialog) znajdujące się w miejscu dotknięcia.
  • API 29: Ta aktualizacja umożliwia dokładniejsze wykrywanie częściowo zasłoniętych dotknięć za pomocą flagi (FLAG_WINDOW_IS_PARTIALLY_OBSCURED), która wskazuje, kiedy okno otrzymuje zdarzenie ruchu, które jest częściowo lub całkowicie zasłonięte przez inne widoczne okno. Ważne jest, aby zauważyć, że zdarzenie jest oznaczone flagą, jeśli ruch nie przechodzi bezpośrednio przez nakładkę.
  • API 31: Ta aktualizacja zapewnia deweloperom opcję setHideOverlayWindows(true), która ukrywa i automatycznie usuwa nakładki nienależące do systemu. Obecnie jest to najbardziej skuteczne i efektywne podejście.

Jako przeciętny użytkownik, warto wiedzieć, że usługi ułatwień dostępu (Accessibility Services) nie mają dostępu do danych biometrycznych i nie są w stanie ich podrobić. Z tego względu zaleca się używania metod biometrycznych zamiast tradycyjnych kodów PIN/haseł. Logowanie do aplikacji za pomocą odcisku palca lub rozpoznawania twarzy, a także potwierdzanie transakcji tymi metodami, jest znacznie bezpieczniejsze. Biometria dodaje dodatkową warstwę zabezpieczeń, ponieważ jest unikalna dla każdego użytkownika i trudniejsza do skopiowania czy wyłudzenia niż tradycyjne hasła lub kody PIN. Dlatego, zwłaszcza w kontekście operacji finansowych i dostępu do ważnych aplikacji, wykorzystanie technologii biometrycznych jest zdecydowanie lepszym rozwiązaniem.

Update 1: Czytelnik niespecjalista zwrócił uwagę, że pojawiły się już nowe warianty trojanów, które mają w sobie zaszyte mechanizmy mające na celu nakłonienie ofiary do użycia innej metody autoryzacji niż przy użyciu biometrii. Trojan automatycznie „klika” przycisk „anuluj” gdy wykryje autoryzacje biometrią i niejako zmusza użytkownika do użycia alternatywnych metod, których dane będzie w stanie przechwycić.

Chcesz wiedzieć więcej?

Zapisz się i bądź informowany o nowych postach (zero spamu!).
Dodatkowo otrzymasz, moją prywatną listę 15 najbardziej przydatnych narzędzi (wraz z krótkim opisem), których używam przy testach penetracyjnych.

Nigdy nie podam, nie wymienię ani nie sprzedam Twojego adresu e-mail. W każdej chwili możesz zrezygnować z subskrypcji.

Otagowano , , , , , , , , , , , , , , , , , , , , , , , .Dodaj do zakładek Link.

3 odpowiedzi na „Biometria jest bezpieczniejsza – o tym jak malware okrada użytkowników Androidów

  1. Pingback:Weekendowa Lektura: odcinek 557 [2024-02-03]. Bierzcie i czytajcie | Zaufana Trzecia Strona

  2. niespecjalista komentarz:

    Jestem ciekawy czy słyszałeś o trojanach, które blokują biometrię i wymuszają w ten sposób podanie PINu przez użytkownika?

    Android Banking Trojan Chameleon can now bypass any Biometric Authentication
    https://www.threatfabric.com/blogs/android-banking-trojan-chameleon-is-back-in-action

  3. Michał komentarz:

    Dziękuję za podzielenie się tą informacją. Muszę przyznać, że nie miałem jeszcze okazji słyszeć o trojanach próbujących ominąć biometrię w ten sposób. Oznaczałoby to, że rzeczywiście jest ona na tyle dobrym mechanizmem obronnym, że atakujący chcą nakłonić ofiary do innych metod autoryzacji.

Podziel się swoją opinią na temat artykułu