Dela via


Fillösa hot

Vad exakt är fillösa hot? Termen "fillös" tyder på att ett hot inte kommer i en fil, till exempel en bakdörr som bara finns i minnet av en dator. Det finns dock ingen definition för fillös skadlig kod. Termen används brett och ibland för att beskriva familjer med skadlig kod som förlitar sig på filer för att fungera.

Attacker omfattar flera steg för funktioner som körning, beständighet eller informationsstöld. Vissa delar av attackkedjan kan vara fillösa, medan andra kan omfatta filsystemet i någon form.

För tydlighetens skull grupperas fillösa hot i olika kategorier.

Omfattande diagram över fillös skadlig kod.
Bild 1. Omfattande diagram över fillös skadlig kod

Fillösa hot kan klassificeras efter startpunkten, vilket anger hur fillös skadlig kod kan komma till en dator. De kan tas emot via en exploatering, via komprometterad maskinvara eller via regelbunden körning av program och skript.

Därefter listar du startpunktens form. Kryphål kan till exempel baseras på filer eller nätverksdata, PCI-kringutrustning är en typ av maskinvaruvektor och skript och körbara filer är underkategorier till körningsvektorn.

Klassificera slutligen infektionens värd. Ett Flash-program kan till exempel innehålla en mängd olika hot, till exempel en exploatering, en enkel körbar och skadlig inbyggd programvara från en maskinvaruenhet.

Genom att klassificera kan du dela upp och kategorisera de olika typerna av fillösa hot. Vissa är farligare men också svårare att implementera, medan andra används oftare trots att (eller just på grund av) inte är särskilt avancerade.

Från den här kategoriseringen kan du samla in tre huvudtyper av fillösa hot baserat på hur mycket fingeravtryck de kan lämna på infekterade datorer.

Typ I: Ingen filaktivitet har utförts

En helt fillös skadlig kod kan betraktas som en som aldrig kräver att en fil skrivs på disken. Hur skulle sådan skadlig kod infektera en dator i första hand? Ett exempel är när en måldator tar emot skadliga nätverkspaket som utnyttjar EternalBlue-sårbarheten. Säkerhetsrisken tillåter installation av DoublePulsar-bakdörren, som endast finns i kernelminnet. I det här fallet finns det ingen fil eller några data skrivna på en fil.

En komprometterad enhet kan också ha skadlig kod som döljer sig i enhetens inbyggda programvara (till exempel en BIOS), en USB-kringutrustning (till exempel BadUSB-attacken) eller i den inbyggda programvaran för ett nätverkskort. Alla dessa exempel kräver inte att en fil på disken körs och kan teoretiskt sett bara leva i minnet. Den skadliga koden skulle överleva omstarter, diskomformateringar och ominstallationer av operativsystemet.

Infektioner av den här typen kan vara särskilt svåra att upptäcka eftersom de flesta antivirusprodukter inte har möjlighet att inspektera inbyggd programvara. I de fall där en produkt har möjlighet att inspektera och identifiera skadlig inbyggd programvara finns det fortfarande betydande utmaningar med att åtgärda hot på den här nivån. Den här typen av fillös skadlig kod kräver hög sofistikering och är ofta beroende av viss maskinvaru- eller programvarukonfiguration. Det är inte en attackvektor som kan utnyttjas enkelt och tillförlitligt. Även om det är farligt är hot av den här typen ovanliga och inte praktiska för de flesta attacker.

Typ II: Indirekt filaktivitet

Det finns andra sätt som skadlig kod kan uppnå fillös närvaro på en dator utan att kräva betydande tekniska ansträngningar. Fillös skadlig kod av den här typen skriver inte filer direkt i filsystemet, men de kan sluta använda filer indirekt. Med poshspy-bakdörrsanfallarna installerade till exempel ett skadligt PowerShell-kommando på WMI-lagringsplatsen och konfigurerade ett WMI-filter för att köra kommandot med jämna mellanrum.

Det går att utföra en sådan installation via kommandoraden utan att kräva att en bakdörr redan finns i filen. Den skadliga koden kan installeras och teoretiskt köras utan att behöva röra filsystemet. WMI-lagringsplatsen lagras dock på en fysisk fil i ett centralt lagringsområde som hanteras av CIM Object Manager och innehåller vanligtvis legitima data. Även om infektionskedjan tekniskt sett använder en fysisk fil betraktas den som en fillös attack eftersom WMI-lagringsplatsen är en datacontainer för flera syften som inte kan identifieras och tas bort.

