BadPack er en ondsindet APK-fil, der bevidst er ændret for at udnytte Android-operativsystemets filstruktur.
Typisk, angribere ændrer ondsindet header-oplysningerne i APK'ernes komprimerede filformat for at forhindre reverse engineering-bestræbelser. Disse manipulerede headere er et kendetegn for BadPack, udgør betydelige udfordringer for Android reverse engineering-værktøjer. Denne teknik bruges almindeligvis af Android-baserede banktrojanere som BianLian, Cerberus, og TeaBot.
Disse resultater var rapporteret til Google af Palo Alto Networks, der bekræftede, at ingen apps indeholder dette malware findes i øjeblikket på Google Play. Android-brugere er automatisk beskyttet mod kendte versioner af denne malware af Google Play Protect, som er aktiveret som standard på enheder med Google Play Services. Google Play Protect kan advare brugere eller blokere apps, der udviser ondsindet adfærd, også selvom disse apps kommer fra kilder uden for Google Play.
Hvordan virker BadPack Malware?
APK-filer, afgørende for Android-applikationer, bruge ZIP-arkivformatet og indeholde en kritisk fil ved navn AndroidManifest.xml. Denne fil gemmer data og instruktioner, der er afgørende for applikationens drift. I BadPack APK'er, angribere manipulerer med ZIP-headerdata, gør det svært for værktøjer som Apktool og Jadx at udtrække og analysere indholdet. For eksempel, Apktool undlader ofte at udtrække AndroidManifest.xml fra BadPack-prøver.
Palo Alto Networks’ Avanceret WildFire-detektionstelemetri fra juni 2023 til juni 2024 identificeret næsten 9,200 BadPack prøver, indikerer en væsentlig trussel. Figur 1 illustrerer de månedlige tendenser for disse påvisninger, med en markant stigning i maj 2024.
Forstå Android Manifest-filen
Android Manifest-filen, AndroidManifest.xml, er en afgørende konfigurationsfil i APK-eksempler, leverer væsentlige oplysninger om mobilapplikationen til Android OS. Dette inkluderer detaljer om aktiviteter, tjenester, tilladelser, og kompatible Android-versioner. Udpakning og behandling af denne fil er det første trin i statisk analyse af en APK-prøve. Malware forfattere manipulerer ofte med ZIP-headerne for at forhindre sikkerhedsanalytikere i at udføre denne analyse.
ZIP-filstruktur
ZIP-formatet komprimerer og arkiverer indhold til en enkelt fil, bestående af to hovedtyper af overskrifter: Lokale filoverskrifter og centrale mappefiloverskrifter. Malware-forfattere kan ændre felter i disse overskrifter for at forhindre analytikere i at udpakke en APK-fils indhold, mens du stadig tillader APK'en at køre på en Android-enhed.
Lokale filoverskrifter
Lokale filoverskrifter repræsenterer individuelle filer i et ZIP-arkiv. Arkivet starter med en lokal filoverskrift, gentages for hver fil. Disse overskrifter begynder med en 4-byte signatur (PK, for Philip Katz, skaberen af ZIP-format). Kompressionsfeltet, placeret ved byteforskydninger 0x08 og 0x09, angiver komprimeringsmetoden, almindeligvis DEFLATE (0x0800). Overskriften indeholder også felter for komprimerede og ukomprimerede størrelser og filnavne.
Central Directory Filoverskrifter
Centrale biblioteksfiloverskrifter vises efter den sidste lokale filoverskrift i en ZIP-arkivmappe. De opsummerer indholdet af arkivet og kan inkludere en valgfri APK-signeringsblok. Disse overskrifter indeholder også felter til komprimeringsmetode, størrelser, og filnavne, placeret ved andre byteforskydninger end i lokale filoverskrifter.
Analyse af BadPack-teknikken
I BadPack prøver, angribere manipulerer ZIP-strukturoverskrifter, forhindrer APK-udtrækning og AndroidManifest.xml-afkodning, hvilket får statiske analyseværktøjer til at fejle. Denne manipulation kan inkludere uoverensstemmende værdier mellem de lokale og centrale biblioteks filoverskrifter. For eksempel, angivelse af en forkert komprimeringsmetode eller ugyldige størrelser.
Mens analyseværktøjer som Apktool og Jadx kræver streng overholdelse af ZIP-formatspecifikationer, Android-runtime på enheder er mere skånsom, inspicerer kun den centrale mappehoved. Således, BadPack APK'er kan køre på Android-enheder, men fejler analyseværktøjer. Ved at vende disse ændringer og gendanne originale ZIP-struktur-headerværdier, analytikere kan med succes analysere BadPack-prøver.
Konklusion
Det stigende antal Android-enheder udgør et voksende mål og en betydelig udfordring i at bekæmpe malware-angreb på platformen. APK-filer, der bruger BadPack, afspejler den stigende sofistikering af APK-malwareprøver, udgør formidable udfordringer for sikkerhedsanalytikere.
Brugere bør være på vagt over for Android-applikationer, der anmoder om usædvanlige tilladelser ikke i overensstemmelse med deres annoncerede funktionalitet, såsom en lommelygte-app, der anmoder om adgang til enhedens telefonbog. Også, det er tilrådeligt at afstå fra at installere applikationer fra tredjepartskilder for at opretholde enhedens sikkerhed.
Hvis du har mistanke om et kompromis eller har en presserende sag, kontakte enheden 42 Incident Response team for assistance.