Vulnerabilities / Threats
8/4/2014
03:20 PM
Connect Directly
Google+
Twitter
RSS
E-Mail
100%
0%

How Malware Writers Cheat AV Zero-Day Detection

A researcher reverse engineers AVG's code emulation engine after easily bypassing other major antivirus software products.

As an experiment, Kyle Adams wrote what he describes as "ridiculously obvious" malware that most major antivirus products ultimately failed to detect. The only AV product that caught his malware was the freebie AVG, whose code-emulation feature sniffed it out.

So Adams, chief software architect for Junos Webapp Secure at Juniper Networks, kicked it up a notch and reverse engineered AVG's code emulation engine. Then he was able to bypass AVG's engine, as well, but he also noticed what attackers could do in that situatoin. On Tuesday, Aug. 5, at BSides Las Vegas, Adams will demonstrate how he cheated various AV products and how AV's code emulation feature for catching zero-day exploits has some weaknesses of its own.

"You start to realize things [the engines] can't handle, and if you explore them, you start to uncover compromises they didn't recognize," Adams says. However, "I didn't find anything that let me compromise the [code emulation engine] simply by [having the malware] scanned."

He plans to expose some of the engine weaknesses and name some of the major AV products his malware cheated in the first phase of his experiment. "If you know how the engine works, you can get around it."

His research shows that code emulation needs to be improved in AV products. "In some aspects, how code emulation works could be grounds for new exploits."

Adams says he's definitely not the first person to cheat an AV engine -- bad guys do it regularly -- but he wants to educate the security community on the problem. "I'd like to show how the malware authors approach the problem. I'm going to show building a virus from scratch… and testing it against the AV products like attackers do as they try to figure out how not to get detected."

His research shows that code emulation and sandboxing aren't really working anymore. "Now you can start to attack code emulators and sandboxes" themselves. At least 10% of attacks are attempting this today.

The malware Adams wrote and will demonstrate is a command-and-control bot. The JavaScript malcode he wrote runs on Windows. "It could be put together by anyone."

What can AV vendors do to beef up their code emulation? For one thing, "they should start penetration-testing their own AV software."

Adams will propose other solutions for improving code emulation. And he says he's definitely not picking on AVG, which he tried to contact before his presentation. "This is not a jab against AVG, as they get enormous credit for including such a powerful tool in a free antivirus client," he wrote in an abstract for his BSides talk.

Kelly Jackson Higgins is Executive Editor at DarkReading.com. She is an award-winning veteran technology and business journalist with more than two decades of experience in reporting and editing for various publications, including Network Computing, Secure Enterprise ... View Full Bio

Comment  | 
Print  | 
More Insights
Register for Dark Reading Newsletters
White Papers
Cartoon
Current Issue
Flash Poll
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2013-7421
Published: 2015-03-02
The Crypto API in the Linux kernel before 3.18.5 allows local users to load arbitrary kernel modules via a bind system call for an AF_ALG socket with a module name in the salg_name field, a different vulnerability than CVE-2014-9644.

CVE-2014-8160
Published: 2015-03-02
net/netfilter/nf_conntrack_proto_generic.c in the Linux kernel before 3.18 generates incorrect conntrack entries during handling of certain iptables rule sets for the SCTP, DCCP, GRE, and UDP-Lite protocols, which allows remote attackers to bypass intended access restrictions via packets with disall...

CVE-2014-9644
Published: 2015-03-02
The Crypto API in the Linux kernel before 3.18.5 allows local users to load arbitrary kernel modules via a bind system call for an AF_ALG socket with a parenthesized module template expression in the salg_name field, as demonstrated by the vfat(aes) expression, a different vulnerability than CVE-201...

CVE-2015-0239
Published: 2015-03-02
The em_sysenter function in arch/x86/kvm/emulate.c in the Linux kernel before 3.18.5, when the guest OS lacks SYSENTER MSR initialization, allows guest OS users to gain guest OS privileges or cause a denial of service (guest OS crash) by triggering use of a 16-bit code segment for emulation of a SYS...

CVE-2014-8921
Published: 2015-03-01
The IBM Notes Traveler Companion application 1.0 and 1.1 before 201411010515 for Window Phone, as distributed in IBM Notes Traveler 9.0.1, does not properly restrict the number of executions of the automatic configuration option, which makes it easier for remote attackers to capture credentials by c...

Dark Reading Radio
Archived Dark Reading Radio
How can security professionals better engage with their peers, both in person and online? In this Dark Reading Radio show, we will talk to leaders at some of the security industry’s professional organizations about how security pros can get more involved – with their colleagues in the same industry, with their peers in other industries, and with the IT security community as a whole.