image

Hooligans en dynamisch geobfusceerde malware

dinsdag 30 januari 2007, 14:25 door Redactie, 7 reacties

Beveiligingsbedrijf Finjan haalde onlangs de pers met haar waarschuwing voor "dynamic code obfuscation" als methode om malware te verbergen. Volgens de onderzoekers zouden "hackers" steeds vaker deze manier toepassen om malware te verspreiden, waardoor traditionele, op signatures gebaseerde anti-virusoplossingen omzeild worden. Dynamic code obfuscation zou de nieuwste manier zijn om ontdekking te ontlopen, omdat de virussen hun payload versleutelen, zodat die niet gescand kunnen worden.

Volgens Roel Schouwenberg, Senior Research Engineer bij de Russische virusbestrijder Kaspersky Lab, blijkt uit de reacties dat er redelijk wat onduidelijkheid bestaat over wat dynamic code obfuscation nou precies is. Hij gaf ons daarom de volgende uitleg:

Polymorphic, metamorphic malware / packers+crypters
Veel mensen zeggen dat DCO niets nieuws is, omdat polymorphisme al vele jaren bestaat. Polymorphic, metamorphic malware en packers+crypters hebben één belangrijk ding met elkaar gemeen: Hoewel variërend van uiterlijk komen ze van één (static) source code af.

Toen de malware schrijver zijn polymorphic virus had geschreven werd het gecompileerd. Van daaruit is het zich gaan veranderen bij elke infectie, met als achtergrond nog steeds diezelfde source code. Er zijn een paar metamorphic infectors die hun source code daadwerkelijk bij zich dragen en deze bij een nieuwe infectie aanpassen. Deze malware is dus van huis uit dynamisch, maar niet ondetecteerbaar. De exemplaren zijn geschreven door hooligans en het is niet te verwachten dat die bron spoedig zal veranderen. Daarvoor is zulke malware te lastig te schrijven, er gaat veel te veel tijd in zitten.

Dynamic Code Obfuscation
De dynamic code obfuscation zoals recentelijk omschreven komt eigenlijk alleen op webservers voor. Een computer wil door een exploit, trojan of vrije wil een executable downloaden van een webserver. De webserver biedt daarop een aangepaste executable aan aan de client.

Het grote verschil tussen bestanden die via dynamic code obfuscation aan de man gebracht worden en polymorphic/metamorphic malware+packers is de source code. Bij DCO wordt elke keer de source code aangepast. Dit kan van de executable zijn, maar ook van de gebruikte packer/crypter. Hiervoor worden verschillende methodes gebruikt.

De intervals waarop een server een aangepaste malware aanbiedt, verschilt aanzienlijk. In sommige gevallen kan het een dag zijn, maar in andere gevallen ook een uur. Ernstiger wordt het bij intervallen van een paar minuten, tot een paar seconden, tot zelfs een unieke sample per download.

Detectie?
De hamvraag bij dit probleem is uiteraard hoe het met de detectie zit. Hiervan hangt veel van de anti-virus engine af, deze kan het leven van de analist moeilijk of gemakkelijk maken. Het is dus zeker niet voor elke anti-virus vendor even gemakkelijk om een signature te maken die een aanzienlijk aantal varianten in één klap detecteert. In de meeste gevallen wordt (generieke) detectie door de criminelen na x tijd opgemerkt en wordt de code weer aangepast. Dan begint het verhaal weer opnieuw.

Met dank aan Roel Schouwenberg

Reacties (7)
30-01-2007, 15:48 door Anoniem
Ook wel bekend als schouw op het beveiligingsforum van tweakers,
interessant stukje!
30-01-2007, 16:21 door [Account Verwijderd]
[Verwijderd]
30-01-2007, 21:09 door Anoniem
Een relatief eenvoudige manier voor code obfuscation is door middel van
serverside scripting je 'informatie' te verbergen.

Je kunt in een PHP script eenvoudig random data laten genereren die op
de juiste manier door een javascript op de client wordt gedecodeerd.

Ik wil de eerste Anti Virus scanner nog wel eens zien die hiermee op de
juiste manier omgaat :)


Wat betreft de code die wordt uitgevoerd: Het is eigenlijk allemaal
hetzelfde, het maakt niet meer uit. Je bent de pineut.

Je machine wordt door derden misbruikt om geld te verdienen. Of het nu is
om Spam te versturen, voor warez storage of voor data storage van phising
aanvallen.
31-01-2007, 11:52 door Anoniem
Interessant, dat maakt het duidelijk. Deze informatie had ik nog niet uit de
eerdere (en warrige) berichten kunnen filteren. Met "hooligans" bedoelt hij
waarschijnlijk o.a. z0mbie (met mistfall), en The Mental Driller (met tuareg).
03-02-2007, 05:07 door [Account Verwijderd]
[Verwijderd]
03-02-2007, 19:11 door Bitwiper
Door rookie gew. op: 30-01-2007 16:46
1. Een goeroe vindt een lek in een stuk software, hij schrijft daar een exploit voor.
Dat heeft nauwelijks tot niets te maken met waar Roel over schrijft. Bij een exploit in bijv. Word of Excel is meestal een karakteristieke reeks bytes aanwezig waar de malware verspreider slechts beperkt (in elk geval vaak voorspelbaar) in kan varieeren. Het enige probleem daarbij is de tijd dat het duurt na de eerste besmetting totdat jouw virussscanner die exploit (en mogelijke variaties) herkent.

Bij exploits in browsers of netwerk services is het maar helemaal de vraag of de virusscanner toegang tot de exploit code krijgt voordat die wordt uitgevoerd.

Waar Roel vooral op doelt zijn de trojans die sinds dit jaar massaal gespammed worden met namen als 'postcard.exe'. Ergens op deze webpage staat (bij mij in elk geval) de 'Pine Virus Top 5'. Op dit moment zie ik daar staan over de laatste 24 uur:

1.Trojan.Download... 49%
2.HTML.Phishing.B... 10%
3.HTML.Phishing.B... 3%
4.HTML.Phishing.B... 2%
5.HTML.Phishing.B... 2%
1 op de 40.9 mailtjes bevat een virus

Die Trojan.Downloader staat weer met stip op 1. De exploit die daarbij gebruikt wordt is een [url=http://www.urbandictionary.com/define.php?term=pebkac]PEBKAC[/url].
15-02-2007, 13:49 door [Account Verwijderd]
[Verwijderd]
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.