Kør Microsoft Defender Antivirus i en sandkasse
Gælder for:
- Microsoft Defender XDR
- Microsoft Defender for Endpoint Plan 2
- Microsoft Defender for Business
- Microsoft Defender for Endpoint Plan 1
- Microsoft Defender Antivirus
Platforme:
- Windows
Vil du opleve Defender for Endpoint? Tilmeld dig en gratis prøveversion.
I denne artikel beskrives det, hvordan du kører Microsoft Defender Antivirus i et sandkassemiljø for at opnå forbedret beskyttelse mod manipulation.
Microsoft Defender Antivirus med sine indbyggede antivirusfunktioner kan køre i en sandkasse på Windows fra den 26. oktober 2018. Det var den første komplette antivirusløsning, der har denne funktion og fortsætter med at lede branchen i at hæve standarden for sikkerhed.
Før du begynder, skal du opfylde følgende krav:
- Microsoft Defender Antivirus (aktiv tilstand)
- Windows 11 eller Windows 10 version 1703 eller nyere
- Windows Server 2022 eller Windows Server 2019 eller Windows Server 2016 eller nyere
Sikkerhedsforskere, både i og uden for Microsoft, har tidligere identificeret måder, som en hacker kan drage fordel af sikkerhedsrisici i Microsoft Defender Antiviruss indholdsparsere, der kan muliggøre vilkårlig udførelse af kode. Hvis du vil undersøge hele systemet for skadeligt indhold og artefakter, kører antivirusprogrammet med høje rettigheder (lokalt system, NT Authority\SYSTEM), hvilket gør det til et mål for angreb.
Der henviser til, at eskalering af rettigheder fra en sandkasse er så meget vanskeligt på de nyeste versioner af Windows 10 eller nyere, og at køre Microsoft Defender Antivirus i en sandkasse sikrer, at i det usandsynlige tilfælde af et kompromis, ondsindede handlinger er begrænset til det isolerede miljø, beskytte resten af systemet mod skade. Dette er en del af Microsofts fortsatte investering i at være på forkant med hackere gennem sikkerhedsinnovationer.
Moderne antimalwareprodukter undersøger mange input, f.eks. filer på disken, datastrømme i hukommelsen og adfærdsmæssige hændelser i realtid. Mange af disse funktioner kræver fuld adgang til de pågældende ressourcer. Den første større sandkasseindsats var relateret til lagdelte Microsoft Defender Antiviruss inspektionsfunktioner i de komponenter, der absolut skal køre med fulde rettigheder og de komponenter, der kan sandkasses. Målet for sandkassekomponenterne var at sikre, at de omfattede den højeste risikofunktionalitet, f.eks. scanning af upålideligt input, udvidelse af objektbeholdere osv. Samtidig var vi nødt til at minimere antallet af interaktioner mellem de to lag for at undgå en betydelig ydeevneomkostning.
Ressourceforbrug er også et andet problem, der kræver betydelige investeringer, både privilegeret proces og sandkasseproces skal have adgang til Security Intelligence-opdateringer, andre registreringer og afhjælpningsmetadata. For at undgå duplikering og bevare stærke sikkerhedsgarantier, der er for at undgå usikre måder at dele tilstand på eller for at introducere betydelige kørselsomkostninger ved overførsel af data/indhold mellem processerne, bruger vi en model, hvor de fleste beskyttelsesdata hostes i hukommelsesrelaterede filer, der er skrivebeskyttede på kørselstidspunktet. Det betyder, at beskyttelsesdata kan hostes i flere processer uden omkostninger.
Du kan følge disse trin for at aktivere sandkasse ved at angive en miljøvariabel for hele computeren:
Kør følgende kommando som administrator i PowerShell eller CMD:
setx /M MP_FORCE_USE_SANDBOX 1
Genstart enheden. Når du har genstartet, får du vist en ny proces ud over MsMpEng.exe, der findes
MsMpEngCP.exe
i følgende mapper:Sti Proces Beskrivelse C:\ProgramData\Microsoft\Windows Defender\Scans MsMpEngCP.exe Eksekverbar indholdsproces for antimalwaretjeneste C:\Users\All Users\Microsoft\Windows Defender\Scans MsMpEngCP.exe Eksekverbar indholdsproces for antimalwaretjeneste Bemærk
CP i
MsMpEngCP.exe
er indholdsprocessen.
Hvis du vil deaktivere sandkassearbejde for Microsoft Defender Antivirus, skal du køre følgende kommando som administrator i PowerShell eller CMD:
setx /M MP_FORCE_USE_SANDBOX 0
Microsoft Defender Antivirus udfører en in-proc fallback, der hoster indholdsscanning i den privilegerede/overordnede proces for at yde beskyttelse.
Indholdsprocesserne, der kører med lave rettigheder, bruger også aggressivt alle tilgængelige afhjælpningspolitikker til at reducere overfladeangrebet. De aktiverer og forhindrer kørselsændringer for moderne teknikker til afhjælpning af udnyttelse, f.eks. Forebyggelse af dataudførelse, ASLR (Address space layout randomization) og CFG (Control Flow Guard). De deaktiverer også Win32K-systemkald og alle udvidelsespunkter samt gennemtvinger, at kun signeret kode, der er tillid til, indlæses.
MDAV's ydeevne med sandkasse aktiveret
Ydeevnen er ofte den største bekymring omkring sandkassedrift, især i betragtning af at antimalwareprodukter er på mange kritiske veje, f.eks. synkront inspicere filhandlinger og behandling og aggregering eller matche et stort antal kørselshændelser. For at sikre at ydeevnen ikke forringes, var vi nødt til at minimere antallet af interaktioner mellem sandkassen og den privilegerede proces. Samtidig skal du kun udføre disse interaktioner på vigtige tidspunkter, hvor deres omkostninger ikke ville være væsentlige, f.eks. når I/O udføres.
Microsoft Defender Antivirus gør en orkestreret indsats for at undgå unødvendig I/O, f.eks. er minimering af mængden af data, der læses for hver inspiceret fil, altafgørende for at opretholde en god ydeevne, især på ældre hardware (rotationsdisk, fjernressourcer). Det var derfor afgørende at bevare en model, hvor sandkassen kan anmode om data til inspektion efter behov i stedet for at overføre hele indholdet.
Pålidelighed af MDAV med sandkasse aktiveret
Bemærk
Det er ikke muligt at overføre håndtag til sandkassen (for at undgå omkostningerne ved at overføre det faktiske indhold), da der er mange scenarier, f.eks. inspektion i realtid, AMSI osv., hvor der ikke er nogen 'delbart'-håndtag, der kan bruges af sandkassen uden at tildele betydelige rettigheder, hvilket reducerer sikkerheden.
En anden betydelig bekymring omkring sandkasseføring er relateret til inter-process kommunikation mekanisme for at undgå potentielle problemer som baglåse og prioriteret inversioner. Kommunikationen bør ikke medføre potentielle flaskehalse, hverken ved at begrænse opkalderen eller ved at begrænse antallet af samtidige anmodninger, der kan behandles. Desuden bør sandkasseprocessen ikke udløse inspektionshandlinger af sig selv. Alle inspektioner bør ske uden at udløse flere scanninger. Dette kræver fuld kontrol af sandkassens funktioner og sikring af, at ingen uventede handlinger kan udløses. AppContainers med få rettigheder er den perfekte måde at implementere stærke garantier på, fordi den kapacitetsbaserede model giver mulighed for detaljeret kontrol med angivelse af, hvad sandkasseprocessen kan gøre.
Afhjælpning af MDAV med sandkasse aktiveret
Endelig er en betydelig udfordring set fra et sikkerhedsperspektiv relateret til indholdsafhjælpning eller desinfektion. På grund af handlingens følsomme karakter (forsøg på at gendanne en binær til det oprindelige indhold før tilmelding) var vi nødt til at sikre, at dette sker med høje rettigheder for at afhjælpe tilfælde, hvor indholdsprocessen (sandkasse) kan kompromitteres, og desinfektion kan bruges til at ændre den registrerede binære fil på uventede måder.
Hvad skal du gøre, mens du foretager fejlfinding af MsMpEng.CP.exe proces, hvis den starter og stopper efter et par minutter?
Indsaml supportdiagnosticeringslogge og eventuelle relevante dumps/nedbrudsoplysninger, hvis der er tilknyttede Windows Fejlrapportering hændelser omkring det tidspunkt, hvor processen stopper.