Emulator
Om kodeemuleringsteknologi
Kodeemuleringsmetoden til detektion af malware scanner en fils adfærd ved at emulere dens eksekvering i et virtuelt (emuleret) miljø. Generelt svarer denne tilgang til malwaredetektion i en sandkasse, men emulering og komplet sandkasseeffekt er forskellige i detaljer om design og anvendelse. Lad os se nærmere på forskellen.
En komplet sandkasse er i modsætning til en emulator en "sværvægts"-metode. Den emulerer hele miljøet og kører en scannet prøve i en virtuel maskine med et rigtigt operativsystem (OS) og med programmer installeret. Som følge heraf kræver denne metode høj beregningskraft og medfører kompatibilitetsbegrænsninger på værtssystemet. Af denne grund er en sandkasse mest effektiv i centraliserede, lokalt baserede og cloudbaserede løsninger. Den er ikke egnet til malwaredetektion på brugerværter og andre almindelige computere.
En emulator emulerer kun eksekveringen af selve prøven. Den opretter midlertidigt objekter, som prøven interagerer med: adgangskoder, som et stykke malware ønsker at stjæle, antivira, som den vil bruge til at forsøge at stoppe hukommelse, systemregistreringsdatabase og så videre. Disse objekter er ikke rigtige dele af operativsystemet eller softwaren, men efterligninger, som er lavet af emulatoren. Dens kontrol over det emulerede miljø gør det muligt for emulatoren at fremskynde tiden, være vidne til fremtidig filadfærd og dermed forhindre malware, som opererer med unddragelse gennem tidsforsinkelse.
En emulator bestemmer væsentlige funktioner i en scannet fil, mens der bruges langt færre ressourcer end en sandkasse, og den er velegnet til brugerværter. Eksekvering af ukendte filer udskydes normalt, indtil de scannes med en emulator. Emuleringsmetoden er ikke ny, men nogle emulatorer er meget avancerede, og deres andel inden for malwaredetektion er ganske betydelig. Nutidens emulatorer er udstyret med cloudbaserede omdømmetjenester, og deres effektivitet styrkes af maskinel indlæring.
Kaspersky Emulator
Vores løsninger omfatter en emulator som en forsvarslinje i en flerlags tilgang til beskyttelse. Den emulerer binære filer og scripts, og vigtigheden af sidstnævnte vokser med den stigende popularitet af scriptbaserede, filløse angreb.
Emulering optimeres til begrænsede computerressourcer. Den optager meget mindre RAM pr. objekt end en sandkasse og scanner samtidig mange objekter uden at belaste systemet væsentligt. På grund af hardwareacceleration bruger emulering processoren sikkert til at accelerere scanningen omkring 20 gange.
Vores løsninger starter emuleringsscanning "efter behov", når en bruger anmoder om en diskscanning, eller "ved adgang", når et objekt scannes automatisk, før det åbnes eller eksekveres. Emulering kan starte parallelt med andre detektionsmetoder, f.eks. anmodninger om procesomdømme i clouden.
Emulatorer implementeres i Kasperskys slutpunktsløsninger, løsninger på gatewayniveau (f.eks. proxy- og e-mailservere) og i virtualiseringsmiljøbeskyttelse. I Kasperskys infrastruktur er kraftige emulatorer en del af objektklassificeringsprocessen.
Emulatorens opgaver:
- Emulering af eksekvering af alle eksekverbare filer (PE): *.exe, *.dll, *.sys og andre i Windows-miljøet.
- Behandling af JavaScript-, VBScript- og AutoIT-scripttyper, enkeltstående scripts (downloadet som filer).
- Scanning af scripts, som er modtaget via et weblink (på en webside, i en e-mail, i en meddelelse), indlejret i PDF- og MS Office-filer.
Opdateringer
Emuleringsteknologien implementeres med en emuleringskerne og detektionsoptegnelser, som analyserer de data, der leveres af kernen. Posterne oprettes i Kaspersky, og opdateringer downloades af løsninger hver time. En registreringspost kan detektere mange forskellige malwareprøver med forskelligt binært indhold, men med lignende adfærd.
Workflow for registrering af malware
- Emulatoren modtager en anmodning om at scanne et objekt (en eksekverbar fil eller et script) fra en anden komponent i en sikkerhedsløsning.
- Emulatoren eksekverer sikkert objektets instruktioner en efter en i et virtuelt miljø, begyndende fra objektets indgangspunkt. Hvis en instruktion interagerer med miljøet (OS, registreringsdatabasen, andre filer, web, hukommelse osv.), efterligner emulatoren svar fra disse objekter.
- Emulatoren samler artefakter og sender dem til den heuristiske analysator. Analysatoren afsiger en dom baseret på disse artefakter til den komponent, der anmodede om analysen.
- Emuleringen stopper, når der er tilstrækkeligt med artefakter til at detektere malware eller på grund af en timeout.
Artefakter indsamlet af emulatoren
For eksekverbare filer (binære filer):
- API-opkaldslog
- Alle ændringer i filsystem, systemregister
- Hukommelsesdumpfiler
For scripts:
- Argumenter og returnering af strenghandlinger
- Opkald af integrerede funktioner og funktioner leveret af miljøet
- Begivenheder
- Lagring på filsystemet og underordnede scripts
Forebyggelse af unddragelse
Avancerede malwareforfattere udstyrer deres malware med funktioner for at forhindre detektion i emulering. Vores emulator sporer og modvirker disse nye unddragelsesteknikker. Eksempler:
Unddragelse A: Før eksekveringen skal malwaren pakkes ud. Dette kræver meget beregningstid og er normalt nok til at undgå detektion via emuleringstimeout.
Modvirkende handling for unddragelse A: Emulatoren genkender pakkede filer og justerer emuleringsdybden i overensstemmelse hermed. Hardwareacceleration giver emulatoren tilstrækkelig strøm til at passere under udpakning.
Unddragelse B: Inden en skadelig nyttelast eksekveres, kan malwaren opnå adgang til webressourcer eller parametre i miljøet (f.eks. computernavn, diskstørrelse) og kontrollere, om de er tilgængelige og meningsfulde. Hvis den ikke får noget meningsfuldt svar, vil malwaren ikke eksekvere sin nyttelast og vil dermed undgå detektion..
Modvirkende handling for unddragelse B: På den scannede fils anmodninger efterligner emulatoren oplysninger om miljøet og systemressourcerne, hvilket gør den så meningsfuld som muligt. For eksempel randomiserer den computernavne, så malware muligvis ikke bruger bestemte computernavne som et signal om at køre i en emulering
Relaterede produkter
Relaterede teknologier
Sandkasse
Adfærdsbaseret beskyttelse
Tilgang til sikkerhed i flere lag
ARTICLE
A Modern Hypervisor as a Basis for a Sandbox
ARTICLE
“The evolution of technologies used to...