Inhoudsopgave:
- Een nieuwe draai aan een oude aanpak
- Onregelmatigheidsdetectie
- Malware-beperking
- Test resultaten
- Voordelen van PREC
- De uitdaging
Android-applicatiemarkten zijn een handige manier voor gebruikers om apps te krijgen. De markten zijn ook een handige manier voor slechteriken om malware te leveren. Marketplace-eigenaars proberen, tot hun eer, slechte apps op te snuiven met beveiligingsmaatregelen zoals Google Bouncer. Helaas zijn de meeste - inclusief Bouncer - niet in staat. Slechteriken kwamen er vrijwel meteen achter hoe te weten wanneer Bouncer, een emulatieomgeving, hun code aan het testen was. In een eerder interview verklaarde Jon Oberheide, mede-oprichter van Duo Security en de persoon die Google op de hoogte bracht van het probleem:
"Om Bouncer effectief te maken, moet het niet te onderscheiden zijn van het mobiele apparaat van een echte gebruiker. Anders zal een kwaadwillende toepassing kunnen vaststellen dat het met Bouncer werkt en zijn schadelijke lading niet uitvoeren."
Een andere manier waarop slechteriken Bouncer voor de gek houden, is door een logische bom te gebruiken. Doorheen hun geschiedenis hebben logische bommen grote schade aangericht op computerapparatuur. In dit geval dwarsboomt logische bomcode stilletjes de malwarecontroleurs, net zoals het verzuim van Bouncer om de payload te activeren totdat de schadelijke app op een echt mobiel apparaat wordt geïnstalleerd.
Het komt erop neer dat Android-app-markten, tenzij ze efficiënt worden in het detecteren van malware-payloads in apps, in feite een belangrijk distributiesysteem voor malware zijn.
Een nieuwe draai aan een oude aanpak
Het onderzoeksteam van de North Carolina State University van Tsung-Hsuan Ho, Daniel Dean, Xiaohui Gu en William Enck hebben mogelijk een oplossing gevonden. In hun paper PREC: Practical Root Exploit Containment voor Android-apparaten introduceerde het onderzoeksteam hun versie van een schema voor het detecteren van afwijkingen. PREC bestaat uit twee componenten: een die werkt met de malwaredetector van de app store en een die wordt gedownload met de applicatie naar het mobiele apparaat.
Het app store-onderdeel is uniek omdat het gebruik maakt van wat de onderzoekers "geclassificeerde systeemoproepbewaking" noemen. Deze benadering kan systeemoproepen van componenten met een hoog risico, zoals bibliotheken van derden, dynamisch identificeren (die niet zijn opgenomen in het Android-systeem, maar die bij de gedownloade applicatie worden geleverd). De logica hier is dat veel kwaadwillende apps hun eigen bibliotheken gebruiken.
Systeemoproepen van de risicovolle code van derden verkregen uit deze monitoring, plus de gegevens verkregen uit het app-store detectieproces, stellen PREC in staat een normaal gedragsmodel te creëren. Het model wordt geüpload naar de PREC-service, vergeleken met bestaande modellen voor nauwkeurigheid, overhead en robuustheid om aanvallen na te bootsen.
Het bijgewerkte model is vervolgens klaar om te worden gedownload met de applicatie wanneer de app wordt aangevraagd door iemand die de app store bezoekt.
Dat wordt beschouwd als de monitoringfase. Nadat het PREC-model en de applicatie zijn gedownload naar het Android-apparaat, gaat PREC de handhavingsfase in, met andere woorden, detectie van anomalie en beheersing van malware.
Onregelmatigheidsdetectie
Zodra de app en het PREC-model zijn ingebed op het Android-apparaat, bewaakt PREC de code van derden, met name systeemoproepen. Als de systeemoproepvolgorde anders is dan die in de app store wordt gecontroleerd, bepaalt PREC de waarschijnlijkheid dat het abnormale gedrag een exploit is. Zodra PREC vaststelt dat de activiteit schadelijk is, wordt deze in de malware-insluitingsmodus geplaatst.Malware-beperking
Indien correct begrepen, maakt malware-beheersing PREC uniek als het gaat om anti-malware van Android. Vanwege de aard van het Android-besturingssysteem kunnen Android-antimalwaretoepassingen geen malware verwijderen of in quarantaine plaatsen omdat elke toepassing zich in een sandbox bevindt. Dit betekent dat de gebruiker de schadelijke app handmatig moet verwijderen door eerst de malware te lokaliseren in het gedeelte Toepassingen van Systeembeheer van het apparaat, vervolgens de statistiekenpagina van de malware-app te openen en op 'Verwijderen' te tikken.
Wat PREC uniek maakt, is wat de onderzoekers een "op vertraging gebaseerd fijnkorrelig insluitingsmechanisme" noemen. Het algemene idee is om verdachte systeemoproepen te vertragen met een pool van afzonderlijke threads. Dit dwingt de exploit om een time-out te krijgen, wat resulteert in de status "Toepassing reageert niet", waarbij de app uiteindelijk wordt afgesloten door het Android-besturingssysteem.
PREC zou kunnen worden geprogrammeerd om de threads van de systeemoproep te doden, maar het kan de normale toepassingshandelingen onderbreken als de anomaliedetector een fout maakt. In plaats van dat te riskeren, voegen de onderzoekers een vertraging in tijdens de uitvoering van de thread.
"Onze experimenten tonen aan dat de meeste root-exploits niet meer effectief zijn nadat we de kwaadaardige native thread tot een bepaald punt hebben vertraagd. De op vertraging gebaseerde aanpak kan de valse alarmen beter afhandelen, omdat de goedaardige toepassing niet zal crashen of wordt beëindigd vanwege tijdelijke valse valse alarmen ', legt de krant uit.
Test resultaten
Om PREC te evalueren, bouwden de onderzoekers een prototype en testten het tegen 140 apps (80 met native code en 60 zonder native code) - plus 10 apps (vier bekende root-exploit-applicaties van het Malware Genome-project en zes herverpakte root-exploit-applicaties) - dat malware bevatte. De malware omvatte versies van DroidDream, DroidKungFu, GingerMaster, RATC, ZimperLich en GingerBreak.
De resultaten:
- PREC heeft met succes alle geteste root-exploits gedetecteerd en gestopt.
- Het veroorzaakte nul valse alarmen op de goedaardige toepassingen zonder native code. (Traditionele schema's genereren 67-92% valse alarmen per app.)
- PREC verlaagde het aantal valse alarmen op de goedaardige toepassingen met native code met meer dan één orde van grootte vergeleken met traditionele anomalie-detectiealgoritmen
Voordelen van PREC
Naast het goed presteren in de tests en het doorsturen van een werkbare methode om Android-malware te bevatten, had PREC beslist betere cijfers als het ging om valse positieven en prestatieverlies. Wat betreft de prestaties, verklaarde de krant dat PREC's "geclassificeerde bewakingsschema minder dan 1% overhead oplegt, en het SOM-anomalie-detectie-algoritme tot 2% overhead oplegt. Over het algemeen is PREC lichtgewicht, wat het praktisch maakt voor smartphoneapparaten."
Huidige malwaredetectiesystemen die door app-winkels worden gebruikt, zijn niet effectief. PREC biedt een hoge mate van detectienauwkeurigheid, een laag percentage valse alarmen en malware-insluiting - iets dat momenteel niet bestaat.
De uitdaging
De sleutel om PREC aan het werk te krijgen is buy-in van de app-marktplaatsen. Het is gewoon een kwestie van het maken van een database die beschrijft hoe een applicatie normaal presteert. PREC is een hulpmiddel dat kan worden gebruikt om dat te bereiken. Wanneer een gebruiker vervolgens een gewenste applicatie downloadt, gaat de prestatie-informatie (PREC-profiel) met de app mee en wordt deze gebruikt om het gedrag van de app te baselineen terwijl deze op het Android-apparaat is geïnstalleerd.