AndroWasm: an Empirical Study on Android Malware Obfuscation through WebAssembly
Dit artikel onderzoekt hoe WebAssembly kan worden gebruikt als een nieuwe techniek om Android-malware te verbergen en traditionele statische analyse- en handtekeningdetectiemethoden te omzeilen, wat wordt onderbouwd met bewijsmateriaal dat aantoont dat geavanceerde industriële tools zoals VirusTotal en MobSF hierdoor kunnen worden ontweken.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
AndroWasm: Hoe hackers hun slechte code verstoppen in een nieuwe "verpakking"
Stel je voor dat Android-apps als grote, goed georganiseerde supermarkten zijn. De politie (de antivirusprogramma's zoals VirusTotal) loopt elke dag door de gangen om te kijken of er gevaarlijke producten (virussen) in de schappen liggen. Ze kijken naar de etiketten, de verpakking en de inhoud.
Deze paper, getiteld "AndroWasm", vertelt een spannend verhaal over hoe hackers een nieuwe, onbekende truc hebben bedacht om hun gevaarlijke producten te verstoppen, zodat de politie ze niet ziet.
De nieuwe truc: WebAssembly (Wasm)
Vroeger schreven hackers hun virussen in een taal die de supermarkt goed kent (zoals Java of Kotlin). De politie kon die taal lezen en zeggen: "Aha! Hier staat 'diefstal' of 'vertraging' geschreven."
Maar nu gebruiken ze WebAssembly (Wasm).
- De Analogie: Stel je voor dat Wasm een onleesbare, metalen doos is.
- Normale apps zijn als boeken met tekst die iedereen kan lezen.
- Wasm is als een doos vol met ingewikkelde, glimmende metalen onderdelen. Je kunt er niet in kijken zonder de doos open te breken. Zelfs als je de doos opent, zie je geen duidelijke zinnen, maar alleen een wirwar van mechanische bewegingen die pas werken als je ze in een speciale machine stopt.
De onderzoekers van de Universiteit van Cagliari hebben ontdekt dat Android-apps deze metalen dozen nu ook kunnen meenemen en laten draaien.
Hoe werkt het? (De drie manieren)
De paper laat zien dat er drie manieren zijn om deze "metalene dozen" in een Android-app te verstoppen:
- De Verborgen Winkel (WebViews):
De app opent een klein venster dat eruitziet als een webpagina (zoals Chrome). Hierin draait de metalen doos. Het is alsof de hacker een geheime achterdeur heeft in de supermarkt waar hij zijn gevaarlijke spullen in een webpagina verbergt. De politie kijkt naar de hoofdruimte, maar ziet de achterdeur niet. - De Stille Motor (JavaScript Engine):
De app heeft een eigen kleine motor (een JavaScript-engine) die geen zichtbare webpagina nodig heeft. De metalen doos wordt hier direct in de motor gestopt en draait in het geheim. Het is alsof de hacker een motor in de kofferbak van een auto heeft gemonteerd die niemand ziet, maar die wel werkt. - De Speciale Sleutel (WasmEdge):
Dit is de meest geavanceerde methode. De app gebruikt een speciale sleutel (een native bibliotheek genaamd WasmEdge) die direct met de metalen doos praat, zonder tussenkomst van een webpagina of een motor. Het is alsof de hacker een geheime code heeft die direct de veiligheidsdeur van de supermarkt opent, zonder dat de bewakers het merken.
De Experimenten: Ransomware en Spionnen
De onderzoekers hebben twee voorbeelden gemaakt om te bewijzen dat dit werkt:
De Slotmeester (Ransomware):
Ze maakten een app die bestanden versleutelt (zoals een slotmeester die deuren dichtgooit).- Normale versie: De code voor het slot zat in het boek. De politie zag het direct en riep: "Gevaar!" (27 van de 66 antivirusprogramma's vingen het).
- Wasm-versie: De code voor het slot zat in de metalen doos. De politie keek in het boek, zag niets, en liep voorbij. Slechts 7 van de 66 programma's merkten iets op. De doos was te goed verstop.
De Spion (Spyware):
Ze maakten een app die foto's van de gebruiker steelt en naar de hacker stuurt.- Normale versie: De instructies "pak foto's" en "stuur naar hacker" stonden in het boek. De politie zag het.
- Wasm-versie: De instructie "pak foto's" zat in de metalen doos. De doos riep alleen naar de supermarkt: "Geef me een foto." De supermarkt gaf de foto, maar de politie zag niet dat de doos de foto naar de hacker stuurde. De URL (het adres waar de foto naartoe ging) was in de doos verstop. De politie zag alleen dat er een foto werd opgehaald, maar niet waar die naartoe ging.
Waarom is dit gevaarlijk?
De grote boodschap is: Onze huidige veiligheidscontroles zijn niet voorbereid op deze metalen dozen.
Tools zoals VirusTotal en MobSF (die apps controleren voordat ze in de winkel komen) kijken vooral naar de tekst in de boeken. Ze weten niet hoe ze die metalen dozen moeten openen en lezen. Hierdoor kunnen virussen ongemerkt de winkel binnenkomen.
Wat moeten we doen? (De oplossing)
De paper geeft ook advies aan de "politie" (de beveiligingsexperts):
- Kijk naar de dozen: Zoek naar bestanden met de naam
.wasmin de app. - Kijk naar de verpakking: Soms zit de metalen doos niet als los bestand, maar is hij opgesplitst in duizenden kleine stukjes (bytes) die in de code van de app zitten. De eerste vier letters van zo'n stukje zijn altijd hetzelfde (een soort vingerafdruk:
00 61 73 6D). - Kijk naar de sleutels: Zoek naar speciale bibliotheken (zoals WasmEdge) die de app gebruikt om die dozen te openen.
- Open de dozen: Als je een verdachte doos vindt, moet je hem openbreken met speciale gereedschappen om te zien wat erin zit.
Conclusie
Kortom: Hackers hebben een nieuwe, slimme manier gevonden om hun virussen te verstoppen in een taal die onze huidige beveiliging nog niet goed begrijpt. Het is alsof ze van een gewone tas zijn overgestapt op een ondoorgrondelijke, metalen koffer. De onderzoekers waarschuwen dat we onze beveiliging moeten updaten om deze nieuwe "koffers" te kunnen inspecteren, voordat ze schade aanrichten.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.