Permissies zijn nodig voor allerlei appfuncties. Ze zijn tegelijkertijd het aanvalspad voor malafide Android-applicaties, zoals infostealers. Via een nieuw framework zou malware echter automatisch opgespoord worden.
Het nieuwe, schaalbare framework luidt PermGuard. Een groep van zes wetenschappers heeft onlangs een onderzoek gepubliceerd waarin dit framework tegen Android-malware wordt uitgelegd. De concrete benaming voor de methodiek is ‘permission-to-exploitation mapping’. PermGuard zou een extra verdedigingslinie tegen het nog altijd alom aanwezige Android-malwareprobleem kunnen bieden.
Google kan het niet alleen
Ruim drie miljard Android-gebruikers verdedigen kan niemand alleen. Google, dat via de Play Store apps controleert en waar nodig elimineert, is weliswaar de maker van het OS maar niet de exclusieve beschermer. Zo bieden alternatieve appstores en sideloading andere toegangspaden voor applicaties. De open-source code van Android blijkt volgens de onderzoekers meermaals problematisch, omdat elke zwakheid geëxploiteerd kan worden. Hoewel Google zijn best doet deze gaten continu te dichten, zal de deur altijd op een kiertje staan voor cyberaanvallers.
Het downloaden van Android-malware is regelmatig niet het sleutelmoment om potentiële slachtoffers beet te nemen. De stap daarvóór, het omleiden naar een illegitieme appwinkel bijvoorbeeld, is vereist om überhaupt de kans te krijgen om data te stelen of gebruikers anderszins te flessen. Wat volgt na de installatie is eveneens van kritiek belang. Apps moeten via het Android OS expliciet vragen om permissies, zoals het openen van de camera, toegang tot de agenda of het bewerken van bestanden.
Met die laatste stap weet PermGuard raad. Doordat de onderzoekers het framework inzetten om aanvalspaden te ‘mappen’ op het vragen van permissies, lopen malafide apps tegen de lamp zodra ze kwaadaardig gedrag vertonen met hun permissieverzoeken.
AI tegen de lawine aan malware
Het onderzoek illustreert dat het malwareprobleem van Android één van schaal is. Doordat er dermate veel malware-apps en allerlei Android-smaken bestaan, is het onmogelijk om handmatig alle discutabele appwinkels, downloadlinks en websites te weren. Om die reden hebben eerdere onderzoeksteams al meerdere machine learning-technieken ingezet, zodat de hoeveelheid werk behapbaar blijft voor de verdedigers van Android.
Het concept van PermGuard borduurt voort op de lessen die andere onderzoekers hebben behaalt. Dit framework is ingericht om de benodigde trainingsdata zo klein mogelijk te houden. Hierdoor blijft het schaalbaar, zelfs voor miljoenen applicaties om te testen.
Allereerst werden apps verzameld vanuit verschillende bronnen. Vervolgens vond ‘permission extraction’ plaats en werd een dataset opgestart van zowel goed- als kwaadaardige applicaties. Het mappen van aanvalstechnieken vond hierna plaats, om vervolgens similarity-based selective training los te laten op Ai-modellen. Het belangrijkste onderdeel is het decompileren van de Android-Manifest.xml van elke applicatie. Hierin staan alle permissies die een applicatie kan verzoeken.
PermGuard werd ingelicht met de 100 permissies die het meest voorkwamen in goedaardige apps en de 100 permissies die juist door malware werden gevraagd. Alle redundante gevallen werden bij het overlappen van de twee lijsten aan permissies verwijderd, om 123 discrete permissies over te houden. 23 verschillende manieren om Android-malware klaar te stomen werden op basis hiervan gedefinieerd, met categorieëen als ‘netwerksurveillance’ om ze te onderscheiden. In totaal werden 55.911 goedaardige en 55.911 kwaadaardige apps verzameld.
Beperkingen
De accuratesse is imposant: op echte datasets werd een score van 0,9933 gehaald en met synthetische gegevens 0,9828. Hoewel PermGuard veelbelovend is, kent het volgens de onderzoekers zijn beperkingen. Zo mist enige vorm van gedragsanalyse, dat de aard van de onderzochte Android-app beter kan duiden. Ook heeft het team nog niet gekeken naar de integratie van LLM’s om de gehele sourcecode van Android-apps te bekijken, waarin mogelijk meer signalen van malware te ontdekken zijn.
Lees ook: 11 miljoen Android-telefoons geïnfecteerd door onzichtbare advertenties