Del via


Filløse trusler

Hva er egentlig filløse trusler? Begrepet "filløs" antyder at en trussel ikke kommer i en fil, for eksempel en bakdør som bare lever i minnet til en maskin. Det finnes imidlertid ingen definisjon for filløs skadelig programvare. Begrepet brukes bredt, og noen ganger for å beskrive malware familier som er avhengige av filer for å operere.

Angrep involverer flere faser for funksjoner som kjøring, utholdenhet eller informasjonstyveri. Noen deler av angrepskjeden kan være filløse, mens andre kan involvere filsystemet i en eller annen form.

For klarhet er filløse trusler gruppert i ulike kategorier.

Omfattende diagram over filløs skadelig programvare.
Figur 1. Omfattende diagram over filløs skadelig programvare

Filløse trusler kan klassifiseres ved inngangspunktet, noe som indikerer hvordan filløs skadelig programvare kan komme på en maskin. De kan komme via en utnyttelse, gjennom kompromittert maskinvare, eller via regelmessig kjøring av programmer og skript.

Deretter viser du formen på inngangspunktet. Utnyttelser kan for eksempel være basert på filer eller nettverksdata, PCI-eksterne enheter er en type maskinvarevektor, og skript og kjørbare filer er underkategorier av kjøringsvektoren.

Til slutt klassifisere verten for infeksjonen. Et Flash-program kan for eksempel inneholde en rekke trusler, for eksempel utnyttelse, en enkel kjørbar fil og skadelig fastvare fra en maskinvareenhet.

Klassifisering hjelper deg med å dele og kategorisere de ulike typene filløse trusler. Noen er farligere, men også vanskeligere å implementere, mens andre er mer vanlig brukt til tross for (eller nettopp på grunn av) ikke å være veldig avansert.

Fra denne kategoriseringen kan du fange opp tre hovedtyper filløse trusler basert på hvor mye fingeravtrykk de kan etterlate på infiserte maskiner.

Type I: Ingen filaktivitet utført

En fullstendig filløs skadelig programvare kan betraktes som en som aldri krever at du skriver en fil på disken. Hvordan vil slik skadelig programvare infisere en maskin i utgangspunktet? Et eksempel er hvor en målmaskin mottar ondsinnede nettverkspakker som utnytter EternalBlue-sårbarheten. Sikkerhetsproblemet tillater installasjon av DoublePulsar-bakdøren, som ender opp med å bare være bosatt i kjerneminnet. I dette tilfellet er det ingen fil eller data skrevet på en fil.

En kompromittert enhet kan også ha skadelig kode som gjemmer seg i fastvaren på enheten (for eksempel en BIOS), en USB-perifer (for eksempel BadUSB-angrepet) eller i fastvaren til et nettverkskort. Alle disse eksemplene krever ikke at en fil på disken kjører, og kan teoretisk bare leve i minnet. Den skadelige koden overlever omstarter, diskformatering og installasjoner av operativsystemet på nytt.

Infeksjoner av denne typen kan være spesielt vanskelig å oppdage fordi de fleste antivirusprodukter ikke har mulighet til å inspisere fastvaren. I tilfeller der et produkt har muligheten til å inspisere og oppdage skadelig fastvare, er det fortsatt betydelige utfordringer knyttet til utbedring av trusler på dette nivået. Denne typen filløs skadelig programvare krever høye nivåer av raffinement og avhenger ofte av bestemt maskinvare- eller programvarekonfigurasjon. Det er ikke en angrepsvektor som kan utnyttes enkelt og pålitelig. Mens farlig, trusler av denne typen er uvanlig og ikke praktisk for de fleste angrep.

Type II: Indirekte filaktivitet

Det finnes andre måter som skadelig programvare kan oppnå filløs tilstedeværelse på en maskin uten å kreve betydelig teknisk innsats. Filløs skadelig programvare av denne typen skriver ikke filer direkte på filsystemet, men de kan ende opp med å bruke filer indirekte. Med poshspy-bakdørangriperne installerte for eksempel en ondsinnet PowerShell-kommando i WMI-repositoriet og konfigurerte et WMI-filter til å kjøre kommandoen med jevne mellomrom.

Det er mulig å utføre en slik installasjon via kommandolinjen uten å kreve at en bakdør allerede er på filen. Den skadelige programvaren kan installeres og kjøres teoretisk uten å berøre filsystemet. WMI-repositoriet lagres imidlertid på en fysisk fil i et sentralt lagringsområde som administreres av CIM Object Manager, og inneholder vanligvis legitime data. Selv om infeksjonskjeden teknisk sett bruker en fysisk fil, anses den som et filløst angrep fordi WMI-repositoriet er en flerbruksdatabeholder som ikke kan oppdages og fjernes.

