Emulator

Om kodeemuleringsteknologi
Kodeemuleringsmetoden for å oppdage skadelig programvare skanner atferden til en fil ved å emulere utførelsen av filen i et virtuelt (emulert) miljø. Generelt ligner denne metoden på sandkassemetoden for å oppdage skadelig programvare, men emulering skiller seg fra fullverdig sandkasseteknologi når det kommer til enkelte detaljer innen utforming og bruk. La oss se nærmere på hva som skiller dem fra hverandre.
En sandkasse med alle funksjoner, i motsetning til en emulator, er en «kraftig» metode. Den emulerer hele miljøet og kjører en skannet prøve i en virtuell maskin med et ekte operativsystem (OS) og programmer installert. Som følge av dette krever denne metoden stor databehandlingskraft og innebærer kompatibilitetsbegrensninger for vertssystemet. Derfor er sandkasser mest effektive i sentraliserte lokale og skybaserte løsninger. De egner seg ikke for å oppdage skadelig programvare på brukerverter og andre vanlige datamaskiner.
En emulatoremulerer bare utførelsen av selve prøven. Den oppretter midlertidige objekter som prøven samhandler med: passord skadelig programvare vil ønske å stjele, antivirusprogrammer den vil prøve å stoppe, minne, systemregister og så videre. Disse objekter er ikke virkelige deler av operativsystemet eller programvaren, men etterligninger som er laget av emulatoren. Emulatorens kontroll over det emulerte miljøet gjør at den kan spole forover i tid, observere fremtidig filatferd og forhindre at skadelig programvare oppnår unnvikelse gjennom tidsforsinkelse.
En emulator identifiserer de nødvendige atferdsegenskapene til filen som skannes, samtidig som den bruker langt færre ressurser enn en sandkasse, og den er velegnet for brukerverter. Utførelse av ukjente filer utsettes vanligvis til de er skannet med en emulator. Emuleringsmetoden er ikke ny, men noen emulatorer er svært avanserte, og de brukes i betydelig omfang til å oppdage skadelig programvare. Dagens emulatorer støttes av skybaserte omdømmetjenester, og effektiviteten har fått et løft med maskinlæring.
Kaspersky Emulator
Løsningene våre omfatter en emulator som én forsvarslinje i en flerlagsmetode for beskyttelse. Den emulerer binærfiler og skript, og sistnevnte blir stadig viktigere etter hvert som skriptbaserte filløse angrep blir mer og mer populære.
Emulering er optimalisert for begrensede datamaskinressurser. Det bruker langt mindre RAM per objekt enn en sandkasse og skanner mange objekter samtidig uten å belaste systemet i betydelig grad. Takket være maskinvareakselerasjon kan emulatoren bruke prosessoren til å akselerere skanningen 20 ganger på en trygg måte.
Løsningene våre starter emuleringsskanning «ved behov», når en bruker ber om en diskskanning, eller «ved tilgang», når et objekt skannes automatisk før det åpnes eller utføres. Emuleringen kan starte parallelt med andre oppdagelsesmetoder, som forespørsler om prosessomdømme i nettskyen.
Emulatorer er implementert i Kasperskys endepunktløsninger, løsninger på gateway-nivå (f.eks. proxy- og e-postservere) og beskyttelse for virtualiseringsmiljøer. I Kasperskys infrastruktur er kraftige emulatorer en del av prosessen for objektklassifisering.
Emulatoroppgaver:
- Emulerer utførelse av kjørbare filer (PE): *.exe, *.dll, *.sys med flere i et Windows-miljø.
- Behandler JavaScript-, VBScript- og AutoIT-skripttyper og frittstående skript (lastet ned som filer).
- Skanner skript som er mottatt via en kobling (på en nettside, i en e-post eller i en melding), eller er innebygd i PDF- og MS Office-filer.
Oppdateringer
Emuleringsteknologien implementeres med en emuleringskode og oppdagelsesregistreringer, som analyserer dataene fra kjernen. Registreringene opprettes hos Kaspersky, og oppdateringer blir lastet ned av løsningene hver time. Nå kan én registrering oppdage mange forskjellige prøver av skadelig programvare med forskjellig binært innhold, men med lignende atferd.
Arbeidsflyt for oppdagelse av skadelig programvare
- Emulatoren mottar en forespørsel om å skanne et objekt (en kjørbar fil eller et skript) fra en annen komponent i en sikkerhetsløsning.
- Emulatoren utfører objektets instrukser én etter én i et trygt virtuelt miljø fra og med objektets inngangspunkt. Hvis en instruks samhandler med miljøet (OS, register, andre filer, Internett, minne osv.), etterligner emulatoren responsen fra disse objektene.
- Emulatoren samler inn elementer og videresender dem til heuristikkanalysatoren. Analysatoren sender en vurdering basert på disse elementene til komponenten som ba om analysen.
- Emuleringen stopper når det finnes nok elementer til å oppdage skadelig programvare, eller ved tidsavbrudd.
Elementer som samles inn av emulatoren
For kjørbare filer (binærfiler):
- Logg over API-kall
- Alle endringer i filsystemet, systemregisteret
- Minnedumper
For skript:
- Argumenter og returer for strengoperasjoner
- Kall for innebygde funksjoner og funksjoner som leveres av miljøet
- Hendelser
- Deponeringer til filsystemet og underordnede skript
Forhindring av unnvikelse
Avanserte utviklere av skadelig programvare bygger inn funksjoner for å forhindre at den blir oppdaget ved emulering. Emulatoren vår sporer og motvirker disse nye unnvikelsesteknikkene. Eksempler:
Unnvikelse A:Før den skadelige programvaren utføres, må den pakkes ut. Dette tar opp mye databehandlingstid og er vanligvis nok til å unngå å bli oppdaget fordi emuleringen blir tidsavbrutt.
Anti-unnvikelse A:Emulatoren gjenkjenner filer som er pakket inn, og justerer emuleringsdybden tilsvarende. Maskinvareakselerasjon gir emulatoren nok kraft til at utpakkingen kan fullføres.
Unnvikelse B:Før den skadelige nyttelasten utføres, kan den skadelige programvaren få tilgang til Internett-ressurser eller parametere for miljøet (f.eks. datamaskinnavn, diskstørrelse) og kontrollere om de er tilgjengelige og relevante. Hvis den skadelige programvaren ikke ser noen relevant respons, vil den ikke utføre nyttelasten og unnviker dermed å bli oppdaget.
Anti-unnvikelse B:Basert på forespørslene fra filen som skannes, etterligner emulatoren informasjon om miljøet og systemressurser og gjør den så relevant som mulig. Den randomiserer for eksempel datamaskinnavn slik at den skadelige programvaren ikke kan bruke spesifikke datamaskinnavn som et signal på at den kjører i en emulering.
Relaterte produkter
Uavhengige sammenligningsresultater
Relaterte teknologier

Flerlagsmetode for sikkerhet

Sandkasse
