Security Experts:

Windows Defender Ported to Linux in Fuzzing Tool Demo

Google Project Zero researcher Tavis Ormandy has released a tool designed for porting Windows dynamic link library (DLL) files to Linux in an effort to improve fuzzing. The expert demonstrated the tool’s capabilities by porting a Windows Defender component to Linux.

Ormandy has found vulnerabilities in several security products, including password managers and anti-malware software. Some of these flaws have been identified using a process called fuzzing, an automated testing technique that involves injecting malformed or random data into the targeted application.

Google has been promoting the use of fuzzing in the past years and the tech giant recently launched an open source fuzzing service named OSS-Fuzz.

While fuzzing can be very useful for finding vulnerabilities, Ormandy believes that distributed and scalable fuzzing on Windows can be inefficient and problematic, especially in the case of endpoint security products whose components span across the kernel and user space.

According to the researcher, fuzzing can be much more efficient on Linux, which is why he released an open source library that can be used to port Windows DLLs to Linux. Ormandy said the tool, which allows native Linux programs to load and call functions from a Windows DLL, is especially good for virus scanners, video codecs, image decoders, decompression libraries and other similar software.

“[Fuzzing in Windows] often requires spinning up an entire virtualized Windows environment to fuzz them or collect coverage data,” Ormandy said. “This is less of a problem on Linux, and I've found that porting components of Windows Antivirus products to Linux is often possible. This allows me to run the code I’m testing in minimal containers with very little overhead, and easily scale up testing.”

The researcher demonstrated how the tool works by porting a component of Windows Defender, namely Microsoft’s Malware Protection Engine (MsMpEng), to Linux.

He pointed out that the service’s main DLL, Mpengine.dll, has “a vast and complex attack surface, comprising of handlers for dozens of esoteric archive formats, executable packers, full system emulators for various architectures and interpreters for various languages.”

In fact, earlier this month, Ormandy disclosed a Malware Protection Engine vulnerability that he described as the worst Windows remote code execution flaw in recent memory.

The source code, technical details on how the tool works, and instructions on how it can be used are available on GitHub.

Related Reading: Critical WebEx Extension Vulnerability Allows Code Execution

Related Reading: LastPass Flaws Allow Hackers to Steal Passwords

view counter
Eduard Kovacs (@EduardKovacs) is a contributing editor at SecurityWeek. He worked as a high school IT teacher for two years before starting a career in journalism as Softpedia’s security news reporter. Eduard holds a bachelor’s degree in industrial informatics and a master’s degree in computer techniques applied in electrical engineering.