Type III: Filer som kreves for å fungere

Noe skadelig programvare kan ha en slags filløs utholdenhet, men ikke uten å bruke filer til å fungere. Et eksempel på dette scenarioet er Kovter, som oppretter et skallåpningsverbbebehandling i registret for en tilfeldig filtype. Åpning av en fil med en slik filtype vil føre til kjøring av et skript gjennom det legitime verktøyet mshta.exe.

Bilde av Kovters registernøkkel.
Figur 2. Kovters registernøkkel

Når det åpne verbet aktiveres, startes den tilknyttede kommandoen fra registret, noe som resulterer i kjøring av et lite skript. Dette skriptet leser data fra en ytterligere registernøkkel og utfører den, noe som igjen fører til innlasting av den endelige nyttelasten. Hvis du imidlertid vil utløse det åpne verbet i første omgang, må Kovter slippe en fil med samme filtype som verbet er rettet mot (i eksemplet ovenfor er filtypen .bbf5590fd). Den må også angi en autorun-nøkkel som er konfigurert til å åpne en slik fil når maskinen starter.

Kovter regnes som en filløs trussel fordi filsystemet ikke har praktisk bruk. Filene med tilfeldige utvidelser inneholder søppelpostdata som ikke kan brukes til å bekrefte tilstedeværelsen av trusselen. Filene som lagrer registeret, er beholdere som ikke kan oppdages og slettes hvis skadelig innhold finnes.

Kategorisere filløse trusler etter infeksjonsvert

Etter å ha beskrevet de brede kategoriene, kan vi nå grave i detaljene og gi en sammenbrudd av infeksjonsvertene. Denne omfattende klassifiseringen dekker panoramaet av det som vanligvis kalles filløs skadelig programvare. Det driver vår innsats for å forske og utvikle nye beskyttelsesfunksjoner som nøytraliserer klasser av angrep og sikrer at skadelig programvare ikke får overtaket i våpenkappløpet.

Utnytter

Filbasert (type III: kjørbar fil, Flash, Java, dokumenter): En innledende fil kan utnytte operativsystemet, nettleseren, Java-motoren, Flash-motoren osv. til å kjøre en skallkode og levere en nyttelast i minnet. Selv om nyttelasten er filløs, er den første inngangsvektoren en fil.

Nettverksbasert (type I): En nettverkskommunikasjon som utnytter et sikkerhetsproblem i målmaskinen, kan oppnå kjøring av kode i konteksten til et program eller kjernen. Et eksempel er WannaCry, som utnytter et tidligere fast sikkerhetsproblem i SMB-protokollen for å levere en bakdør i kjernen.

Maskinvare

Enhetsbasert (type I: nettverkskort, harddisk): Enheter som harddisker og nettverkskort krever brikkesett og dedikert programvare for å fungere. Programvare som bor og kjører i brikkesettet på en enhet, kalles fastvare. Selv om det er en kompleks oppgave, kan fastvaren bli infisert av skadelig programvare.

CPU-basert (type I): Moderne CPU-er er komplekse og kan omfatte delsystemer som kjører fastvare for administrasjonsformål. Slik fastvare kan være sårbar for kapring og tillate kjøring av ondsinnet kode som ville operere innenfra CPU. I desember 2017 rapporterte to forskere en sårbarhet som kan tillate angripere å utføre kode inne i Management Engine (ME) som finnes i enhver moderne CPU fra Intel. I mellomtiden har angripergruppen PLATINUM blitt observert å ha muligheten til å bruke Intels Active Management Technology (AMT) til å utføre usynlig nettverkskommunikasjon, utenom det installerte operativsystemet. ME og AMT er i hovedsak autonome mikrodatamaskiner som bor inne i CPU og som opererer på et svært lavt nivå. Fordi formålet med disse teknologiene er å gi ekstern administrering, har de direkte tilgang til maskinvare, er uavhengige av operativsystemet og kan kjøre selv om datamaskinen er slått av.

I tillegg til å være sårbar på fastvarenivå, kan CPU-er produseres med bakdører satt inn direkte i maskinvarekretsene. Dette angrepet har blitt undersøkt og vist seg mulig i det siste. Det har blitt rapportert at visse modeller av x86-prosessorer inneholder en sekundær innebygd RISC-lignende CPU-kjerne som effektivt kan gi en bakdør der vanlige programmer kan få privilegert utførelse.

USB-basert (type I): USB-enheter av alle slag kan omprogrammeres med ondsinnet fastvare som kan samhandle med operativsystemet på skadelige måter. Med BadUSB-teknikken kan for eksempel en omprogrammert USB-pinne fungere som et tastatur som sender kommandoer til maskiner via tastetrykk, eller som et nettverkskort som kan omdirigere trafikk etter vilje.

