Reverse Engineering Windows Defenders Emulator
Alexei Bulazel presents reverse engineering windows defenders emulator: Windows Defender Antivirus's mpengine.dll implements the core of Defender's functionality in an enormous ~11 MB, 30,000+ function DLL.
Summary
Architecture and Background
Windows Defender Antivirus's mpengine.dll implements the core of Defender's functionality in an enormous ~11 MB, 30,000+ function DLL.
Vulnerability Analysis
In this presentation, we'll look at Defender's emulator for analysis of potentially malicious Windows binaries on the endpoint. To the best of my knowledge, there has never been a conference talk or publication on reverse engineering any antivirus binary emulator before.
Exploitation and Demonstrations
We'll cover a range of topics including emulator internals—machine code to intermediate language translation and execution; memory management; Windows API emulation; NT kernel emulation; file system and registry emulation; integration with Defender's antivirus features; the virtual environment; etc.—building custom tooling for instrumenting the emulator; tricks that binaries can use to evade or subvert analysis; and attack surface within the emulator.
Remediation and Defensive Strategies
Attendees will leave with an understanding of how modern antivirus software conducts emulation-based dynamic analysis on the endpoint, and how attackers might go about subverting or attacking these systems. I'll publish code for a binary for exploring the emulator from within, patches that I developed for instrumenting Defender built on top of Tavis Ormandy's loadlibrary project, and IDA scripts to help with analyzing mpengine.dll and Defender's "VDLLs"
Related talks
Main Stage·42 min
Greenstadt · Dr Caliskan
Greenstadt and Dr Caliskan presents de-anonymizing programmers from source code: Many hackers like to contribute code, binaries, and exploits under pseudonyms, but how anonymous are these contributions really?
Main Stage·25 min
Guang Gong
Guang Gong presents pwning thetoughest target, the largest bug bounty in the history of asr: In recent years, Google has made many great efforts in exploit mitigation and attack surface reduction to strengthen the s...
Main Stage·35 min
Yu Wang
Yu Wang presents attacking the macos kernel graphics driver: Just like the Windows platform, graphic drivers of macOS kernel are complicated and provide a large promising attack surface for EoPs and sandbox escapes...


