image

"Dynamisch geobfusceerde malware is oude koek"

vrijdag 19 januari 2007, 11:49 door Redactie, 5 reacties

Beveiligingsbedrijf Finjan haalde onlangs nog 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 menig ander beveiligingsbedrijf valt het allemaal wel mee, sterker nog, deze tactiek bestaat al jaren. "Er is niets nieuws aan het gebruik van versleutelde code door hackers. Dit wordt al jaren met virussen gedaan. De recente waarschuwing werd vroeger polymorfisme of mutatie genoemd. De meeste virussen vandaag de dag zijn versleuteld" aldus David Perry van Trend Micro.

Ook David Marcus van McAfee's AvertLabs is niet onder de indruk. De meeste virusscanners weten namelijk hoe ze verborgen bestanden moeten scannen. "Hiermee hebben we elke dag te maken. Hackers versleutelen de code met een encryptie programma, wij pakken het uit om de content te analyseren". Alleen de manier waarop de payload versleuteld wordt zou nieuw kunnen zijn, maar in dit geval is het schrijven van een nieuwe unpacker de oplossing. Beide experts zijn het erover eens dat het neerkomt op het circuleren van oude verhalen.

Reacties (5)
19-01-2007, 14:18 door Anoniem
Finjan heeft gelijk dat het vaker voorkomt, en ze beweren ook niet dat het
niet gescand kan worden (dit security.nl artikel geeft dat onjuist weer). Ze
zeggen dat signature scanners er steeds een nieuwe signature voor
moeten maken. En dat is volkomen waar. Het is ook mede een reden dat
het aantal signatures explosief stijgt.

Perry en Marcus hebben gelijk dat de techniek niets nieuws is en dat anti-
virus het toch wel kan detecteren, maar dat neemt niet weg dat er
momenteel te weinig aan generieke detectie wordt gedaan.
19-01-2007, 16:42 door Anoniem
Polymorphisme is zooooo 1993 XD
20-01-2007, 00:42 door Grudge
De meeste virussen vandaag de dag zijn versleuteld

Was dat niet de reden voor AV ontwikkelaars om met signatures te gaan werken..? Of vergis ik mij...
20-01-2007, 01:57 door Anoniem
Door TT
De meeste virussen vandaag de dag zijn versleuteld

Was dat niet de reden voor AV ontwikkelaars om met signatures te gaan
werken..? Of vergis ik mij...

Signatures zijn oorspronkelijk een aantal opeenvolgende bytes. Niet lang
daarna werden al andere methoden gebruikt, die je ook als signatures kan
omschrijven. :)
20-01-2007, 04:56 door Anoniem
Is David Perry van mening dat dynamic code obfuscation alleen door
middel van verborgen bestanden en versleutelen gebeurd?

Obfuscatie methodes:
Een obfuscatie method voor programma code heeft als doel de code er
anders of onleesbaar uit te laten zien. De geobfusceerde programma
code moet het zelfde beoogde resultaat opleveren als de originele code.

Layout obfuscatie
- Namen van variable aanpassen
- Programma code indeling aanpassen
- Commentaar aanpassen
Gegevens obfuscatie methodes
-Gegevens opslag obfuscatie
-Gegevenscoderings obfuscatie
-gegevensrangschikking obfuscatie (gegevensgroeperings obfuscatie en
gegevensvolgorde obfuscatie)
Programma instructie doorloop obfuscatie
- instructie volgorde
- instructies groeperen (inlining/outlining)
up-coversion /down-coversion
epo(entry point obscursion)

"Alleen de manier waarop de payload versleuteld wordt zou nieuw kunnen
zijn, maar in dit geval is het schrijven van een nieuwe unpacker de
oplossing"
Laat het nu eens zijn dat de packers/obfuscators dynamische worden
gegenereerd bij iedere infectie. En je dus voor iedere infectie een nieuwe
unpacker/deobfuscator moet schrijven.

De volgende technieken zouden een oplossing moeten bieden
Gedragsanalyse
detectie van dinamische decryptor
sandboxing
analyse van dll inports & function calls

maar malware schrijvers hebben daar al weer een antwoord op:
- deobfuscatie/unpack systemen voor de gek houden.(Bij deobfuscatie
veranderd bijvoorbeeld vaak de lengte van de code; als de decryptie
afhankelijk is van de lengte van de code dan heb je een probleem)
-deobfuscatie systemen exploiten
-anti sandboxing (doorloop tijd controleren , offsets van dll-functies
controleren en fingprinting dll functions)

Ik heb zelf toevallig nog een keygen.exe proberen te onderzoeken in
vmware maar ik kreeg een alert in de trand van; this program can not run in
vmware :P

Ik ben trouwens bezeig met een onderzoek naar Dynamisch
geobfusceerde programma code. wat je hier boven leest zijn zo'n beetje de
inhoudsopgave.

Greetingz,
Jacco
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.