Det er tidligere blevet vist teoretisk, at det skulle være muligt at konstruere malware ved at bruge forskellige stykker kode fra forskellige programmer installeret på computeren.
Vishwath Mohan og Kevin Hamlen fra University of Texas har nu omsat teori til praksis og skabt programmet Frankenstein. Det følger et grundlæggende design og bruger forskellige stykker kode fundet i andre programmer hver gang den inficerer en ny computer.
Dette arbejde har de publiceret på konferencen 6th USENIX Workshop on Offensive Technologies. Forskerne beviser med Frankenstein, at det er muligt at udvikle malware, som er meget svært at opdage for antivirusprogrammer. I testen har Frankenstein ikke fuld malware-funktionalitet, men omfatter kun to simple funktioner, hvilket forskerne dog mener er nok til at vise, at metoden er brugbar.
Kevin Hamlen, University of Texas skrev:
The two test algorithms we chose are simpler than full malware, but they are representative of the sort of core logic that real malware uses to unpack itself. We consider this a strong indication that this could be scaled up to full malware.
Allerede i dag forsøger malware at mutere sig til ukendelighed, men antivirusprogrammerne kan alligevel ofte finde malwaren. Med udgangspunkt i blot tre stykker software, har Frankenstein oftest adgang til over 100.000 forskellige stykker kode, som kan bruges til at sammensætte en ny udgave sig selv, der ikke er kendt af antivirusprogrammerne.
Marco Cova fra University of Birmingham mener, at det derfor kan blive et problem for antivirusprogrammer i fremtiden at bekæmpe malware som Frankenstein. Dog mener han, at antivirusprogrammer i stedet for at kigge efter specifikke programstumper kan kigge efter mønstre, som er lig med de brugte stykker kode eller funktionen af et program.
Marco Cova, University of Birmingham skrev:
If the definition of maliciousness is ‘a program reads my keystrokes and sends them to a remote website’ then you don’t care about the specific byte sequences that implement this behavior.