NoVoice w Google Play: malware na Androida zainfekowało 2,3 mln urządzeń - Security Bez Tabu

NoVoice w Google Play: malware na Androida zainfekowało 2,3 mln urządzeń

Cybersecurity news

Wprowadzenie do problemu / definicja

NoVoice to zaawansowane złośliwe oprogramowanie na Androida, które było rozpowszechniane za pośrednictwem aplikacji dostępnych w Google Play. Zagrożenie wyróżnia się tym, że nie ograniczało się do prostego wykradania danych użytkownika, lecz próbowało uzyskać uprawnienia roota, a następnie instalowało komponenty rootkita zapewniające trwałość infekcji i szeroką kontrolę nad urządzeniem.

To szczególnie niebezpieczny scenariusz, ponieważ malware dystrybuowane oficjalnym kanałem budzi znacznie mniej podejrzeń niż aplikacje instalowane z nieznanych źródeł. W praktyce oznacza to, że użytkownik mógł zainstalować pozornie legalny program, który działał zgodnie z opisem, a jednocześnie uruchamiał wieloetapowy łańcuch ataku.

W skrócie

  • Kampania objęła ponad 50 aplikacji opublikowanych w Google Play.
  • Złośliwe aplikacje osiągnęły co najmniej 2,3 mln pobrań.
  • NoVoice profilował urządzenie i dobierał odpowiedni exploit do wersji systemu oraz konfiguracji sprzętowej.
  • Po uzyskaniu roota malware wyłączało istotne mechanizmy ochronne Androida i instalowało trwały rootkit.
  • W zaobserwowanej fazie poeksploatacyjnej jednym z głównych celów była kradzież danych umożliwiających klonowanie sesji WhatsApp.
  • Usunięcie aplikacji z telefonu lub reset fabryczny mogły nie wystarczyć do pełnej remediacji.

Kontekst / historia

NoVoice wpisuje się w rosnący trend mobilnych kampanii malware, które coraz częściej przybierają formę modularnych frameworków zamiast prostych trojanów. Atakujący łączą dziś legalne kanały dystrybucji, wieloetapową infekcję, mechanizmy antyanalityczne i trwałość porównywalną z zagrożeniami znanymi z systemów desktopowych.

W analizowanej kampanii złośliwy kod umieszczano w aplikacjach podszywających się między innymi pod narzędzia czyszczące, galerie zdjęć czy gry. Badacze zwrócili uwagę na podobieństwa do rodziny Triada, zwłaszcza pod względem technik utrwalania i modyfikowania komponentów systemowych. Nie pozwoliło to jednak na jednoznaczne przypisanie operacji konkretnemu aktorowi.

Analiza techniczna

Łańcuch ataku rozpoczynał się po uruchomieniu pozornie legalnej aplikacji. Złośliwe moduły były ukrywane w pakietach imitujących elementy legalnego SDK i ładowane etapami do pamięci. Jednocześnie usuwano pliki pośrednie, aby ograniczyć liczbę artefaktów pozostawianych na urządzeniu i utrudnić analizę śledczą.

Malware wykorzystywało również mechanizmy antyanalityczne. Sprawdzało obecność emulatorów, debuggerów, połączeń VPN oraz wybranych parametrów środowiska, co miało ograniczyć skuteczność badań laboratoryjnych i systemów detekcji.

Po aktywacji NoVoice komunikował się z infrastrukturą C2 i przesyłał szczegółowy profil urządzenia, obejmujący informacje o sprzęcie, jądrze systemu, wersji Androida, poziomie poprawek bezpieczeństwa, stanie roota oraz zainstalowanych aplikacjach. Na tej podstawie serwer dobierał zestaw exploitów odpowiedni dla konkretnej konfiguracji. Według analiz odzyskano 22 exploity, obejmujące między innymi błędy typu use-after-free w jądrze oraz podatności w sterownikach GPU Mali.

Celem etapu eksploatacji było uzyskanie powłoki root i wyłączenie egzekwowania SELinux. Po przejęciu podwyższonych uprawnień malware instalowało rootkita odpowiedzialnego za trwałość. Obejmowało to podmianę kluczowych bibliotek systemowych, takich jak libandroid_runtime.so i libmedia_jni.so, na zmodyfikowane wrappery przechwytujące wywołania systemowe i przekierowujące wykonanie do kodu atakującego.

Dodatkowo modyfikowano elementy frameworka, wdrażano skrypty odzyskiwania oraz proces typu watchdog, który monitorował integralność infekcji i przywracał brakujące komponenty. Z punktu widzenia obrony oznacza to, że zagrożenie nie tylko uzyskiwało wysoki poziom uprawnień, ale również aktywnie chroniło własną obecność w systemie.

Jedną z najistotniejszych cech NoVoice była odporność na standardowe działania naprawcze. Ponieważ część komponentów była zapisywana na partycji systemowej, klasyczny reset fabryczny nie gwarantował usunięcia infekcji. W praktyce zainfekowane urządzenie należało traktować jako trwale skompromitowane do czasu pełnego przeinstalowania czystego oprogramowania.

