Er zijn twee kanten aan alles

Hoe u kunt detecteren en voorkomen dat aanvallers deze verschillende technieken gebruiken

Obfuscation is een belangrijke techniek voor het beschermen van software die ook risico’s met zich meebrengt, vooral wanneer gebruikt door malware-auteurs. In dit artikel onderzoeken we obfuscation, de effecten ervan en reacties erop.

Wat is verduistering?

Obfuscation is de techniek om informatie opzettelijk moeilijk leesbaar te maken, met name in computercodering. Een belangrijk gebruiksvoorbeeld is data obfuscation, waarbij gevoelige gegevens onherkenbaar worden gemaakt om ze te beschermen tegen ongeautoriseerde toegang. Hiervoor worden verschillende methoden gebruikt.

Bijvoorbeeld, alleen de laatste vier cijfers van een creditcardnummer worden vaak weergegeven, terwijl de overige cijfers worden vervangen door X’en of sterretjes. Encryptie daarentegen houdt in dat gegevens worden omgezet in een onleesbare vorm die alleen kan worden gedecodeerd met een speciale sleutel.

Verduistering in code

Wanneer computercode wordt verduisterd, worden complexe taal en redundante logica gebruikt om de code moeilijk te begrijpen te maken. Het doel? Om zowel menselijke lezers als programma’s zoals decompilers te misleiden. Om dit te doen, worden delen van de code gecodeerd, metadata verwijderd of betekenisvolle namen vervangen door betekenisloze. Het invoegen van ongebruikte of betekenisloze code is ook een veelvoorkomende praktijk om de werkelijke code te verhullen.

Een zogenaamde obfuscator kan deze processen automatiseren en de broncode zo aanpassen dat deze nog steeds werkt, maar moeilijker te begrijpen is.

Andere methoden van verduistering zijn onder meer het comprimeren van het hele programma, het onleesbaar maken van de code en het wijzigen van de besturingsstroom om ongestructureerde, moeilijk te onderhouden logica te creëren.

Het invoegen van dummycode die geen invloed heeft op de logica of het programmaresultaat komt ook vaak voor.

Vaak worden meerdere technieken gecombineerd om een ​​gelaagd effect te bereiken en de veiligheid te vergroten.

De andere kant

Helaas is obfuscation niet alleen een bescherming, het is ook een uitdaging. Obfuscation wordt niet alleen gebruikt door legitieme softwareontwikkelaars, maar ook door auteurs van kwaadaardige software. Het doel van obfuscation is om cyberaanvallers te anonimiseren, het risico op detectie te verkleinen en malware te verbergen door de algehele handtekening en vingerafdruk van de kwaadaardige code te wijzigen, zelfs als de payload een bekende bedreiging is. De handtekening is een hash, een unieke alfanumerieke weergave van een malware-element. Handtekeningen worden heel vaak gehasht, maar ze kunnen ook een andere korte weergave zijn van een unieke code binnen een malware-element.

In plaats van te proberen een nieuwe handtekening te creëren door de malware zelf te wijzigen, richt obfuscation zich op implementatiemechanismen om antivirusoplossingen die afhankelijk zijn van handtekeningen voor de gek te houden. Vergelijk dit met het gebruik van machine learning, voorspellende analyse en kunstmatige intelligentie om verdedigingen te verbeteren.

Obfuscation, of het vermommen van code, kan zowel “goed” als “slecht” zijn. In het geval van “slechte” obfuscation combineren hackers verschillende technieken om malware te verbergen en meerdere lagen van vermomming te creëren. Een van deze technieken is packers. Dit zijn softwarepakketten die malware comprimeren om de aanwezigheid ervan te verbergen en de originele code onleesbaar te maken. Dan zijn er nog cryptografen die malware of delen van software versleutelen om de toegang tot code te beperken die antivirusprogramma’s zou kunnen waarschuwen.

