Begränsat läge (sandbox)
Tekniken bakom begränsat läge (sandbox)
Begränsade lägen är ett system som kan användas för identifiering av skadlig programvara. De misstänkta objekten körs via en virtuell maskin med ett fullt fungerande operativsystem för att analysera beteendet hos eventuella skadliga aktiviteter. De objekt som utför skadliga åtgärder i den virtuella maskinen klassas som skadlig programvara i det begränsade läget. Virtuella maskiner är separerade från den riktiga infrastrukturen för verksamheten.
I det begränsade läget analyseras beteendet av det objekt som körs och gör det svårare för skadlig programvara att kringgå statisk analys. Jämfört med andra beteendeanalysmetoder är ett begränsat läge ett säkrare alternativ eftersom det inte finns någon risk för att misstänkta objekt tar sig in i den riktiga verksamhetsstrukturen.
Kaspersky Sandbox
Vi utvecklade vårt begränsade läge för några år sedan. Detta är ett av våra verktyg för att analysera och undersöka skadlig programvara och skapa databaser med information som hjälper till att förhindra virus. Begränsat läge är del av Kaspersky Anti-Targeted Attack Platform och Kaspersky Threat Intelligence Platform. Lösningen används för bedömning av skadliga eller ofarliga filer och URL-adresser samt samlar in information som kan användas för att skapa identifieringsregler och -algoritmer.
Funktioner i begränsat läge
- Det begränsade läget baseras på en virtuell maskinvara som både är snabb och stabil.
- Virtuella maskiner kan användas med:
- Windows-operativsystem (alla versioner av privata dator från Windows XP och samtliga serverversioner sedan Windows Server 2003)
- Android-operativsystem (x86, arkitekturer med ARM-processorer).
- Kommunikationen mellan processen som ska undersökas och operativsystemet övervakas av det begränsade läget för en mer djupgående undersökning.
- Med hjälp av ett begränsat läge kan du identifiera och förhindra intrång redan på ett tidigt stadium. Tekniken upptäcker tecken på utnyttjande som ROP-kedjor, heap spraying, ändrade stackriktningar (stack pivoting), ändringar i säkerhetstoken, misstänkta säkerhetsändring i minnet med mera. Även avancerade hot som används i riktade attacker kan identifieras i det begränsade läget.
Följande objekttyper kan köras:
- Windows: alla filtyper (*.exe, *.dll, .NET-objekt, MS Office-filer, PDF:er m.m.)
- Android: APK (DEX)
- URL-adresser: hämtningar, körning av JavaScript och Adobe Flash m.m. identifieras i det begränsade läget.
Arbetsflöde vid identifiering av skadlig programvara
- En begäran att skanna ett objekt (fil eller URL-adress) skickas från en säkerhetslösningskomponent till det begränsade läget med tillhörande instruktioner: operativsystem och körningskonfiguration för objektet, vilka parametrar som ska tillämpas vid körning av objektet, tredjepartsprogram som är installerade i den virtuella maskinen, testets varaktighet osv.
- Körning av testobjekt utförs.
- Felaktigheter samlas in av det begränsade läget under testets gång. All kommunikation mellan objektet och övriga processer eller URL-adresser med kända rykten samlas in av det begränsade läget.
- Felaktigheterna analyseras och bedömningen om objektet är skadligt eller ofarligt skickas till systemet som skickat begäran. Objektdata som ID, funktioner, loggar och beteendeinformation anges i det begränsade läget och skickas vidare för ytterligare analys automatiskt.
Följande felaktigheter samlas in av det begränsade läget:
- programkörningsloggar (API-funktionsanrop med tillhörande parametrar och körningshändelser)
- minnesdumpar
- dumpar av överförda moduler
- ändringar i filsystem och arkiv
- nätverkstrafik (PCAP-filer)
- skärmdumpar (underlättar vid granskning och manuell analys)
- felaktigheter relaterade till sårbarhetsutnyttjande
skydd mot undvikande beteenden.
Många av dagens skadliga koder försöker att kringgå begränsade lägen. Om den skadliga programvaran är medveten om att ett begränsat läge används kan den hoppa över alla former av skadlig aktivitet, rensa bort egna filer från diskarna, avsluta all aktivitet eller använda någon annan metod för att inte avslöjas.
Enklare övervakningsformer av maskinvara i begränsade lägen (som koppling av API-funktioner) kan efterlämna spår som varnar den skadliga programvaran om att den övervakas. Vi har därför utformat mindre påträngande övervakningsmetoder som inte är lika lätta för det skannade objektet att upptäcka. CPU- och RAM-funktioner kontrolleras i det begränsade läget men inga process- och minnesuppgifter eller systemarkiv på disken eller i minnet ändras, vilket innebär att det inte finns några spår av övervakning.
Vi håller koll på den senaste tekniken som används för att kringgå övervakning och uppdaterar vårt begränsade läge med motåtgärder. Se följande exempel:
Undvikande beteende A: Miljön för det begränsade läget är typisk för den specifika säkerhetslösningsleverantören. Den skadliga programvaran känner igen den välbekanta miljön och kringgår identifiering.
Motåtgärd A: En slumpmässigt vald miljö används för den virtuella maskinen i det begränsade läget.
Undvikande beteende B: Den skadliga programvaran upptäcker att miljön är del av ett begränsat läge på grund av brist på användaraktivitet. En del skadliga programvaror är beroende av att användaren utför "mänskliga" handlingar som att använda ett lösenord som skickats via e-post, användning av snabbguider m.m. Detta återskapas sällan inom begränsade lägen och därför aktiveras ingen skadlig aktivitet.
Motåtgärd B: Vi återskapar användaraktiviteter i våra begränsade lägen som musrörelser, bläddring av dokument m.m. Även andra vanliga användaraktiviteter utförs för att aktivera den skadliga programvaran.
Attacker som upptäckts med hjälp av Kaspersky Sandbox
Här följer några exempel på riktade attacker på infrastrukturer under 2016–2017 som identifierades med hjälp av begränsade lägen i Kaspersky-produkterna: Sofacy (okt 2017), Zero.T (okt–nov, 2016, apr 2017), Enfal (sep–nov, 2016), Freakyshelly (okt 2016), NetTraveller (aug 2016), CobaltGoblin (aug 2016), Microcin (jun 2016) m.m.