Setki złośliwych aplikacji hostowanych w Google Play z łatwością ominęły zabezpieczenia Androida 13
Adam D
21 marca 2025
Badacze bezpieczeństwa Bitdefenderzidentyfikowali zakrojoną na szeroką skalę kampanię oszustw reklamowych, w ramach której wdrożono setki złośliwych aplikacji w Google Play Store, co zaowocowało łącznie ponad 60 milionami pobrań. Aplikacje wyświetlają reklamy wyrwane z kontekstu, a nawet próbują przekonać ofiary do podania danych uwierzytelniających i informacji o kartach kredytowych w atakach phishingowych.
Sklep Google Playjest często celem cyberprzestępców próbujących przesyłać złośliwe aplikacje, omijając istniejące zabezpieczenia. Google usuwa takie aplikacje ze sklepu, z własnej woli lub po powiadomieniu przez badaczy, ale przestępcy się dostosowują. To jeden z głównych powodów, dla których użytkownicy nie powinni polegać wyłącznie na domyślnej ochronie dostępnej na urządzeniach z systemem Android oraz w sklepie Google Play. Dlatego też Bitdefender opracował technologie dedykowane do rozwiązania tego problemu.
Skuteczny antywirus w walce ze złośliwymi aplikacjami z Google Play
Technologia wbudowana w Bitdefender Mobile Security, App Anomaly Detection, obserwuje zachowanie aplikacji po instalacji, co jest krytyczne w dzisiejszym krajobrazie zagrożeń. W niektórych przypadkach źli aktorzy zmieniają funkcjonalność wcześniej łagodnych aplikacji, które zostały już dopuszczone do Google Play Store, zamieniając je w niebezpieczne oprogramowanie.
Badacze bezpieczeństwa z IAS Threat Lab odkryli część tej kampanii, obejmującą ponad 180 aplikacji. Jednak kampania jest znacznie większa, jak dowiedzieli się badacze bezpieczeństwa Bitdefender, a zagrożenia wykraczają poza to, co zwykle obserwujemy. Przestępcy wykorzystali swój dostęp do urządzeń, aby kierować użytkowników do witryn phishingowych, a nie tylko po to, aby pokazywać im irytujące reklamy pełnoekranowe.
Kluczowe ustalenia
W kampanii wzięło udział co najmniej 331 aplikacji, które były dostępne w sklepie Google Play (15 z nich było nadal dostępnych online w momencie zakończenia badania), a które zostały pobrane ponad 60 milionów razy.
Atakujący znaleźli sposób na ukrycie ikon aplikacji w programie uruchamiającym, którego dostępność jest ograniczona w nowszych wersjach Androida.
W większości przypadków aplikacje mają pewną funkcjonalność, ale mogą wyświetlać reklamy wyrwane z kontekstu na tle innych aplikacji na pierwszym planie, omijając ograniczenia bez konieczności korzystania z konkretnych uprawnień, które pozwalają na takie zachowanie.
Niektóre aplikacje próbowały gromadzić dane uwierzytelniające użytkowników korzystających z usług online, a nawet dane kart kredytowych, za pomocą ataków phishingowych.
Aplikacje mogą uruchamiać się bez interakcji użytkownika, chociaż technicznie rzecz biorąc nie powinno to być możliwe w systemie Android 13.
Za kampanią może stać jeden podmiot lub wielu przestępców, którzy wykorzystują to samo narzędzie do pakowania, sprzedawane na czarnym rynku.
Spostrzeżenia i przegląd
Badane aplikacje omijają ograniczenia bezpieczeństwa Androida, aby rozpocząć działania, nawet jeśli nie działają na pierwszym planie i bez wymaganych uprawnień do tego celu spamują użytkowników ciągłymi reklamami pełnoekranowymi. To samo zachowanie jest wykorzystywane do obsługi elementów interfejsu użytkownika zawierających próby phishingu.
Aplikacje podszywające się pod proste narzędzia, takie jak:
Skanery kodów QR.
Aplikacje do śledzenia wydatków.
Aplikacje zdrowotne.
Aplikacje z tapetami.
I wiele innych aplikacji.
Dystrybucja według krajów
Większość aplikacji po raz pierwszy pojawiła się w Google Play w trzecim kwartale 2024 roku. Po dalszej analizie pracownicy Bitdefender zauważyli, że starsze aplikacje, które zostały opublikowane wcześniej, były początkowo łagodne i nie zawierały składników malware. Złośliwe zachowanie zostało dodane później, zaczynając od wersji z początku Q3.
Aby było jasne, jest to aktywna kampania. Najnowsze złośliwe oprogramowanie opublikowane w Google Play Store pojawiło się w pierwszym tygodniu marca 2025 r. Kiedy zakończyliśmy dochodzenie, tydzień później, 15 aplikacji było nadal dostępnych do pobrania w Google Play.
Oto kilka z ostatniej partii przesłanej do sklepu. Obie aplikacje przesłano 4 marca.
Przegląd techniczny
Uruchamianie bez interakcji użytkownika:
Aplikacja deklaruje dostawcę treści kontaktów, który jest automatycznie wyszukiwany przez system po zakończeniu instalacji i załadowaniu punktu wejścia aplikacji.
W niektórych z nowszych próbek zauważyliśmy ewolucję w metodach przestępców, aby uniknąć technik wykrywania poprzez dodanie tego typu dostawcy treści, do którego odwoływano się jako ciąg w zasobach. W poprzednich iteracjach, był on bezpośrednio odwoływany w manifeście aplikacji.
To prawdopodobnie jeden z powodów, dla których analiza zespołu Bitdefender ujawniła tak wiele aplikacji zaangażowanych w tę ogromną kampanię oszustw. Atakujący często znajdują sposoby na dostosowanie się, gdy ich metody zostaną odkryte, a aplikacje zostaną usunięte ze sklepu.
Techniki ukrywania ikon:
Jednym ze sposobów ukrycia złośliwej aplikacji przed użytkownikiem jest ukrycie jej ikony — takie zachowanie nie jest już dozwolone w systemie Android.
Pracownicy zauważają, że atakujący stosowali wiele podejść do rozwiązania tego problemu. Najpopularniejsze i najciekawsze jest prawdopodobnie również najskuteczniejsze. Aplikacja ma domyślnie wyłączoną Aktywność Launchera (np. tę, którą użytkownik widzi i klika).
Następnie, wykorzystując mechanizm uruchamiania udostępniony przez dostawcę treści, próbki wykorzystują kod natywny do włączenia programu uruchamiającego, co jest prawdopodobnie dodatkową techniką unikania wykrycia.
Po zakończeniu „procedury konfiguracji” aplikacja wyłącza swoje programy uruchamiające, a ikona całkowicie znika z programu uruchamiającego telefon. Takie zachowanie nie jest dozwolone w ostatnich wersjach Androida, co oznacza, że twórcy złośliwego oprogramowania prawdopodobnie znaleźli błąd lub nadużywają interfejsu API. Dzieje się tak również w kodzie natywnym.
Inny mechanizm, który zaobserwowali pracownicy Bitdefender w innych próbkach, ma na celu dalsze udoskonalenie technik unikania wykrycia poprzez użycie „Android LEANBACK_LAUNCHER”, typu programu uruchamiającego zaprojektowanego specjalnie dla Android TV, który nie jest dostępny w zwykłych telefonach z systemem Android.
Tutaj aplikacja używa aliasu aktywności kategorii „LAUNCHER”, wskazującego na pierwszą aktywność zdefiniowaną jako „LEANBACK_LAUNCHER”. Jeśli alias jest domyślnie wyłączony, a „LEANBACK_LAUNCHER” nie jest wyświetlany, aplikacja może wybrać, kiedy włączyć lub wyłączyć alias „LAUNCHER”.
Możemy również wnioskować o tym typie ukrywania ikon na podstawie resztek metadanych w kodzie niektórych aplikacji.
Wniosek jest niepokojący. Atakujący mogą dynamicznie wyłączać lub włączać ikonę i launcher, kiedy tylko uznają to za konieczne.
Eksperci z Bitdefender zauważyli również, że niektóre aplikacje próbują się ukryć nawet w Ustawieniach, aby uniknąć usunięcia użytkownika. W poniższym przykładzie i filmie aplikacja zmienia nawet swoją nazwę na Google Voice, aby wyglądać jak oficjalna.
Uruchamianie działań, gdy nie są na pierwszym planie i mechanizm reklam:
Na pierwszy rzut oka aplikacje zaczęły wyświetlać reklamy nawet bez uruchamiania, nawet gdy na pierwszym planie działała inna aplikacja.
Pracownicy Bitdefender najpierw sprawdzili w manifeście, czy istnieje uprawnienie „SYSTEM_ALERT_WINDOW” umożliwiające takie zachowanie, ale go nie było.
Po drugie, zidentyfikowano aktywność używaną do wyświetlania reklam w kodzie Java, ale nie została ona wywołana z żadnego miejsca w kodzie Java. Ponadto aktywność rejestruje puste wywołanie zwrotne dla przycisku Wstecz i nie pozwoli użytkownikowi na wyjście z reklamy.
Ciekawe jest też to, że aplikacja korzysta z opcji w pliku „AndroidManifest.xml”, które umożliwiają jej zniknięcie z ostatnich zadań i ukrycie się przed użytkownikiem.
Tego typu działania wydają się być spójne we wszystkich próbkach tego zagrożenia, ale mają różne, prawdopodobnie generowane automatycznie, nazwy.
Wróćmy do biblioteki natywnej. Widzimy, że mechanizm uruchamiania wspomnianej powyżej aktywności znajduje się tam i pomyślnie uruchamia aktywność bez wymaganych uprawnień, nadużywając następujących wywołań API:
Użycie „DisplayManager.createVirtualDisplay” do utworzenia wirtualnego wyświetlacza o losowej nazwie i następujących flagach:
„DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC |” „DisplayManager.VIRTUAL_DISPLAY_FLAG_PRESENTATION |” „DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY” Tworzenie obiektu „DisplayManager.DisplayListener” z wywołaniem zwrotnym funkcji „onDisplayAdded”, wyszukującej nowo utworzony wyświetlacz.
Po znalezieniu nowego wyświetlacza aplikacja używa interfejsu API prezentacji do utworzenia prezentacji na wyświetlaczu: „Android.app.Presentation(context, new_display)” i wywoływana jest funkcja show() prezentacji.
Po opóźnieniu „startActivity” jest używany z flagą „Intent.FLAG_ACTIVITY_NEW_TASK” w celu uruchomienia wymaganej aktywności.
Nasze spostrzeżenia ujawniły ten typ zachowań w kilku aplikacjach, wyraźnie pokazując techniczne możliwości wdrażania ataków phishingowych za pośrednictwem działań pełnoekranowych. Użytkownicy mogli zostać poproszeni o podanie danych uwierzytelniających z Facebooka, YouTube lub innych usług online lub informacji o karcie kredytowej pod różnymi pretekstami.
Częstą praktyką wśród atakujących jest również straszenie użytkowników groźbami zainfekowania urządzeń, aby nakłonić ich do zainstalowania aplikacji innych firm, które mogą okazać się niebezpiecznym złośliwym oprogramowaniem, takim jak trojany bankowe.
Mechanizmy trwałości:
Oprócz mechanizmu dostawcy treści, który jest często sprawdzany przez system, większość badanych aplikacji wykorzystuje punkt wejścia aplikacji do uruchomienia usługi na pierwszym planie, która wyświetla pusty wpis na pasku powiadomień.
To zachowanie było dozwolone tylko do poziomu 31 interfejsu API Androida. W nowszych wersjach Androida, gdy usługa pierwszego planu jest zablokowana, aplikacje uruchamiają usługę pierwszego planu z kodu natywnego po pierwszej aktywności z reklamami. Aplikacja jest wtedy uznawana za znajdującą się na pierwszym planie i może uruchomić usługę.
Inny mechanizm trwałości wykorzystuje różne fikcyjne odbiorniki lub usługi transmisyjne.
Komunikacja C2:
Większość aplikacji korzysta ze specjalnych, dedykowanych domen c2 i oferuje łącza specyficzne dla każdego pakietu (szczegóły można znaleźć w załączniku/IOCs).
Eksperci Bitdefender zaobserwowali także różne metody szyfrowania komunikacji, wykorzystujące kombinacje AES, Base64 oraz niestandardowe algorytmy szyfrowania.
Malwarewydobywa informacje o urządzeniu, używając struktury opartej na słowniku, ale klucze w tym słowniku są polimorficzne i unikalne dla każdej aplikacji. Oznacza to, że etykiety używane do wysyłania danych stale się zmieniają, co utrudnia wykrywanie i analizę.
Od strony serwera, nawet po odszyfrowaniu, odpowiedź celowo nie jest przyjazna dla użytkownika w celu dalszej analizy bloku. Ta odpowiedź jibber-jabber jest używana do konfigurowania zestawów SDK reklam:
Mechanizmy zaciemniania i przeciwdziałania analizie:
Większość analizowanych aplikacji wykorzystuje podobne techniki zaciemniania ciągów znaków oparte na operacji XOR, ale z innymi danymi wejściowymi, takimi jak ciągi znaków zakodowane w standardzie Base64, zwykłe ciągi znaków, a nawet zakodowane na stałe tablice bajtów.
Stwierdziliśmy również, że mechanizm odpowiedzialny za uruchamianie aktywności, gdy nie są one na pierwszym planie, znajduje się w bibliotekach natywnych o losowo generowanych nazwach.
Biblioteki natywne wydają się być zaciemnione narzędziem Armariris.
Dalsza analiza zespołu Bitdefender wykazała, że biblioteka zawiera mechanizmy sprawdzające środowisko wykonawcze, pozwalające ustalić, czy działa w emulatorze lub czy podłączono debuger – co umożliwia unikanie wykrycia.
Asystent ds. Serwisu i E-commerce, od ponad dwóch lat pracuję w branży IT. Do moich zadań należy wspomaganie działań na sklepie internetowym, wyszukiwanie nowinek technologicznych, wsparcie techniczne wewnątrz firmy lecz również pomoc klientom. Interesuje się grą na gitarze oraz branżą gier i działaniami policji w terenie.
Lista ostrzeżeń dotyczących bezpieczeństwa antywirusów i bezpieczeństwa oparta o wymagania Rozporządzenia (UE) 2023/988 w sprawie ogólnego bezpieczeństwa produktów (GPSR).
Oprogramowanie antywirusowe i zabezpieczające to szeroka kategoria produktów, dlatego poniższe ostrzeżenia mają charakter ogólny i mogą nie odnosić się do wszystkich konkretnych produktów.
Instrukcja bezpieczeństwa dla programów antywirusowych i zabezpieczających
1. Wybór odpowiedniego oprogramowania
Wybieraj programy z uznanych źródeł, takich jak oficjalne strony producentów.
Zwracaj uwagę na oceny i recenzje użytkowników oraz niezależnych organizacji zajmujących się testowaniem oprogramowania.
2. Aktualizacje
Regularnie aktualizuj programy antywirusowe i zabezpieczające, aby mieć pewność, że są one chronione przed najnowszymi zagrożeniami.
Włącz automatyczne aktualizacje, jeśli to możliwe.
3. Skanowanie systemu
Przeprowadzaj regularne skanowania całego systemu w celu wykrycia potencjalnych zagrożeń.
Ustaw harmonogram skanowania, aby nie zapomnieć o tej czynności.
4. Ochrona w czasie rzeczywistym
Upewnij się, że funkcja ochrony w czasie rzeczywistym jest włączona, aby zminimalizować ryzyko infekcji.
Monitoruj aktywność programu antywirusowego i reaguj na wszelkie zgłoszone zagrożenia.
5. Bezpieczeństwo Internetu
Korzystaj z dodatkowych funkcji, takich jak zapory ogniowe i filtry ochrony prywatności.
Bądź ostrożny przy pobieraniu plików oraz wchodzeniu na nieznane strony internetowe.
6. Zarządzanie dostępem
Ogranicz dostęp do programów zabezpieczających tylko do zaufanych użytkowników.
Używaj silnych haseł do kont związanych z oprogramowaniem zabezpieczającym.
7. Edukacja użytkowników
Przeszkol wszystkich użytkowników korzystających z systemu w zakresie bezpieczeństwa.
Wprowadź zasady dotyczące rozpoznawania potencjalnych zagrożeń, takich jak phishing.
8. Tworzenie kopii zapasowych
Regularnie twórz kopie zapasowe ważnych danych, aby w razie infekcji móc przywrócić system do stanu przed atakiem.
Upewnij się, że kopie zapasowe są przechowywane w bezpiecznym miejscu, oddzielonym od głównego systemu.
9. Reakcja na zagrożenia
W przypadku wykrycia zagrożenia, niezwłocznie postępuj zgodnie z instrukcjami programu antywirusowego.
Rozważ konsultację z profesjonalnym serwisem w sytuacji poważnych infekcji.
10. Zgłaszanie problemów
Zgłaszaj wszelkie nieprawidłowości lub problemy z działaniem oprogramowania do odpowiednich kanałów wsparcia technicznego.
Przestrzeganie powyższych wytycznych pomoże w skutecznej ochronie systemu przed zagrożeniami oraz w zapewnieniu bezpieczeństwa danych.