Researchers up evilness ante with GPU-assisted malware
Coming to a PC near you
Computer scientists have developed proof-of-concept malware that evades traditional security defenses by running on a PC's graphics processor.
The prototype taps a PC's GPU to decrypt, or “unpack,” a malicious payload from a file just prior to being run on a targeted machine. Self-unpacking techniques are a common way to defeat signature-based anti-virus scanning because they allow authors to make small changes to the compression or encryption every day or so without altering the core attack code. Up until now, the unpacking had to be performed by a PC's CPU, which places practical limits on the types of packing that can be used.
“Implementing the self-unpacking functionality of a malware binary using GPU code can pose significant obstacles to current malware detection and analysis systems,” the scientists wrote in a research paper scheduled to be presented next month at the IEEE's International Conference on Malicious and Unwanted Software.
“A malware author can take advantage of the computational power of modern graphics processors and pack the malware with extremely complex encryption schemes that ... can be efficiently computed due to the massively parallel architecture of GPUs.”
Once the prototype is finished unpacking the code, it places it in a memory location that can be accessed by the PC's CPU. The CPU then executes it.
GPU-assisted malware has the added benefit of containing a much smaller amount of code that can be executed on Intel's x86 chip architecture. That leaves a much smaller footprint to be analyzed by the vast majority of anti-virus programs, which are limited to files that use that instruction set.
The proof of concept also uses the GPU to make it much harder for security researchers to analyze the internal workings of a malicious program. So-called polymorphism has been long been used to hide a file's internals. The process becomes much more effective when it's offloaded to a GPU because keys used to decrypt parts of the code are never accessible to the CPU.
“Although complete extraction of the original code is still possible by a determined malware analyst, when combined with existing anti-debugging techniques, this form of GPU-assisted polymorphism makes the whole reverse engineering process a challenging and time-consuming task,” the paper states.
The research comes as GPU advances have drastically increased their computational power and the types of tasks they can perform. Their ability to run massively parallel software threads makes them much better suited for certain tasks, such as password cracking and media transcoding.
The prototype was designed to run on GPUs compatible with Nvidia's CUDA, or Computer Unified Device Architecture. It wouldn't be hard for attackers to include another framework in the same malicious binary that supports GPUs made by AMD.
The researchers envision a time when malware taps GPUs to become much more powerful. The obvious addition is for botnets to use GPUs to crack passwords and encryption keys. The researchers hold out other possibilities, such as malware that manipulates the CPU to display false information on a computer monitor, or the specter of malware that runs solely on the GPU with no association with processes that run on the CPU.
The paper was written by Giorgos Vasiliadis and Sotiris Ioannidis of The Foundation for Research and Technology in Greece and Michalis Polychronakis of Columbia University. A PDF of their paper is here. ®
No, they aren't.
Since people have been exploiting security vulnerabilities since long before the term "security researcher" entered common usage, I'd say you've got it wrong. The crooks get these ideas just fine without the help of white hats. Anybody with the time and the motivation to find some way to break into something will--especially if there's money in it.
Which would you rather have:
The bad guys figuring this out first and telling nobody but each other, as they've long done, or
some security researchers figuring this out first and publishing it so that it gets fixed soon?
Security through obscurity DOESN'T WORK. It just ensures that, when a crook discovers a good way to break into something, the only people who know how to fix the problem are the people who are exploiting it merrily. You might argue that the researchers should not publish this information openly, but often that's the only way to get this stuff fixed. If the people who distribute the afflicted software know, on the other hand, that this information is public knowledge, they have to either fix it or face the consequences--whereas, informed that only the "good guys" knew, they'd just as likely sit on their asses for three years before doing anything about it.
Oh no, now McCrappee will make your graphics card run like a dog too
We should have seen it coming, McCrappee has made everything else on your PC run like a dying fly in treacle, now along comes an excuse for their horrible infection, erm anti virus scanner, to intercept and slow down everything your graphics card does too.
Whoohoo, now your Nvidia 9900000ZZZXXX penis pump overclocker special can run at the same speed as a Trident TVGA 8900.
Some days I wonder why anyone bothers...
"The CPU then executes it."
On what braindamaged OS/architecture does the CPU just execute stuff you write to memory? Oh, wait... Never mind.