BadPack ist eine bösartige APK-Datei, die absichtlich verändert wurde, um die Dateistruktur des Android-Betriebssystems auszunutzen.
Typisch, Angreifer verändern in böswilliger Absicht die Header-Informationen im komprimierten Dateiformat von APKs, um Reverse-Engineering-Bemühungen zu erschweren. Diese manipulierten Header sind ein Markenzeichen von BadPack, stellt erhebliche Herausforderungen für Android-Reverse-Engineering-Tools dar. Diese Technik wird häufig von Android-basierten Banking-Trojanern wie BianLian verwendet., Zerberus, und TeaBot.
Diese Erkenntnisse wurden an Google gemeldet von Palo Alto Networks, der bestätigte, dass keine Apps mit diesem Malware sind derzeit auf Google Play zu finden. Android-Nutzer werden durch Google Play Protect automatisch vor bekannten Versionen dieser Malware geschützt, die standardmäßig auf Geräten mit Google Play Services aktiviert ist. Google Play Protect kann Benutzer warnen oder Apps mit bösartigem Verhalten blockieren, auch wenn diese Apps aus Quellen außerhalb von Google Play stammen.
Wie funktioniert die BadPack-Malware??
APK-Dateien, unverzichtbar für Android-Anwendungen, Verwenden Sie das ZIP-Archivformat und enthalten Sie eine wichtige Datei mit dem Namen AndroidManifest.xml. Diese Datei speichert Daten und Anweisungen, die für den Betrieb der Anwendung wichtig sind. In BadPack APKs, Angreifer manipulieren die ZIP-Header-Daten, Dies erschwert es Tools wie Apktool und Jadx, Inhalte zu extrahieren und zu analysieren.. Beispielsweise, Apktool kann AndroidManifest.xml häufig nicht aus BadPack-Beispielen extrahieren.
Palo Alto Networks’ Erweiterte Telemetrie zur Waldbranderkennung ab Juni 2023 bis Juni 2024 identifiziert fast 9,200 BadPack-Beispiele, eine erhebliche Bedrohung anzeigt. Zahl 1 veranschaulicht die monatlichen Trends dieser Entdeckungen, mit einem deutlichen Anstieg im Mai 2024.
Grundlegendes zur Android-Manifestdatei
Die Android Manifest-Datei, AndroidManifest.xml, ist eine wichtige Konfigurationsdatei in APK-Beispielen, Bereitstellung wichtiger Informationen über die mobile Anwendung für das Android-Betriebssystem. Hierzu zählen Angaben zu Aktivitäten, Dienstleistungen, Berechtigungen, und kompatible Android-Versionen. Das Extrahieren und Verarbeiten dieser Datei ist der erste Schritt bei der statischen Analyse einer APK-Probe. Autoren von Malware manipulieren oft die ZIP-Header, um Sicherheitsanalysten an der Durchführung dieser Analyse zu hindern.
ZIP-Dateistruktur
Das ZIP-Format komprimiert und archiviert Inhalte in einer einzigen Datei, bestehend aus zwei Haupttypen von Headern: Lokale Dateiheader und zentrale Verzeichnisdateiheader. Malware-Autoren können Felder in diesen Headern ändern, um Analysten daran zu hindern, den Inhalt einer APK-Datei zu extrahieren, wobei die Ausführung der APK auf einem Android-Gerät weiterhin möglich ist.
Lokale Dateiheader
Lokale Dateiheader stellen einzelne Dateien in einem ZIP-Archiv dar. Das Archiv beginnt mit einem lokalen Dateiheader, für jede Datei wiederholt. Diese Header beginnen mit einer 4-Byte-Signatur (PK, für Phillip Katz, der ZIP-Format-Ersteller). Das Kompressionsfeld, befindet sich an den Byte-Offsets 0x08 und 0x09, gibt die Komprimierungsmethode an, häufig DEFLATE (0x0800). Der Header enthält auch Felder für komprimierte und unkomprimierte Größen und Dateinamen.
Zentrale Verzeichnisdatei-Header
Zentrale Verzeichnisdateiheader erscheinen nach dem letzten lokalen Dateiheader in einem ZIP-Archivverzeichnis. Sie fassen den Inhalt des Archivs zusammen und können einen optionalen APK-Signaturblock enthalten. Diese Header enthalten auch Felder für die Komprimierungsmethode, Größen, und Dateinamen, befinden sich an anderen Byte-Offsets als in lokalen Datei-Headern.
Analyse der BadPack-Technik
In BadPack-Beispielen, Angreifer manipulieren ZIP-Struktur-Header, Verhindern der APK-Extraktion und der AndroidManifest.xml-Dekodierung, zum Versagen statischer Analysetools. Diese Manipulation kann zu nicht übereinstimmenden Werten zwischen den Dateiheadern des lokalen und zentralen Verzeichnisses führen.. Beispielsweise, Angabe einer falschen Komprimierungsmethode oder ungültiger Größen.
Während Analysetools wie Apktool und Jadx die strikte Einhaltung der ZIP-Formatspezifikationen erfordern, Android-Laufzeitumgebung auf Geräten ist großzügiger, nur die Überprüfung des zentralen Verzeichniskopfes. So, BadPack APKs können auf Android-Geräten ausgeführt werden, scheitern aber bei Analysetools. Durch Rückgängigmachen dieser Änderungen und Wiederherstellen der ursprünglichen ZIP-Struktur-Headerwerte, Analysten können BadPack-Proben erfolgreich analysieren.
Abschluss
Die zunehmende Anzahl von Android-Geräten stellt ein wachsendes Ziel und eine erhebliche Herausforderung bei der Bekämpfung von Malware-Angriffen auf die Plattform dar. APK-Dateien mit BadPack spiegeln die zunehmende Komplexität von APK-Malware-Beispielen wider, stellt Sicherheitsanalysten vor enorme Herausforderungen.
Benutzer sollten vorsichtig sein vor Android-Anwendungen, die ungewöhnliche Berechtigungen anfordern nicht mit der beworbenen Funktionalität übereinstimmen, wie zum Beispiel eine Taschenlampen-App, die Zugriff auf das Telefonbuch des Geräts anfordert. Auch, Um die Gerätesicherheit zu gewährleisten, ist es ratsam, keine Anwendungen aus Drittquellen zu installieren.
Wenn Sie einen Kompromiss vermuten oder eine dringende Angelegenheit haben, Kontaktieren Sie die Einheit 42 Incident Response Team zur Unterstützung.