Delen via


Bedreigingen zonder bestanden

Wat zijn bestandsloze bedreigingen precies? De term 'bestandloos' suggereert dat een bedreiging niet aanwezig is in een bestand, zoals een backdoor die zich alleen in het geheugen van een computer bevindt. Er is echter geen definitie voor bestandsloze malware. De term wordt algemeen gebruikt en soms om malwarefamilies te beschrijven die afhankelijk zijn van bestanden om te werken.

Aanvallen omvatten verschillende fasen voor functies zoals uitvoering, persistentie of informatiediefstal. Sommige onderdelen van de aanvalsketen zijn mogelijk bestandsloos, terwijl andere het bestandssysteem in een bepaalde vorm omvatten.

Voor de duidelijkheid worden bestandsloze bedreigingen gegroepeerd in verschillende categorieën.

Uitgebreid diagram van bestandsloze malware.
Afbeelding 1. Uitgebreid diagram van bestandsloze malware

Bestandsloze bedreigingen kunnen worden geclassificeerd op hun toegangspunt, wat aangeeft hoe bestandsloze malware op een computer kan binnenkomen. Ze kunnen binnenkomen via een exploit, via gecompromitteerde hardware of via regelmatige uitvoering van toepassingen en scripts.

Geef vervolgens de vorm van het toegangspunt weer. Exploits kunnen bijvoorbeeld zijn gebaseerd op bestanden of netwerkgegevens, PCI-randapparatuur zijn een soort hardwarevector en scripts en uitvoerbare bestanden zijn subcategorieën van de uitvoeringsvector.

Classificeer ten slotte de gastheer van de infectie. Een Flash-toepassing kan bijvoorbeeld verschillende bedreigingen bevatten, zoals een exploit, een eenvoudig uitvoerbaar bestand en schadelijke firmware van een hardwareapparaat.

Classificeren helpt u bij het verdelen en categoriseren van de verschillende soorten bestandsloze bedreigingen. Sommige zijn gevaarlijker, maar ook moeilijker te implementeren, terwijl andere vaker worden gebruikt ondanks (of juist omdat) ze niet erg geavanceerd zijn.

Uit deze categorisatie kunt u drie belangrijke typen bestandsloze bedreigingen op basis van hoeveel vingerafdruk ze op geïnfecteerde machines achterlaten.

Type I: geen bestandsactiviteit uitgevoerd

Een volledig bestandsloze malware kan worden beschouwd als een malware waarvoor nooit een bestand op de schijf hoeft te worden geschreven. Hoe zou dergelijke malware in de eerste plaats een machine infecteren? Een voorbeeld hiervan is waar een doelcomputer schadelijke netwerkpakketten ontvangt die misbruik maken van het kwetsbaarheidsprobleem EternalBlue. Het beveiligingsprobleem maakt de installatie van de DoublePulsar-backdoor mogelijk, die zich uiteindelijk alleen in het kernelgeheugen blijft bevinden. In dit geval zijn er geen bestanden of gegevens in een bestand geschreven.

Een gecompromitteerd apparaat kan ook schadelijke code bevatten die zich verbergt in de firmware van het apparaat (zoals een BIOS), een USB-randapparaat (zoals de BadUSB-aanval) of in de firmware van een netwerkkaart. Voor al deze voorbeelden is geen bestand op de schijf vereist en kan theoretisch alleen in het geheugen worden uitgevoerd. De schadelijke code overleeft opnieuw opstarten, schijfherzieningen en opnieuw installeren van het besturingssysteem.

Infecties van dit type kunnen bijzonder moeilijk te detecteren zijn omdat de meeste antivirusproducten niet de mogelijkheid hebben om firmware te inspecteren. In gevallen waarin een product de mogelijkheid heeft om schadelijke firmware te inspecteren en te detecteren, zijn er nog steeds aanzienlijke uitdagingen met betrekking tot het herstellen van bedreigingen op dit niveau. Dit type bestandsloze malware vereist een hoge mate van verfijning en is vaak afhankelijk van bepaalde hardware- of softwareconfiguratie. Het is geen aanvalsvector die gemakkelijk en betrouwbaar kan worden misbruikt. Hoewel gevaarlijk, zijn bedreigingen van dit type ongebruikelijk en niet praktisch voor de meeste aanvallen.