Een andere methode is het invoegen van dode code. Dit houdt in dat er nutteloze code in de malware wordt ingevoegd om het uiterlijk van het programma te verhullen. Aanvallers kunnen ook command modification gebruiken, wat inhoudt dat de command codes in malware programma’s worden gewijzigd. Dit verandert het uiterlijk van de code, maar niet het gedrag ervan.

Verduistering

Obfuscatie in de code is, zoals we hebben gezien, slechts de eerste stap, want ongeacht hoeveel werk de hacker steekt in het obfusceren van de code om EDR te omzeilen, malware moet binnen het netwerk en met de buitenwereld communiceren om “succesvol” te zijn. Dit betekent dat communicatie ook moet worden geobfusceerd. In tegenstelling tot vroeger, toen netwerken snel werden gescand en er onmiddellijk werd geprobeerd om gegevens in het terabytebereik tegelijk te extraheren, communiceren aanvallers vandaag de dag stiller, zodat de sensoren en schakelaars voor de bewakingstools niet toeslaan.

Het doel om IP-adressen te verkrijgen via scanning bijvoorbeeld, wordt nu langzamer gevolgd om onder de radar te blijven. Ook verkenning, waarbij de dreigingsactoren proberen om gegevens te verzamelen over hun beoogde slachtoffers, bijvoorbeeld via hun netwerkarchitectuur, wordt trager en onduidelijker.

Een veelvoorkomende obfuscatiemethode is Exclusive OR (XOR). Deze methode verbergt data op zo’n manier dat het alleen gelezen kan worden door mensen die de code linken met 0x55 XOR. ROT13 is een andere truc waarbij letters vervangen worden door een code.

Herinneringen uit het verleden:

  • Een bekend voorbeeld van obfuscatie is de SolarWinds-aanval in 2020. Hackers gebruikten obfuscatie om verdedigingen te omzeilen en hun aanvallen te verbergen.
  • Een ander interessant voorbeeld is PowerShell, een Microsoft Windows-tool die aanvallers misbruiken. Malware die PowerShell gebruikt, verhult zijn activiteiten via technieken zoals string-encoding, command obfuscation, dynamic code execution en meer.
  • Een ander voorbeeld is de XLS.HTML-aanval. Hierbij gebruikten hackers uitgebreide verduisteringstechnieken om hun kwaadaardige activiteiten te verbergen. Ze veranderden hun encryptiemethoden minstens tien keer binnen een jaar om detectie te voorkomen. Hun tactieken omvatten platte tekst, escape-encoding, Base64-encoding en zelfs Morse-code.
  • In een andere bedreiging misbruikten aanvallers kwetsbaarheden in ThinkPHP om externe code op servers uit te voeren. Ze installeerden een gecamoufleerde webshell genaamd “Dama” die permanente toegang en verdere aanvallen mogelijk maakte.

Waarom u niet alleen op handtekeningen moet vertrouwen

Detectie op basis van handtekeningen is als een oude vriend: het is betrouwbaar als het gaat om bekende bedreigingen. Maar als het gaat om nieuwe, onbekende bedreigingen, kan het soms in het duister tasten. Hier zijn een paar redenen waarom u niet alleen op handtekeningen moet vertrouwen:

  1. Malware-auteurs zijn ware meesters in verstoppertje. Ze gebruiken verschillende technieken om hun kwaadaardige programma’s te verhullen. Zelfs kleine wijzigingen in de code kunnen ervoor zorgen dat de handtekeningdetectie mislukt.
  2. Met polymorfe malware gedraagt ​​malware zich als een kameleon. Het verandert voortdurend van structuur om detectie te voorkomen. Elke keer dat het wordt uitgevoerd, ziet de code er anders uit.
  3. Statische handtekeningen? Geen kans! Metamorfe malware is nog lastiger. Het past zich aan tijdens de uitvoering en verandert zijn code dynamisch, waardoor het bijna onmogelijk is om het te vangen met statische handtekeningen.
  4. Bovendien gedragen zero-day exploits zich als de “nieuwe jongen op de blok”: ze zijn nieuw en onbekend, en systemen op basis van handtekeningen kunnen ze niet herkennen.
  5. Bovendien wordt een handtekeninggebaseerde oplossing inefficiënt wanneer deze te veel false positives retourneert. Te veel false alerts in de dagelijkse gang van zaken beïnvloeden uw beveiligingsteam en verspillen waardevolle resources.

