The problem with hunting for malware is that most currently available analysis tools tip off the attacker that you're doing it. But at next month's Black Hat conference, a researcher will release a tool that is harder to detect -- and harder to avoid -- than the malware analyzers currently on the market.
Paul Royal, principal researcher at botnet hunter Damballa Inc., will make, on Aug. 6, a Black Hat presentation on a tool called Azure, which will be published as an open-source proof of concept, available for free to enterprises or vendors.
Azure is an external analysis tool that is based on Intel VT, a hardware-assisted means of virtualizing the PC. It allows the user to create the equivalent of an x86 processor-based environment that can be used to detect and analyze malware at the instruction level or at the Windows native API level.
The Intel VT-based approach will be harder to detect and evade than currently available malware analysis approaches, Royal says. Today, most analyzers rely on a debugger-based approach that directly instrument malicious programs. However, many malware authors now have methods for detecting these "in-guest" sandboxes and avoiding them, he observes.
Other malware analyzers, such as QEMU, emulate the x86 hardware beneath the operating system, which make them more difficult for hackers to detect. However, in order to operate, these tools generally require full-system emulation, and the emulated systems don't run quite the same way that "live" PCs do. Increasingly, attackers are able to detect the behavior of emulated systems and set their malware to exit before it's captured by the analyzer.
Azure uses Intel VT, which operates outside the operating system but doesn't require full-system emulation, Royal says. Instead, it creates a sandbox with an "equivalent" physical processor that can be safely infected with malware for analysis without tipping off the malware that it's attacking a virtual environment.
Royal tested Azure against Saffron, which uses the in-guest approach, and Renovo, which uses full-system emulation. In the tests, all three tools attempted to identify program code that was hidden using 15 popular "packing" tools, which are used to obfuscate malicious applications. In the end, Azure was the only one of the three that was able to uncover the program code in all 15 cases.
An attacker could build an exploit that is set to detect hardware virtualization, Royal concedes. But once virtualization has been turned on, subsequent programs can't turn it on again, so it would be difficult for malware to take advantage of such an exploit, he says.
"If they took that approach, they'd actually be shrinking the number of potential targets," he says.
Royal has prepared a white paper that describes his proof of concept and will be publishing code as well. Neither the paper nor the POC will be posted on the Web until the first week of August.
Have a comment on this story? Please click "Discuss" below. If you'd like to contact Dark Reading's editors directly, send us a message.