Type II: Indirecte bestandsactiviteit

Er zijn andere manieren waarop malware bestandsloze aanwezigheid op een computer kan bereiken zonder dat hiervoor veel technische inspanning nodig is. Bestandsloze malware van dit type schrijft bestanden niet rechtstreeks op het bestandssysteem, maar ze kunnen indirect bestanden gebruiken. Met de Poshspy-backdoor hebben aanvallers bijvoorbeeld een schadelijke PowerShell-opdracht geïnstalleerd in de WMI-opslagplaats en een WMI-filter geconfigureerd om de opdracht periodiek uit te voeren.

Het is mogelijk om een dergelijke installatie uit te voeren via de opdrachtregel zonder dat er al een backdoor in het bestand aanwezig is. De malware kan worden geïnstalleerd en theoretisch worden uitgevoerd zonder ooit het bestandssysteem aan te raken. De WMI-opslagplaats wordt echter opgeslagen in een fysiek bestand in een centraal opslaggebied dat wordt beheerd door CIM Object Manager en bevat meestal legitieme gegevens. Hoewel de infectieketen technisch gezien gebruikmaakt van een fysiek bestand, wordt het beschouwd als een bestandsloze aanval omdat de WMI-opslagplaats een multi-purpose gegevenscontainer is die niet kan worden gedetecteerd en verwijderd.

Type III: Bestanden die nodig zijn om te werken

Sommige malware kan een soort bestandsloze persistentie hebben, maar niet zonder bestanden te gebruiken om te werken. Een voorbeeld voor dit scenario is Kovter, waarmee een shell open werkwoordhandler in het register wordt gemaakt voor een willekeurige bestandsextensie. Het openen van een bestand met een dergelijke extensie leidt tot de uitvoering van een script via het legitieme hulpprogramma mshta.exe.

Afbeelding van de registersleutel van Kovter.
Afbeelding 2. Registersleutel van Kovter

Wanneer de geopende werkwoord wordt aangeroepen, wordt de bijbehorende opdracht uit het register gestart, wat resulteert in de uitvoering van een klein script. Met dit script worden gegevens uit een andere registersleutel gelezen en uitgevoerd, waardoor de uiteindelijke nettolading wordt geladen. Om het open werkwoord in de eerste plaats te activeren, moet Kovter echter een bestand verwijderen met dezelfde extensie waarop het werkwoord is gericht (in het bovenstaande voorbeeld is de extensie .bbf5590fd). Er moet ook een autorun-sleutel worden ingesteld die is geconfigureerd om een dergelijk bestand te openen wanneer de computer wordt gestart.

Kovter wordt beschouwd als een bestandsloze bedreiging omdat het bestandssysteem van geen praktisch nut is. De bestanden met willekeurige extensies bevatten ongewenste gegevens die niet kunnen worden gebruikt bij het controleren van de aanwezigheid van de bedreiging. De bestanden die het register opslaan, zijn containers die niet kunnen worden gedetecteerd en verwijderd als schadelijke inhoud aanwezig is.

Bestandsloze bedreigingen categoriseren op infectiehost

Nadat we de brede categorieën hebben beschreven, kunnen we ons nu verdiepen in de details en een uitsplitsing van de infectiehosts bieden. Deze uitgebreide classificatie omvat het panorama van wat gewoonlijk wordt aangeduid als bestandsloze malware. Het stimuleert onze inspanningen om nieuwe beveiligingsfuncties te onderzoeken en te ontwikkelen die klassen van aanvallen neutraliseren en ervoor zorgen dat malware niet de overhand krijgt in de wapenwedloop.

Exploits

Op bestanden gebaseerd (type III: uitvoerbaar bestand, Flash, Java, documenten): een eerste bestand kan misbruik maken van het besturingssysteem, de browser, de Java-engine, de Flash-engine, enzovoort om een shellcode uit te voeren en een nettolading in het geheugen te leveren. Hoewel de nettolading bestandloos is, is de eerste invoervector een bestand.

