AndroWasm: an Empirical Study on Android Malware Obfuscation through WebAssembly
Diese Studie untersucht WebAssembly als neuartige Technik zur Verschleierung von Android-Malware, die durch Proof-of-Concepts demonstriert, wie Angreifer traditionelle statische Analysen und KI-basierte Erkennungswerkzeuge wie VirusTotal und MobSF umgehen können.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Das Geheimnis hinter der unsichtbaren Schachtel: Wie Android-Malware sich in WebAssembly versteckt
Stellen Sie sich vor, Sie haben einen riesigen, gut bewachten Supermarkt (das Android-Handy). In diesem Markt gibt es viele verschiedene Abteilungen: Die „Kasse" (Java/Kotlin-Code), die „Lagerhallen" (Ressourcen) und die „Werkstätten" (Native Libraries).
Normalerweise suchen die Sicherheitsbeamten (Antiviren-Programme wie VirusTotal oder MobSF) nach Dieben, indem sie die Kleidung der Kunden prüfen. Wenn jemand eine Jacke mit einem bekannten Diebes-Muster trägt (ein bekannter Virencode), wird er sofort erwischt.
Die Autoren dieses Papers haben jedoch eine neue, sehr clevere Methode entdeckt, wie Diebe (Malware) sich verkleiden können: Sie nutzen eine unsichtbare, magische Kiste, die man WebAssembly (Wasm) nennt.
Was ist WebAssembly eigentlich?
Stellen Sie sich WebAssembly wie einen universellen Übersetzer vor. Normalerweise sprechen Computer verschiedene Sprachen (Java, C++, Rust). WebAssembly ist wie ein universelles, sehr schnelles „Geheimprotokoll", das alle diese Sprachen in eine einzige, kompakte Form bringt, die jeder Computer verstehen kann.
Bisher wurde diese Kiste fast nur im Internet (im Browser) benutzt, um schnelle Spiele oder 3D-Grafiken darzustellen. Niemand hat sich groß Gedanken darüber gemacht, dass diese Kiste auch in Android-Apps versteckt werden könnte.
Der Trick der Diebe: Drei Wege in die Kiste
Die Forscher haben gezeigt, dass Malware-Entwickler diese Kiste auf drei verschiedene Arten in eine Android-App schmuggeln können:
- Der „Web-Shop"-Trick (WebViews): Die App öffnet ein kleines Fenster, das wie ein Mini-Browser aussieht. Darin läuft die Kiste. Das ist wie ein Dieb, der sich in einen Lieferwagen setzt, der im Supermarkt steht. Man sieht den Lieferwagen, aber nicht genau, was im Inneren passiert.
- Der „Geheime Boten"-Trick (JavaScript-Engine): Die App hat einen eigenen kleinen Boten im Hintergrund, der nur für diese Kiste zuständig ist. Er braucht kein Fenster, er arbeitet im Dunkeln.
- Der „Direkt-Import"-Trick (WasmEdge): Das ist der raffinierteste Weg. Die App baut die Kiste direkt in ihre eigene Werkstatt ein. Sie spricht nicht mehr mit dem Boten, sondern öffnet die Kiste direkt mit einem Schlüssel (JNI). Das ist, als würde der Dieb den Safe im Keller direkt in den Boden des Supermarkts einbauen.
Warum ist das so gefährlich?
Hier kommt der Clou: Die Sicherheitsbeamten im Supermarkt sind darauf trainiert, die Kleidung der Kunden zu prüfen (den normalen App-Code).
- Der alte Weg: Wenn ein Dieb seinen Code verschleiert (Obfuskation), ist das wie ein Dieb, der eine Tarnjacke anzieht. Die Beamten merken zwar, dass etwas seltsam ist, können aber oft noch erkennen, dass es ein Dieb ist.
- Der neue Weg (Wasm): Wenn der Dieb in die magische Kiste steigt, tragen die Beamten ihre Uniformen nicht mehr. Die Kiste ist für sie wie eine Blackbox. Sie sehen nur: „Da läuft eine Kiste." Aber sie können nicht hineinsehen, was drin passiert.
Die Forscher haben zwei Beispiele gebaut, um das zu beweisen:
Der Erpresser (Ransomware): Ein Programm, das Dateien verschlüsselt.
- Normal: Die Verschlüsselungs-Logik ist im App-Code. Die Beamten sehen sofort: „Aha, verschlüsseln! Das ist böse!"
- Mit Wasm: Die Verschlüsselungs-Logik ist in der Kiste. Der App-Code sagt nur: „Starte die Kiste." Die Beamten schauen auf den Code, sehen nichts Verdächtiges und lassen den Dieb durch. Ergebnis: Die Kiste wurde von nur 7 von 66 Sicherheits-Engines erkannt, während die normale Version von 27 erkannt wurde.
Der Spion (Spyware): Ein Programm, das Daten stiehlt und ins Internet schickt.
- Normal: Die URL, an die die Daten gesendet werden, steht im Code. Die Beamten sehen die URL und alarmieren.
- Mit Wasm: Die URL ist in der Kiste versteckt. Die App schickt nur einen Befehl an die Kiste: „Sende das hier." Die Beamten sehen die URL nicht mehr. Ergebnis: Die URL blieb unsichtbar.
Was bedeutet das für uns?
Die Studie zeigt, dass die aktuellen Sicherheits-Tools (wie VirusTotal) blind für diese Art von Verstecken sind. Sie sind wie Detektive, die nur nach Fußspuren suchen, aber nicht wissen, dass Diebe jetzt unsichtbare Gleise benutzen.
Was können wir tun? (Die Lösung)
Die Autoren geben uns einen neuen Ratschlag für die Sicherheitsbeamten:
- Suche nach der Kiste: Schauen Sie nicht nur nach dem Code, sondern prüfen Sie, ob in der App eine
.wasm-Datei (die Kiste) oder eine spezielle Bibliothek (wie WasmEdge) versteckt ist. - Öffne die Kiste: Man muss die Kiste mit speziellen Werkzeugen aufbrechen (dekompilieren), um zu sehen, was drin ist.
- Achte auf die Signaturen: Selbst wenn die Kiste in den App-Code eingebettet ist, hat sie einen ganz spezifischen „Fingerabdruck" (die ersten Bytes
00 61 73 6D). Wenn man diesen Fingerabdruck sucht, findet man die Kiste.
Fazit:
Die Welt der Android-Sicherheit ändert sich. Malware wird immer schlauer und nutzt neue Technologien, um sich zu verstecken. WebAssembly ist ein mächtiges Werkzeug für gute Entwickler (für schnelle Apps), aber leider auch ein perfektes Versteck für böse Absichten. Die Sicherheits-Experten müssen jetzt lernen, nicht nur die Kleidung zu prüfen, sondern auch die unsichtbaren Kisten zu durchleuchten.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.