Typ III: Filer som krävs för att fungera

Viss skadlig kod kan ha en slags fillös beständighet, men inte utan att använda filer för att fungera. Ett exempel för det här scenariot är Kovter, som skapar en gränssnitts öppen verbhanterare i registret för ett slumpmässigt filnamnstillägg. Om du öppnar en fil med ett sådant tillägg körs ett skript via det legitima verktyget mshta.exe.

Bild av Kovters registernyckel.
Bild 2. Kovters registernyckel

När det öppna verbet anropas startas det associerade kommandot från registret, vilket resulterar i körning av ett litet skript. Det här skriptet läser data från ytterligare en registernyckel och kör dem, vilket i sin tur leder till inläsning av den slutliga nyttolasten. Men för att utlösa det öppna verbet i första hand måste Kovter släppa en fil med samma tillägg som verbet (i exemplet ovan är tillägget .bbf5590fd). Den måste också ange en autorun-nyckel som konfigurerats för att öppna en sådan fil när datorn startas.

Kovter anses vara ett fillöst hot eftersom filsystemet inte är till någon praktisk användning. Filerna med slumpmässiga tillägg innehåller skräpdata som inte kan användas för att verifiera förekomsten av hotet. Filerna som lagrar registret är containrar som inte kan identifieras och tas bort om skadligt innehåll finns.

Kategorisera fillösa hot efter infektionsvärd

Efter att ha beskrivit de breda kategorierna kan vi nu gräva i detaljerna och ge en uppdelning av infektionsvärdarna. Den här omfattande klassificeringen beskriver panoramat över vad som vanligtvis kallas fillös skadlig kod. Det driver våra ansträngningar att undersöka och utveckla nya skyddsfunktioner som neutraliserar klasser av attacker och säkerställer att skadlig kod inte får övertaget i kapprustningen.

Utnyttjar

Filbaserad (typ III: körbar fil, Flash, Java, dokument): En första fil kan utnyttja operativsystemet, webbläsaren, Java-motorn, Flash-motorn osv. för att köra ett gränssnitt och leverera en nyttolast i minnet. Även om nyttolasten är fillös är den första inmatningsvektorn en fil.

Nätverksbaserad (typ I): En nätverkskommunikation som utnyttjar en säkerhetsrisk på måldatorn kan uppnå kodkörning i kontexten för ett program eller kärnan. Ett exempel är WannaCry, som utnyttjar en tidigare fast säkerhetsrisk i SMB-protokollet för att leverera en bakdörr i kernelminnet.

Hårdvara

Enhetsbaserad (typ I: nätverkskort, hårddisk): Enheter som hårddiskar och nätverkskort kräver kretsuppsättningar och dedikerad programvara för att fungera. Programvara som finns och körs i kretsuppsättningen på en enhet kallas inbyggd programvara. Även om det är en komplex uppgift kan den inbyggda programvaran infekteras av skadlig kod.

CPU-baserad (typ I): Moderna processorer är komplexa och kan innehålla delsystem som kör inbyggd programvara i hanteringssyfte. Sådan inbyggd programvara kan vara sårbar för kapning och tillåta körning av skadlig kod som skulle fungera inifrån processorn. I december 2017 rapporterade två forskare en säkerhetsrisk som kan göra det möjligt för angripare att köra kod i hanteringsmotorn (ME) som finns i alla moderna PROCESSORer från Intel. Under tiden har angriparen gruppen PLATINUM observerats ha möjlighet att använda Intels Active Management Technology (AMT) för att utföra osynlig nätverkskommunikation, kringgå det installerade operativsystemet. ME och AMT är i princip autonoma mikrodatorer som finns inuti processorn och som fungerar på en mycket låg nivå. Eftersom dessa teknikers syfte är att tillhandahålla fjärrhantering har de direkt åtkomst till maskinvara, är oberoende av operativsystemet och kan köras även om datorn är avstängd.

Förutom att vara sårbara på nivån för inbyggd programvara kan processorer tillverkas med bakdörrar som infogas direkt i maskinvarukretsarna. Denna attack har undersökts och visat sig vara möjlig tidigare. Det har rapporterats att vissa modeller av x86-processorer innehåller en sekundär inbäddad RISC-liknande PROCESSORkärna som effektivt kan tillhandahålla en bakdörr genom vilken vanliga program kan få privilegierad körning.