Op het netwerk gebaseerd (type I): een netwerkcommunicatie die gebruikmaakt van een beveiligingsprobleem op de doelcomputer, kan code-uitvoering bewerkstelligen in de context van een toepassing of de kernel. Een voorbeeld is WannaCry, dat misbruik maakt van een eerder opgelost beveiligingsprobleem in het SMB-protocol om een backdoor binnen het kernelgeheugen te leveren.

Hardware

Op apparaten gebaseerd (type I: netwerkkaart, harde schijf): voor apparaten zoals harde schijven en netwerkkaarten zijn chipsets en speciale software vereist om te kunnen functioneren. Software die zich in de chipset van een apparaat bevindt en wordt uitgevoerd, wordt firmware genoemd. Hoewel het een complexe taak is, kan de firmware worden geïnfecteerd door malware.

Op CPU gebaseerd (type I): moderne CPU's zijn complex en kunnen subsystemen bevatten waarop firmware wordt uitgevoerd voor beheerdoeleinden. Dergelijke firmware kan kwetsbaar zijn voor hijacking en de uitvoering van schadelijke code toestaan die zou werken vanuit de CPU. In december 2017 hebben twee onderzoekers een beveiligingsprobleem gerapporteerd waardoor aanvallers code kunnen uitvoeren in de Management Engine (ME) die aanwezig is in een moderne CPU van Intel. Ondertussen is vastgesteld dat de aanvallergroep PLATINUM de mogelijkheid heeft om de Active Management Technology (AMT) van Intel te gebruiken om onzichtbare netwerkcommunicatie uit te voeren, waarbij het geïnstalleerde besturingssysteem wordt omzeild. ME en AMT zijn in wezen autonome microcomputers die in de CPU leven en die op een zeer laag niveau werken. Omdat het doel van deze technologieën is om extern beheer mogelijk te maken, hebben ze directe toegang tot hardware, zijn ze onafhankelijk van het besturingssysteem en kunnen ze zelfs worden uitgevoerd als de computer is uitgeschakeld.

Naast kwetsbaar zijn op firmwareniveau, kunnen CPU's worden gemaakt met backdoors die rechtstreeks in het hardwarecircuit worden geplaatst. Deze aanval is onderzocht en in het verleden mogelijk gebleken. Er is gemeld dat bepaalde modellen van x86-processors een secundaire ingesloten RISC-achtige CPU-kern bevatten die effectief een backdoor kan bieden waarmee reguliere toepassingen bevoegde uitvoering kunnen krijgen.

USB-gebaseerd (type I): ALLE SOORTEN USB-apparaten kunnen opnieuw worden geprogrammeerd met schadelijke firmware die op snode manieren met het besturingssysteem kan communiceren. Met de BadUSB-techniek kan bijvoorbeeld een opnieuw geprogrammeerde USB-stick fungeren als een toetsenbord dat opdrachten naar computers verzendt via toetsaanslagen of als een netwerkkaart die verkeer naar eigen goeddunken kan omleiden.

OP BASIS VAN BIOS (type I): een BIOS is een firmware die wordt uitgevoerd in een chipset. Het wordt uitgevoerd wanneer een machine wordt ingeschakeld, initialiseert de hardware en draagt vervolgens de controle over aan de opstartsector. Het BIOS is een belangrijk onderdeel dat op een laag niveau werkt en wordt uitgevoerd vóór de opstartsector. Het is mogelijk om de BIOS-firmware opnieuw te programmeren met schadelijke code, zoals in het verleden is gebeurd met de Mebromi-rootkit.

Op hypervisor gebaseerd (type I): moderne CPU's bieden ondersteuning voor hardware hypervisor, zodat het besturingssysteem robuuste virtuele machines kan maken. Een virtuele machine wordt uitgevoerd in een beperkte, gesimuleerde omgeving en is zich in theorie niet bewust van de emulatie. Een malware die een computer overneemt, kan een kleine hypervisor implementeren om zichzelf te verbergen buiten het gebied van het actieve besturingssysteem. Malware van dit soort is in het verleden ge theoriseerd en uiteindelijk zijn er echte hypervisor-rootkits waargenomen, hoewel er tot nu toe weinig bekend zijn.

