Sandkasse
Om sandkasseteknologien
En sandkasse er et system til detektion af malware, der kører et mistænkeligt objekt i en virtuel maskine (VM) med et fuldt udstyret operativsystem og detekterer objektets ondsindede aktivitet ved at analysere dets adfærd. Hvis objektet eksekverer ondsindede handlinger i en VM, registrerer sandkassen det som malware. VM'er isoleres fra den reelle virksomhedsinfrastruktur.
Sandkasser analyserer et objekts opførsel under dets eksekvering, hvilket gør dem meget effektive mod malware, der undslipper statisk analyse. Samtidig er en sandkasse mere sikker sammenlignet med andre adfærdsanalysedesign, da den ikke risikerer at køre et mistænkeligt objekt i den reelle virksomhedsinfrastruktur.
Kaspersky Sandbox
Vi udviklede vores egen sandkasse for nogle år siden. I vores infrastruktur er det et af værktøjerne til malwareanalyse, forskning og oprettelse af antivirale databaser. En sandkasse er også en del af Kaspersky Anti-Targeted Attack Platform og Kaspersky Threat Intelligence Platform. Den hjælper med at bedømme filer og webadresser som ondsindede eller godartede og giver oplysninger om deres aktivitet, der er nyttige til at oprette detektionsregler og algoritmer.
Sandkassens funktioner
- Sandkassen er baseret på hardwarevirtualisering, hvilket gør den hurtig og stabil.
- VM'er er tilgængelige for:
- Windows OS (alle versioner af den personlige computer fra og med Windows XP og alle serverversioner fra og med Windows Server 2003),
- Android OS (x86, ARM-processorarkitektur).
- Sandkassen overvåger samspillet mellem den udforskede proces og operativsystemet. I mistænkelige tilfælde graver sandkassen dybere ned i processen.
- Sandkassen muliggør udnyttelsesdetektion begyndende fra de tidlige faser af udnyttelsen. Den registrerer typisk udnyttelsesadfærd som f.eks. forbrug af ROP chain, heap spraying, stakdrejning, ændringer i sikkerhedstoken, mistænkelige ændringer i hukommelsesbeskyttelse og andet. Sandkassen er i stand til at opdage selv avancerede udnyttelser, der anvendes i målrettede angreb.
Objekttyper, der kan udføres
- Windows: alle filer, for eksempel: *.exe, *.dll, .NET-objekter, MS Office-filer, PDF-filer.
- Android: APK (DEX).
- Webadresser: Sandkassen går til en webadresse og registrerer følgende hændelser: downloads, JavaScript, Adobe Flash-udførelse og andre.
Workflow for registrering af malware
- Sandkassen modtager en anmodning om at scanne et objekt (en fil eller en webadresse) fra en anden sikkerhedsløsningskomponent med instruktioner: OS og konfigurationen til at køre objektet, objektets udførelsesparametre, andre tredjepartsprogrammer installeret i VM'en, testfristen mv.
- Det testede objekt eksekveres.
- Sandkassen indsamler artefakter i løbet af det angivne tidsrum. Hvis objektet interagerer med andre processer eller webadresser med kendt omdømme, opfanger sandkassen dette.
- Sandkassen analyserer artefakter og leverer sin dom til det anmodende system: malware eller godartet. Sandkassen føjer objektets data til dommen (id, funktioner, logfiler, adfærdsdetaljer), hvilket kan hjælpe med yderligere analyse uden behov for at sende en ny anmodning til sandkassen.
Artefakter, som er indsamlet af sandkassen
- Logfiler over programeksekvering (API-funktionskald med deres parametre, kørselshændelser)
- Hukommelsesdumpfiler
- Indlæste moduldumpfiler
- Ændringer i filsystem, registreringsdatabase
- Netværkstrafik (PCAP-filer)
- Skærmbilleder (for lettere revision og manuel analyse, hvis det er nødvendigt)
- Artefakter for udnyttelsesaktivitet
Forebyggelse af unddragelse
Det er typisk adfærd for nutidens malware at forsøge at opdage og unddrage sig en sandkasse. Når malwaren ved, at den kører i en sandkasse, kan den springe over at eksekvere den ellers planlagte ondsindede aktivitet, slette sig selv fra diske, afslutte sig selv eller bruge en anden unddragelsesteknik.
Et enklere design af sandkasseovervågning af hardware (f.eks. hooking af API-funktioner) ville efterlade spor, der tyder på, at en mistænkelig proces bliver overvåget. Så vi implementerede i stedet andre overvågningsteknikker, der er ikke-påtrængende og ikke efterlader sig spor, som er synlige for det scannede objekt. Sandkassen styrer CPU og RAM, men ændrer ikke proceshandling, hukommelse, systembiblioteker på disken og i hukommelsen og efterlader sig ingen spor af overvågning.
Vi holder også øje med fremkomsten af nye unddragelsesteknikker og justerer vores sandkasse for at modvirke dem, f.eks.:
Unddragelse A: Sandkassemiljøet er typisk for et kendt sandkassemærke. Malwaren genkender det og undgår detektion.
Modvirkende handling for unddragelse A: Vores sandkasse randomiserer VM-miljøet før start af VM'en.
Unddragelse B: Malware kan registrere sandkassemiljøet gennem mangel på brugeraktivitet. For at nogle malwares kan køre, skal brugeren indtaste en adgangskode fra en e-mail, klikke sig gennem en guide eller udføre andre "menneskelige" handlinger. Mange sandkasser emulerer ikke dette og ser derfor ikke, at malwaren detonerer.
Modvirkende handling for unddragelse B: Vores sandkasse emulerer brugerhandlinger: f.eks. musebevægelser og rulning af dokumenter, der åbnes. Vores sandkasse udfører også mange handlinger, som brugerne skal udføre for at aktivere malware.
Angreb afsløret med Kaspersky Sandbox
Eksempler på nye bølger af målrettede angreb afdækket med sandkasser i Kasperskys infrastrukturprodukter i 2016-2017: Sofacy (okt 2017), Zero.T (okt., nov. 2016, apr. 2017), Enfal (sep., okt., nov. 2016), Freakyshelly (okt. 2016), NetTraveller (aug. 2016), CobaltGoblin (aug. 2016), Microcin (jun. 2016) og andre.
Relaterede produkter
Kaspersky Anti Targeted Attack Platform
Cybersecurity Services
Kaspersky Endpoint Detection and Response
Relaterede teknologier
Article
“A simple example of a complex cyberattack” captured by Sandbox
Article
Vulnerable driver: lesson almost learned. How not to use a driver to execute code with kernel privileges.
Article
A Modern Hypervisor as a Basis for a Sandbox