USB-baserad (typ I): USB-enheter av alla slag kan omprogrammeras med skadlig inbyggd programvara som kan interagera med operativsystemet på skändliga sätt. Till exempel tillåter BadUSB-tekniken att ett omprogrammerad USB-minne fungerar som ett tangentbord som skickar kommandon till datorer via tangenttryckningar eller som ett nätverkskort som kan omdirigera trafik efter behov.

BIOS-baserad (typ I): En BIOS är en inbyggd programvara som körs i en kretsuppsättning. Den körs när en dator är påslagen, initierar maskinvaran och överför sedan kontrollen till startsektorn. BIOS är en viktig komponent som fungerar på en låg nivå och körs före startsektorn. Det är möjligt att omprogrammera BIOS firmware med skadlig kod, vilket har hänt tidigare med Mebromi rootkit.

Hypervisor-baserad (typ I): Moderna processorer ger stöd för hypervisor-maskinvara, vilket gör att operativsystemet kan skapa robusta virtuella datorer. En virtuell dator körs i en begränsad, simulerad miljö och är i teorin omedveten om emulering. En skadlig kod som tar över en dator kan implementera ett litet hypervisor-program som döljer sig utanför det operativsystem som körs. Skadlig kod av det här slaget har tidigare varit theoretiserad, och så småningom har verkliga hypervisor-rootkits observerats, även om få är kända hittills.

Körning och inmatning

Filbaserad (typ III: körbara filer, DLL:er, LNK-filer, schemalagda uppgifter): Det här är standardkörningsvektorn. En enkel körbar fil kan startas som en skadlig kod i första stadiet för att köra ytterligare en nyttolast i minnet eller matas in i andra legitima processer som körs.

Makrobaserat (typ III: Office-dokument): VBA-språket är ett flexibelt och kraftfullt verktyg som utformats för att automatisera redigeringsuppgifter och lägga till dynamiska funktioner i dokument. Det kan därför missbrukas av angripare för att utföra skadliga åtgärder som avkodning, körning eller inmatning av en körbar nyttolast, eller till och med implementering av en hel utpressningstrojan, som i fallet med qkG. Makron körs inom ramen för en Office-process (t.ex. Winword.exe) och implementeras på ett skriptspråk. Det finns ingen binär körbar fil som ett antivirusprogram kan inspektera. Office-appar kräver uttryckligt medgivande från användaren för att köra makron från ett dokument, men angripare använder sociala tekniker för att lura användarna att tillåta att makron körs.

Skriptbaserad (typ II: fil, tjänst, register, WMI-lagringsplats, gränssnitt): Skriptspråken JavaScript, VBScript och PowerShell är tillgängliga som standard på Windows-plattformar. Skript har samma fördelar som makron, de är textfiler (inte binära körbara filer) och körs inom kontexten för tolken (till exempel wscript.exe, powershell.exe), som är en ren och legitim komponent. Skript är mångsidiga och kan köras från en fil (genom att dubbelklicka på dem) eller köras direkt på kommandoraden i en tolk. Om du kör på kommandoraden kan skadlig kodning av skadliga skript kodas som automatiska starttjänster i registernycklar för automatisk körning som WMI-händelseprenumerationer från WMI-lagringsplatsen. Dessutom kan en angripare som har fått åtkomst till en infekterad dator ange skriptet i kommandotolken.

Diskbaserad (typ II: Startpost): Startposten är den första sektorn på en disk eller volym och innehåller körbar kod som krävs för att starta startprocessen för operativsystemet. Hot som Petya kan infektera startposten genom att skriva över den med skadlig kod. När datorn startas får den skadliga koden omedelbart kontroll. Startposten finns utanför filsystemet, men den är tillgänglig för operativsystemet. Moderna antivirusprodukter har möjlighet att skanna och återställa den.

Besegra fillös skadlig kod

På Microsoft övervakar vi aktivt säkerhetslandskapet för att identifiera nya hottrender och utveckla lösningar för att minimera hotklasser. Vi instrumentera hållbara skydd som är effektiva mot en mängd olika hot. Via AMSI (AntiMalware Scan Interface), beteendeövervakning, minnesgenomsökning och skydd mot startsektorer kan Microsoft Defender för Endpoint inspektera fillösa hot även med tung fördunkla. Med maskininlärningstekniker i molnet kan vi skala dessa skydd mot nya och nya hot.

Mer information finns i: Utom synhåll men inte osynlig: Besegra fillös skadlig kod med beteendeövervakning, AMSI och nästa generations AV

Ytterligare resurser och information

Lär dig hur du distribuerar funktioner för skydd mot hot i Microsoft 365 E5.