Kortom, signature detection, bijvoorbeeld in een EDR, is een nuttig hulpmiddel, maar het is op zichzelf niet genoeg om alle bedreigingen af ​​te weren. Een uitgebreidere beveiligingsstrategie die ook gedragsanalyse, machine learning en andere moderne technieken omvat, is essentieel.

Waarom NDR-tools zo belangrijk zijn

Op anomalieën gebaseerde IDS-oplossingen zijn als detectives die het normale gedrag van een systeem in de gaten houden en alarm slaan wanneer ze ongebruikelijke activiteit detecteren. Maar Network Detection and Response (NDR)-tools gaan nog een stap verder: ze passen zich voortdurend aan om het veranderende cyberdreigingslandschap een stap voor te blijven en bieden een aanzienlijk hoger beveiligingsniveau dan traditionele op handtekeningen gebaseerde benaderingen door hun geavanceerde analyse en integratie. Ze kunnen zowel bekende als onbekende bedreigingen detecteren en verdedigen.

Verduistering

Zo doen ze dat:

  • Gedragsanalyse: NDR-tools monitoren netwerkverkeer en analyseren gedrag. Ze detecteren ongebruikelijke patronen die kunnen duiden op command-and-control (C&C)-communicatie, zoals onregelmatige gegevensoverdrachten.
  • Protocolbewaking: Ze onderzoeken HTTP-verzoeken, DNS-verkeer en andere protocollen om verdacht gedrag of communicatie te detecteren die mogelijk verband houden met verhulde malware.
  • Metadata-analyse: NDR-tools analyseren metadata om ongebruikelijke patronen te detecteren die duiden op verdachte activiteit. Machine learning-modellen helpen bij het identificeren van typische verduisteringstechnieken die zichtbaar zijn via verdacht gedrag in netwerkverkeer.
  • Monitoring van communicatie op lange termijn: Omdat het verduisteren van communicatie nu cruciaal is voor hackers, aangezien ze langzamere en sluipende technieken gebruiken om detectie te omzeilen en gegevens binnen en buiten netwerken te verzamelen, is het nuttig dat NDR ook naar langere tijdsperioden kijkt, bijvoorbeeld 3 dagen, naast de mogelijkheid om batch-runs uit te voeren, bijvoorbeeld binnen enkele minuten, om vergelijkbare waarden te hebben en onregelmatigheden te bewaken en te detecteren, en realtime waarschuwingen zouden leiden tot een groot aantal waarschuwingen als er elke minuut of zo een scan met een ping wordt gedetecteerd. Maar is elke ping een aanval? Zeker niet!
  • Mijter ATT&CK en ZEEK: Deze protocollen bieden waardevolle inzichten in bedreigingen die obfuscation gebruiken. Hun integratie met NDR-tools verbetert de mogelijkheden voor bedreigingsdetectie aanzienlijk.
  • Bedreigingsgegevens delen: NDR-tools delen dreigingsgegevens met andere beveiligingsoplossingen. Dit maakt snellere detectie van bekende verduisteringstechnieken en verdacht gedrag mogelijk. De integratie met EDR-tools stelt hen in staat om verdachte activiteiten op eindpunten te correleren met netwerkverkeer, wat de beveiligingsanalyse aanzienlijk verbetert.
Waarom NDR een cruciaal beveiligingsinstrument is

Voor meer informatie Waarom NDR een cruciaal beveiligingsinstrument is en hoe het zelfs de meest geavanceerde bedreigingen en complexe vormen van verduistering detecteert. Download ons whitepaper over detectie van geavanceerde persistente bedreigingen (APT).

Bekijk onze opgenomen video over APT-detectie om te zien hoe NDR zich gedraagt ​​in uw bedrijfsnetwerk en hoe het precies APT’s detecteert en erop reageert.

APT-detectievideo


Thijs Van der Does