W warstwie poeksploatacyjnej malware mogło wstrzykiwać kod do aplikacji uruchamianych na urządzeniu. Jeden z modułów odpowiadał za cichą instalację i usuwanie aplikacji, a drugi działał w kontekście aplikacji mających dostęp do internetu. W zaobserwowanym wariancie szczególny nacisk położono na WhatsApp. Złośliwe oprogramowanie kopiowało bazy danych szyfrowania, klucze protokołu Signal, identyfikatory rejestracyjne i wybrane informacje o koncie, co mogło umożliwić odtworzenie lub sklonowanie sesji ofiary na innym urządzeniu.

Konsekwencje / ryzyko

Ryzyko związane z NoVoice należy ocenić jako bardzo wysokie. Po pierwsze, złośliwe aplikacje były dostępne w zaufanym sklepie, co zwiększało zasięg kampanii i obniżało czujność użytkowników. Po drugie, malware nie wymagało na początku instalacji podejrzanych uprawnień, przez co trudniej było je wychwycić prostą analizą żądań aplikacji.

Najpoważniejsze konsekwencje wynikały jednak z uzyskania roota i wyłączenia SELinux. Taki poziom kompromitacji pozwala atakującemu ingerować w działanie systemu, przechwytywać dane z wielu aplikacji, doinstalowywać dodatkowe moduły i utrzymywać trwałą obecność na urządzeniu. Modularna architektura wskazuje, że WhatsApp był prawdopodobnie tylko jednym z możliwych celów, a operacja mogła zostać rozszerzona również na aplikacje finansowe, komunikacyjne i firmowe.

Szczególnie narażone były starsze i niewspierane urządzenia, które nie otrzymują aktualizacji bezpieczeństwa. Informacje przekazane po publikacji raportu sugerują, że urządzenia z poprawkami bezpieczeństwa dostępnymi od maja 2021 roku są chronione przed znanymi exploitami wykorzystanymi w tej kampanii. Nie zmienia to jednak faktu, że telefony zainfekowane wcześniej należy traktować jako potencjalnie trwale naruszone.

Rekomendacje

W pierwszej kolejności organizacje i użytkownicy powinni ustalić, czy na urządzeniach instalowano aplikacje powiązane z kampanią NoVoice. W przypadku potwierdzonej infekcji nie należy zakładać, że samo odinstalowanie aplikacji lub reset fabryczny wystarczy. Bezpieczniejszym podejściem jest pełne przeinstalowanie czystego firmware’u albo wymiana urządzenia na model nadal objęty wsparciem producenta.

Kluczowe znaczenie ma utrzymywanie aktualnego poziomu poprawek bezpieczeństwa Androida. Urządzenia niewspierane lub pozostające na starych poziomach patchy powinny zostać wycofane z użycia, szczególnie w środowiskach firmowych. Tam, gdzie to możliwe, warto egzekwować polityki MDM lub EMM blokujące urządzenia niespełniające minimalnych wymagań bezpieczeństwa.

  • monitorowanie instalacji aplikacji mobilnych, także tych pochodzących z oficjalnych sklepów,
  • analizę ruchu sieciowego urządzeń pod kątem nietypowej komunikacji z serwerami C2,
  • wdrożenie rozwiązań klasy MTD lub mobilnego EDR,
  • segmentację dostępu urządzeń mobilnych do zasobów firmowych,
  • rotację poświadczeń i unieważnienie aktywnych sesji po incydencie,
  • przegląd tokenów dostępowych oraz ocenę ryzyka wycieku danych lokalnych.

Jeżeli na podejrzanym urządzeniu używano komunikatorów, aplikacji bankowych albo narzędzi firmowych, incydent należy traktować szerzej niż zwykłą infekcję aplikacji. W takiej sytuacji wskazane jest przeprowadzenie pełnej procedury incident response, obejmującej zmianę haseł, ponowne uwierzytelnienie w usługach oraz analizę możliwego naruszenia danych.

Podsumowanie

NoVoice pokazuje, że obecność aplikacji w oficjalnym sklepie nie eliminuje ryzyka zaawansowanego malware mobilnego. Kampania połączyła legalny kanał dystrybucji, dobór exploitów do konfiguracji urządzenia, uzyskanie roota, trwałość na poziomie partycji systemowej oraz kradzież danych z aplikacji użytkownika.

Z perspektywy cyberbezpieczeństwa jest to przykład dojrzałej operacji mobilnej, która zaciera granicę między klasycznym trojanem a pełnoprawnym rootkitem. Najważniejszy wniosek jest praktyczny: samo usunięcie aplikacji nie musi oznaczać usunięcia zagrożenia, a skuteczna remediacja może wymagać pełnego odtworzenia systemu lub wymiany sprzętu.

Źródła

  1. NoVoice Android malware on Google Play infected 2.3 million devices — https://www.bleepingcomputer.com/news/security/novoice-android-malware-on-google-play-infected-23-million-devices/
  2. Operation NoVoice: Rootkit Tells No Tales — https://www.mcafee.com/blogs/other-blogs/mcafee-labs/new-research-operation-novoice-rootkit-malware-android/
  3. Triada: modular Android malware with system-level persistence — https://www.kaspersky.com/blog/triada-trojan/11481/