Hoe werken die Behavioral Engines nou eigenlijk?
Malware heeft een beperkt aantal mogelijkheden om systemen te infecteren. Als een Excel-bestand bijvoorbeeld een uitvoerbaar bestand opent, een aanpassing doet op de harde schijf of een code uitvoert op een systeem, dan zijn we er vrij zeker van dat het kwaadaardig is. Dit is namelijk gedrag dat een document niet hoort te vertonen.
Daarom is het mogelijk om malware op basis van gedrag te herkennen en te blokkeren. De reeks acties die malware uitvoert is vrijwel altijd bekend. Het herkennen en blokkeren van deze acties is het werk van een behavorial engine, ook wel host-based intrusion detection systems (HIPS) genoemd.
Als zo’n gedragsscanner een of meerdere acties detecteert, wordt het bewuste proces direct stopgezet. Zo bereikt malware zijn einddoel nooit.
Vandaag de dag behoren behavioral engines tot de meest effectieve beveiligingstools: als je één versie kunt detecteren, geldt dat dus voor alle varianten. Desondanks is een ‘op handtekening gebaseerde (signature based)’ aanpak nog steeds de basis van veel antivirussoftware. Deze software scant niet op gedrag, maar op basis van een lijst ‘signatures’: bekende kenmerken in de code. Een noodzakelijke basis die samen met behavioral engines zorgt voor een krachtige bescherming tegen bedreigingen.
Het nadeel van gedragstoezicht op de client
Klinkt goed, die behavioral engines. Toch zit er wel een nadeel aan gedragstoezicht. Het bewaken van een proces heeft namelijk invloed op de performance. Daarom houdt de engine alleen toezicht op de belangrijkste processen. En dit doen we op twee verschillende manieren:
1. Whitelisting – Een eenvoudige en snelle manier om processen over te slaan in een scan is door whitelisting. Op basis van simpele meta data, zoals de cryptografische hash, maar ook op complexere meta data, zoals het ondertekenen van certificaten, komen bestanden op de whitelist. Deze bestanden worden vervolgens overgeslagen door de scan.
2. Combineren met scanengine – Een andere manier om de belasting van het systeem te beperken is de combinatie van twee engines. Scanengines zijn namelijk sneller dan behavioral engines. Dus als een scanengine een schadelijk bestand al herkent voordat er op gedrag gescant wordt, levert dat een kleine verbetering op van de performance.
Zo ziet een situatie er in de echte wereld uit
We gaan het zo begrijpelijk mogelijk proberen te maken door te kijken hoe behavioral engines werken aan de hand van een herkenbare situatie.
Een team van beveiligers is belast met het toezicht op de fysieke veiligheid van een gebouw. Het grootste deel van hun tijd brengen ze door met het bekijken van beelden van beveiligingscamera’s. Een aantal van de bewakers patrouilleert om de beurt rond het gebouw.
De hele dag door is het een komen en gaan van medewerkers. De meeste werknemers dragen zichtbaar ID badges en sommige werknemers zijn zelfs bekend bij het beveiligingsteam. In deze situatie kun je de ID badges van de medewerkers vergelijken met de whitelist waar we het eerder over hadden. De bewakers besteden weinig aandacht aan deze mensen. Ze staan namelijk bekend als ‘bekend en goed’.
Ook de bezoekers komen en gaan de hele dag door. Nieuwe gasten zijn onbekenden voor de bewakers. Iedere bezoeker krijgt bij de receptie een tijdelijke ID badge en moet wachten op begeleiding, voordat ze het gebouw in mogen. Eenmaal in het gebouw moeten deze bezoekers te allen tijde begeleid worden door een medewerker. Het proces van ontmoeten van de bezoeker, het aanmelden en het verkrijgen van een tijdelijk ID is ongeveer vergelijkbaar met de werkzaamheden van de scanengine. Deze engine herkent de bezoekers niet als ‘bekend en goed’, maar heeft ook geen reden om ze aan te merken als kwaadaardig.
In deze fictieve situatie komt er op een bepaald moment iemand binnen die de procedure niet volgt. Niet iedere medewerker denkt eraan om de badge zichtbaar te dragen, dus het zou kunnen zijn dat deze badge-loze persoon een medewerker is. Echt wordt hij ook niet herkend door de bewakers. Direct bij aankomst bij het gebouw, loopt de onbekende persoon langs de receptie en volgt een medewerker verder het gebouw in. De bewakers houden dit gedrag direct in de gaten via de beveiligingscamera’s. Ze nemen contact op met hun patrouillerende collega’s met de opdracht om de onbekende op te zoeken. De acties van de bewakers zijn gelijk aan het gedragstoezicht van de behavioral engines.
De bewakers blijven de onbekende bezoeker op de voet volgen en observeren iedere stap in het gebouw, totdat hij uiteindelijk stopt. Op hun monitoren zien de bewakers dat de onbekende een koevoet uit zijn rugzak haalt. Direct komt de patrouillerende bewaker tevoorschijn en voorkomt dat de bezoeker zijn plan uit kan voeren.
Een enkele actie is meestal onvoldoende om te bepalen of een bedreiging echt kwaadaardig is. Een reeks acties was in dit geval wel voldoen om in beweging te komen. De reeks zag er in deze situatie als volgt uit:
- Met een medewerker mee het gebouw binnensluipen
- Onbegeleid door het gebouw lopen
- In proberen te breken in een afgesloten ruimte
Gedragsanalyse op de back-end
Terwijl gedragstoezicht op client-niveau een van de meest effectieve manieren is om systemen te beschermen tegen veelvoorkomende malware en exploits, geeft back-end gedragsanalyse ons een ander krachtig instrument.
In de cloud is het mogelijk om duizenden sandboxes naast elkaar te laten draaien. Bestanden en URL’s worden hier uitgevoerd. Elke run genereert vervolgens metadata op basis van de acties tijdens de uitvoering. In deze metadata staan de wijzigingen die het monster heeft aangebracht, maar ook het executiespoor van het monster zelf. Vervolgens wordt de metadata door een serie van engines geanalyseerd op verdacht gedrag. De monsters worden gemarkeerd voor verdere analyse en in de meeste gevallen worden de schadelijke bestanden direct herkent.
Door gebruik te maken van back end sandboxes kunnen er honderdduizenden bestanden en URL’s per dag geanalyseerd worden, iets wat onmogelijk handmatig gedaan kan worden. Door dit proces, gecombineerd met een geautomatiseerd statisch proces, kunnen samples worden gecategoriseerd en gegroepeerd. Zo kunnen nieuwe kwaadaardige monsters snel worden geïdentificeerd en wordt het mogelijk om in real-time cloud-based detecties uit te voeren.
Krachtige tool tegen bedreigingen
Gedragstoezicht is een krachtig instrument om systemen te beschermen tegen bedreigingen. Of het nu gebruikt wordt op de client zelf, of in de back-end. De omstandigheden waarin de techniek van gedragstoezicht een rol gaat spelen op de endpoint is afhankelijk van hoe het systeem in aanraking kwam met de bedreiging. Zoals we eerder lieten zien treedt behavioral blocking in werking bij het bezoeken, openen of runnen van een kwaadaardige website, document of uitvoerbaar bestand. Om deze reden zie je de resultaten van dit soort technologie niet terug in VirusTotal scanrapporten. Als je wilt zien hoe onze producten omgaan met echte situaties, waarin het blokkeren van gedrag meespeelt, bekijk dan de tests van AV-Comparatives en AV-Test.
Wil je meer weten over de techniek achter onze HIPS technologie? Download dan hieronder het whitepaper en lees meer over DeepGuard.
[fsecure-eloqua name=”Deepguard%20Whitepaper” url=”http://images.news.f-secure.com/Web/FSecure/%7Bf11ea68d-c646-4768-b31f-97b4a06e9cdd%7D_deepguard-whitepaper.pdf” description=”Deepguard%20Whitepaper”]
Categorieën