Indholdsfortegnelse:
- En ny drejning til en gammel tilgang
- Anomali-detektion
- Malware-indeslutning
- Test resultater
- Fordele ved PREC
- Udfordringen
Android-applikationsmarkeder er en praktisk måde for brugere at få apps. Markederne er også en bekvem måde for onde at levere malware. Markedsejere prøver deres ære at snuppe dårlige apps ved hjælp af sikkerhedsforanstaltninger som Google Bouncer. Desværre er de fleste - inklusive Bouncer - ikke op til opgaven. De dårlige fyre regnede næsten med det samme ud, hvordan man fortæller, når Bouncer, et emuleringsmiljø, testede deres kode. I et tidligere interview forklarede Jon Oberheide, medstifter af Duo Security og den person, der underrettede Google om problemet:
"For at gøre Bouncer effektiv, skal det kunne skelnes fra en reel brugers mobile enhed. Ellers vil en ondsindet applikation kunne bestemme, at den kører med Bouncer, og ikke udføre dens ondsindede nyttelast."
En anden måde, dårlige fyre narrer Bouncer er ved at bruge en logikbombe. Gennem deres historie har logiske bomber skabt ødelæggelse på computerenheder. I dette tilfælde modvirker logisk bombe-kode roligt malware-brikker, ligesom Bouncer's manglende aktivering af nyttelasten, indtil den ondsindede app installeres på en faktisk mobil enhed.
Den nederste linje er, at Android-appmarkeder, medmindre de bliver effektive til at opdage malware-nyttelast i apps, faktisk er et stort distributionssystem for malware.
En ny drejning til en gammel tilgang
North Carolina State University-forskerteam fra Tsung-Hsuan Ho, Daniel Dean, Xiaohui Gu og William Enck kan have fundet en løsning. I deres papir PREC: Practical Root Exploit Conception til Android-enheder introducerede forskerteamet deres version af en anomali-detekteringsplan. PREC består af to komponenter: en, der fungerer med app-butiks malware-detektor, og en, der downloades med applikationen til den mobile enhed.
App store-komponenten er unik, idet den bruger det, som forskerne kalder "klassificering af systemopkaldsovervågning." Denne tilgang kan dynamisk identificere systemopkald fra komponenter med høj risiko som tredjepartsbiblioteker (dem, der ikke er inkluderet i Android-systemet, men som følger med den downloadede applikation). Logikken her er, at mange ondsindede apps bruger deres egne biblioteker.
Systemopkald fra den høje risiko tredjepartskode, der er opnået fra denne overvågning, plus de data, der er opnået fra app-store-detekteringsprocessen, giver PREC mulighed for at oprette en normal opførselsmodel. Modellen uploades til PREC-tjenesten sammenlignet med eksisterende modeller for nøjagtighed, overhead og robusthed over for mimikeangreb.
Den opdaterede model er derefter klar til at blive downloadet med applikationen, når som helst appen anmodes om af nogen, der besøger app store.
Det betragtes som overvågningsfasen. Når PREC-modellen og applikationen er downloadet til Android-enheden, går PREC ind i håndhævelsesstadiet - med andre ord anomalidetektion og malware-indeslutning.
Anomali-detektion
Når appen og PREC-modellen er koblet sammen på Android-enheden, overvåger PREC tredjepartskoden, specifikt systemopkald. Hvis systemopkaldssekvensen er forskellig fra den, der overvåges i app-butikken, bestemmer PREC sandsynligheden for, at den unormale opførsel er en udnyttelse. Når PREC har konstateret, at aktiviteten er ondsindet, flytter den til malware-indeslutningstilstand.Malware-indeslutning
Hvis det forstås korrekt, gør malwareindeslutning PREC unik, når det kommer til Android-anti-malware. På grund af Android-operativsystemets art er Android-anti-malware-applikationer ikke i stand til at fjerne malware eller placere det i karantæne, fordi alle applikationer findes i en sandkasse. Dette betyder, at brugeren manuelt skal fjerne den ondsindede app ved først at finde malware i applikationsafsnittet i enhedens Systemadministrator, derefter åbne malware-appens statistikside og trykke på "afinstallere".
Det, der gør PREC unik, er hvad forskerne kalder en "forsinkelsesbaseret finkornet indeslutningsmekanisme." Den generelle idé er at bremse mistænkelige systemopkald ved hjælp af en pulje af separate tråde. Dette tvinger udnyttelsen til at timeout. Dette resulterer i en "Application Not Responding" -status, hvor appen i sidste ende lukkes af Android-operativsystemet.
PREC kan programmeres til at dræbe systemopkaldstrådene, men det kan muligvis ødelægge normale applikationsoperationer, hvis afvikelsesdetektoren laver en fejl. I stedet for at risikere det, indsætter forskerne en forsinkelse under trådens udførelse.
"Vores eksperimenter viser, at de fleste rodudnyttelser bliver ineffektive, efter at vi bremser den ondsindede oprindelige tråd til et bestemt punkt. Den forsinkelsesbaserede tilgang kan håndtere de falske alarmer mere yndefuldt, da den godartede applikation ikke vil lide af nedbrud eller afslutning på grund af forbigående falsk alarmer, "forklarer papiret.
Test resultater
For at evaluere PREC byggede forskerne en prototype og testede den mod 140 apps (80 med native kode og 60 uden native code) - plus 10 apps (fire kendte root exploit-applikationer fra Malware Genome-projektet og seks genpakket root exploit-applikationer) - der indeholdt malware. Malware inkluderet versioner af DroidDream, DroidKungFu, GingerMaster, RATC, ZimperLich og GingerBreak.
Resultaterne:
- PREC detekterede og stoppede alle testede rodudnyttelser med succes.
- Det rejste nul falske alarmer på de godartede applikationer uden indbygget kode. (Traditionelle ordninger hæver 67-92% pr. App falske alarmer.)
- PREC reducerede den falske alarmhastighed på de godartede applikationer med indfødt kode med mere end en størrelsesorden over traditionelle anomali-detekteringsalgoritmer
Fordele ved PREC
Udover at have fungeret godt i testene og videresendt en brugbar metode til at indeholde Android-malware, havde PREC afgjort bedre antal, når det gjaldt falske positive og tab af ydeevne. Hvad angår ydeevne, anførte papiret, at PRECs "klassificerede overvågningsplan pålægger mindre end 1% overhead, og SOM-anomali-detekteringsalgoritmen pålægger op til 2% overhead. I alt er PREC let, hvilket gør det praktisk for smartphone-enheder."
Nuværende malware-detekteringssystemer, der bruges af app-butikker, er ineffektive. PREC giver en høj grad af detekteringsnøjagtighed, en lav procentdel af falske alarmer og malware-indeslutning - noget, der ikke findes i øjeblikket.
Udfordringen
Nøglen til at få PREC til at arbejde er buy-in fra app-markedspladserne. Det er bare et spørgsmål om at oprette en database, der beskriver, hvordan en applikation fungerer normalt. PREC er et værktøj, der kan bruges til at opnå det. Når en bruger derefter downloader et ønsket program, følger performanceoplysningen (PREC-profilen) med appen og bruges til at basere appens opførsel, mens den er installeret på Android-enheden.