Uitvoering en injectie

Op bestanden gebaseerd (type III: uitvoerbare bestanden, DLL's, LNK-bestanden, geplande taken): dit is de standaarduitvoeringsvector. Een eenvoudig uitvoerbaar bestand kan worden gestart als malware in het eerste stadium om een extra nettolading in het geheugen uit te voeren of te worden geïnjecteerd in andere legitieme actieve processen.

Op macro's gebaseerd (Type III: Office-documenten): de VBA-taal is een flexibel en krachtig hulpprogramma dat is ontworpen om bewerkingstaken te automatiseren en dynamische functionaliteit aan documenten toe te voegen. Als zodanig kan het door aanvallers worden misbruikt om schadelijke bewerkingen uit te voeren, zoals het decoderen, uitvoeren of injecteren van een uitvoerbare nettolading, of zelfs het implementeren van een volledige ransomware, zoals in het geval van qkG. Macro's worden uitgevoerd in de context van een Office-proces (bijvoorbeeld Winword.exe) en geïmplementeerd in een scripttaal. Er is geen binair uitvoerbaar bestand dat een antivirusprogramma kan inspecteren. Hoewel Office-apps expliciete toestemming van de gebruiker vereisen om macro's uit te voeren vanuit een document, gebruiken aanvallers social engineering-technieken om gebruikers te misleiden om macro's uit te voeren.

Op basis van scripts (type II: bestand, service, register, WMI-opslagplaats, shell): de scripttalen JavaScript, VBScript en PowerShell zijn standaard beschikbaar op Windows-platforms. Scripts hebben dezelfde voordelen als macro's, ze zijn tekstbestanden (geen binaire uitvoerbare bestanden) en worden uitgevoerd binnen de context van de interpreter (zoals wscript.exe, powershell.exe), wat een schoon en legitiem onderdeel is. Scripts zijn veelzijdig en kunnen worden uitgevoerd vanuit een bestand (door erop te dubbelklikken) of rechtstreeks op de opdrachtregel van een interpreter worden uitgevoerd. Als u op de opdrachtregel wordt uitgevoerd, kan malware schadelijke scripts coderen als autostart-services in registersleutels voor automatisch uitvoeren als WMI-gebeurtenisabonnementen vanuit de WMI-opslagplaats. Bovendien kan een aanvaller die toegang heeft verkregen tot een geïnfecteerde computer het script invoeren via de opdrachtprompt.

Op schijf gebaseerd (type II: opstartrecord): de opstartrecord is de eerste sector van een schijf of volume en bevat uitvoerbare code die vereist is om het opstartproces van het besturingssysteem te starten. Bedreigingen zoals Petya kunnen de opstartrecord infecteren door deze te overschrijven met schadelijke code. Wanneer de computer wordt opgestart, krijgt de malware onmiddellijk controle. De opstartrecord bevindt zich buiten het bestandssysteem, maar is toegankelijk voor het besturingssysteem. Moderne antivirusproducten hebben de mogelijkheid om deze te scannen en te herstellen.

Bestandloze malware verslaan

Bij Microsoft bewaken we actief het beveiligingslandschap om nieuwe bedreigingstrends te identificeren en oplossingen te ontwikkelen om klassen bedreigingen te beperken. We instrumenteren duurzame beveiligingen die effectief zijn tegen een breed scala aan bedreigingen. Via AntiMalware Scan Interface (AMSI), gedragscontrole, geheugenscans en beveiliging van de opstartsector, kunt Microsoft Defender voor Eindpunt bestandsloze bedreigingen inspecteren, zelfs met zware verduistering. Met machine learning-technologieën in de cloud kunnen we deze beveiligingen schalen tegen nieuwe en opkomende bedreigingen.

Lees voor meer informatie: Niet zichtbaar, maar niet onzichtbaar: Bestandsloze malware verslaan met gedragscontrole, AMSI en av van de volgende generatie

Aanvullende resources en informatie

Meer informatie over het implementeren van mogelijkheden voor bedreigingsbeveiliging in Microsoft 365 E5.