BIOS-basert (type I): En BIOS er en fastvare som kjører inne i et brikkesett. Den utføres når en maskin er slått på, initialiserer maskinvaren og overfører deretter kontrollen til oppstartssektoren. BIOS er en viktig komponent som opererer på et lavt nivå og utfører før oppstartssektoren. Det er mulig å omprogrammere BIOS-fastvaren med skadelig kode, som tidligere har skjedd med Mebromi-rotsettet.

Hypervisorbasert (type I): Moderne CPU-er gir maskinvare-hypervisorstøtte, slik at operativsystemet kan opprette robuste virtuelle maskiner. En virtuell maskin kjører i et begrenset, simulert miljø, og er i teorien uvitende om emulering. En skadelig programvare som tar over en maskin, kan implementere en liten hypervisor for å skjule seg utenfor området til det kjørende operativsystemet. Malware av denne typen har blitt theorisert i det siste, og til slutt ekte hypervisor rootkits har blitt observert, selv om få er kjent til dags dato.

Utførelse og injeksjon

Filbasert (type III: kjørbare filer, DLL-filer, LNK-filer, planlagte oppgaver): Dette er standard vektor for kjøring. En enkel kjørbar fil kan startes som en førstetrinns skadelig programvare for å kjøre en ekstra nyttelast i minnet, eller injiseres i andre legitime kjøreprosesser.

Makrobasert (Type III: Office-dokumenter): VBA-språket er et fleksibelt og kraftig verktøy som er utformet for å automatisere redigeringsoppgaver og legge til dynamisk funksjonalitet i dokumenter. Som sådan, det kan bli misbrukt av angripere til å utføre ondsinnede operasjoner som dekoding, kjører, eller injisere en kjørbar nyttelast, eller til og med implementere en hel ransomware, som i tilfelle qkG. Makroer utføres i konteksten til en Office-prosess (for eksempel Winword.exe) og implementeres på et skriptspråk. Det finnes ingen binær kjørbar fil som et antivirus kan undersøke. Selv om Office-apper krever eksplisitt samtykke fra brukeren til å utføre makroer fra et dokument, bruker angripere teknikker for sosial teknikk for å lure brukere til å tillate makroer å kjøre.

Skriptbasert (type II: fil, tjeneste, register, WMI-repo, skall): Skriptspråkene JavaScript, VBScript og PowerShell er tilgjengelige som standard på Windows-plattformer. Skript har de samme fordelene som makroer, de er tekstfiler (ikke binære kjørbare filer) og kjører i konteksten til tolken (for eksempel wscript.exe, powershell.exe), som er en ren og legitim komponent. Skript er allsidige og kan kjøres fra en fil (ved å dobbeltklikke dem) eller utføres direkte på kommandolinjen i en tolk. Når du kjører på kommandolinjen, kan skadelig programvare kode skadelige skript som autostarttjenester i registernøkler for automatisk kjøring som WMI-hendelsesabonnementer fra WMI-repoet. I tillegg kan en angriper som har fått tilgang til en infisert maskin, legge inn skriptet i ledeteksten.

Diskbasert (type II: Oppstartspost): Oppstartsposten er den første sektoren på en disk eller et volum, og inneholder kjørbar kode som kreves for å starte oppstartsprosessen for operativsystemet. Trusler som Petya er i stand til å infisere boot record ved å overskrive den med ondsinnet kode. Når maskinen startes, får den skadelige programvaren umiddelbart kontroll. Oppstartsposten befinner seg utenfor filsystemet, men den er tilgjengelig for operativsystemet. Moderne antivirusprodukter har mulighet til å skanne og gjenopprette det.

Bekjempe filløs skadelig programvare

Hos Microsoft overvåker vi aktivt sikkerhetslandskapet for å identifisere nye trusseltrender og utvikle løsninger for å redusere trusselklasser. Vi instrumenterer varige beskyttelser som er effektive mot et bredt spekter av trusler. Gjennom AntiMalware Scan Interface (AMSI), virkemåteovervåking, minneskanning og beskyttelse av oppstartssektoren, kan Microsoft Defender for endepunkt undersøke filløse trusler selv med tung obfuscation. Maskinlæringsteknologier i skyen gjør det mulig for oss å skalere disse beskyttelsene mot nye og nye trusler.

Hvis du vil lære mer, kan du lese: Ute av syne, men ikke usynlig: Bekjempe filløs skadelig programvare med atferdsovervåking, AMSI og neste generasjons AV

Tilleggsressurser og informasjon

Finn ut hvordan du distribuerer trusselbeskyttelsesfunksjoner på tvers av Microsoft 365 E5.