Bugs found that can turn security tools against their users

Published 21 August 2007

Researchers find parser flaws that may cause defense-in-depth of corporate computers to backfire

A retrovirus is an enveloped viruse possessing an RNA genome, replicating via a DNA intermediate. Retroviruses use the enzyme reverse transcriptase to perform the reverse transcription of its genome from RNA into DNA, which can then be integrated into the host’s genome with an integrase enzyme. The virus then replicates as part of the cell’s DNA. This reverse transcription is at the core of the difficulty in finding an effective vaccine against HIV infection: The HIV retrovirus fools the cells of which the body’s immune system consists — helper T cells (specifically CD4+ T cells), macrophages, and dendritic cells — and integrates itself with them, then methodically proceeds to destroy them. The analogy may be a bit stretched, but we note that European researchers have discovered flaws in antivirus and host-based IDS/IPS engines that could cause these server-based security products to turn on their users. Kelly Jackson Higgins, of the always insightful Dark Reading, writes that the researchers have pinpointed hundreds of instances of two types of bugs in the parser engines of security scanners: AV evasion bugs that let attackers sneak malware past these tools and onto the corporate network; and code execution bugs, which can do anything from read and send email from a victim’s email server to open a backdoor into the network.

Thierry Zoller (we like the motto on his personal Web page: “Reality is merely an illusion, albeit a very persistent one”), security engineer for Oberursel, Germany-based security firm n.runs, and Sergio Alvarez, head of research for n.runs, have been researching these bugs for a while now, and Zoller says they have found an unprecedented number of bugs in these products. The two researchers plan to present their findings and demonstrate proof-of-concept at the HackLu2007 conference in Luxembourg in October.

Many of the bugs have now been addressed by security patches from security vendors or are in the process of being patched, but Zoller says he and Alvarez are at the same time also reporting more of them to vendors. Even more worrisome is the pervasiveness of these holes — security vendors often use the same parser engine code for multiple products, so the bug would not only be in their AV engines, but across their IDS/IPSes as well, Zoller says. “These [security products] are inside the DMZ and can be used against you,” he warns. “When an e-mail gets inside a corporate network, [for example], it’s mostly trusted.”

AV evasion attacks can be used to sneak past the first AV scanner and get inside the corporate network. Especially troublesome are code execution bugs, since they affect any files which are parsed, including ZIP, RAR, ACE, and PDF. “The engines try to parse the format of the files, thus exposing flaws within the parsing engine,” Zoller says, noting that when an AV engine tries to scan it, it will inadvertently execute exploit code which he and Alvarez wrote. Now, when AV evasion is mixed with code-execution bugs in these products, it becomes a lethal cocktail, in effect using the AV or IDS/IPS parser engine as an unsuspecting accomplice in an attack. An attacker could send an e-mail with a malicious ZIP file to the victim, and “as soon as the AV engine goes to look inside [the file], the [malicious] code will execute,” unbeknownst to the victim. An attacker could launch denial-of-service and remote-code execution exploits, Zoller adds.

Randy Abrams, director of technical education for San Diego, California-based AV vendor ESET, while saying that the threat from these bugs is not likely to affect the average user, admits that it is possible, in theory at least, for a security scanner inadvertently to execute the malicious code. “To execute, it has to get loaded into memory.” Abrams also points out that this type of flaw is not just in parser engines, but also in a file decompression engine as well. Why have these bugs not been widely addressed? “A lot of these bugs would have been found if [the vendors] had done source-code analysis,” Zoller says, although he notes that finding these bugs quickly requires investing a lot of time to develop the proper tools.