Necro Trojan
I 2019 avdekket cybersikkerhetsforskere et urovekkende problem: en legitim Android-applikasjon i Google Play Store hadde blitt kompromittert av et tredjepartsbibliotek brukt av utviklere for å generere annonseinntekter. Denne endringen resulterte i at 100 millioner enheter ble koblet til servere kontrollert av angripere, som deretter distribuerte skjulte nyttelaster.
En lignende situasjon har nå dukket opp igjen. Infosec-eksperter har identifisert to nye applikasjoner, lastet ned 11 millioner ganger fra Google Play, som er infisert av samme skadevarefamilie. Det ser ut til at et usikkert programvareutviklingssett som brukes til å integrere reklamefunksjoner igjen har skylden.
Innholdsfortegnelse
Hva er en SDK?
Programvareutviklingssett, eller SDK-er, tilbyr utviklere forhåndsbygde rammeverk som forenkler og akselererer applikasjonsopprettingsprosessen ved å håndtere rutineoppgaver. I dette tilfellet ble en ubekreftet SDK-modul, tilsynelatende designet for å støtte annonsevisning, integrert i applikasjonene. Men under overflaten muliggjorde den avanserte metoder for skjult kommunikasjon med kompromitterte servere. Dette tillot applikasjonene å laste opp brukerdata og laste ned skadelig kode, som kunne kjøres eller oppdateres når som helst.
Hvordan infiserer Necro-trojanerne enheter?
Skadevarefamilien bak begge kampanjene kalles Necro, og i dette tilfellet bruker noen varianter avanserte teknikker som steganografi – en sjelden tilsløringsmetode i mobile trusler. Enkelte varianter bruker også sofistikerte metoder for å levere uredelig kode som er i stand til å operere med forhøyede systemrettigheter. Når en enhet er infisert, kommuniserer den med en angriperkontrollert Command-and-Control-server. Den sender krypterte JSON-data som rapporterer detaljer om den kompromitterte enheten og applikasjonen som er vert for den uredelige modulen.
Serveren svarer deretter med en JSON-melding som inkluderer en lenke til et PNG-bilde og metadata som inneholder bildets hash. Hvis modulen på den infiserte enheten verifiserer hashen, fortsetter den med å laste ned bildet.
Forskere forklarte at SDK-modulen bruker en enkel steganografisk algoritme. Etter å ha bestått MD5-kontrollen, trekker den ut innholdet i PNG-filen, spesielt pikselverdiene fra ARGB-kanalene, ved å bruke standard Android-verktøy. GetPixel-metoden henter en verdi der den minst signifikante byten inneholder den blå kanalen til bildet, og skadelig programvare begynner behandlingen derfra.
Necro-trojaneren kan føre til alvorlige konsekvenser
Oppfølgende nyttelast installert av skadelig programvare laster ned uredelige plugins som kan tilpasses for hver infisert enhet for å utføre ulike handlinger. En slik plugin lar kode kjøres med forhøyede systemrettigheter. Vanligvis begrenser Android privilegerte prosesser fra å bruke WebView – en komponent for visning av nettsider i applikasjoner. For å overvinne denne begrensningen bruker Necro en teknikk kjent som et refleksjonsangrep for å lage en separat forekomst av WebView-fabrikken.
I tillegg kan denne plugin-en laste ned og kjøre andre filer som endrer lenker som vises gjennom WebView. Med forhøyede systemrettigheter kan disse kjørbare filene endre URL-er for å sette inn bekreftelseskoder for betalte abonnementer og laste ned og kjøre kode fra angriperkontrollerte lenker. Forskere identifiserte fem forskjellige nyttelaster under deres analyse av Necro. I tillegg gir den modulære strukturen til Necro mange måter for skadelig programvare å fungere på.
Necro-trojaneren ble funnet i to applikasjoner
Forskere identifiserte Necro i to applikasjoner på Google Play. En av dem, Wuta Camera, har fått 10 millioner nedlastinger. Versjoner 6.3.2.148 til 6.3.6.148 av Wuta Camera inneholdt den ondsinnede SDK som var ansvarlig for infeksjonene, men applikasjonen har siden blitt oppdatert for å eliminere den skadelige komponenten. En annen applikasjon, Max Browser, med omtrent 1 million nedlastinger, ble også kompromittert; den er imidlertid ikke lenger tilgjengelig på Google Play.
I tillegg oppdaget forskerne Necro som infiserer en rekke Android-applikasjoner som tilbys på alternative markedsplasser. Disse applikasjonene presenteres vanligvis som modifiserte versjoner av legitime applikasjoner, inkludert Spotify, Minecraft, WhatsApp, Stumble Guys, Car Parking Multiplayer og Melon Sandbox.