Defending browsers against drive-by downloads : mitigating heap-spraying code injection attacks

Egele, Manuel; Wurzinger, Peter; Kruegel, Christopher; Kirda, Engin
DIMVA 2009, 6th International Conference on Detection of Intrusions and Malware & Vulnerability Assessment, July 9-10, 2009, Milano, Italy / Also published in Springer LNCS 5587/2009

Drive-by download attacks are among the most common methods for spreading malware today. These attacks typically exploit memory corruption vulnerabilities in web browsers and browser plug-ins to execute shellcode, and in consequence, gain control of a victim's computer. Compromised machines are then used to carry out various malicious activities, such as joining botnets, sending spam emails, or participating in distributed denial of service attacks. To counter drive-by downloads, we propose a technique that relies on x86 instruction emulation to identify JavaScript string buffers that contain shellcode. Our detection is integrated into the browser, and performed before control is transfered  to the shellcode, thus, effectively thwarting the attack. The solution maintains fair performance by avoiding unnecessary invocations of the emulator, while ensuring that every buffer with potential shellcode is checked. We have implemented a prototype of our system, and evaluated it over thousands of malicious and legitimate web sites. Our results demonstrate that the system performs accurate detection with no false positives.


DOI
Type:
Conference
City:
Milano
Date:
2009-07-09
Department:
Digital Security
Eurecom Ref:
2776
Copyright:
© Springer. Personal use of this material is permitted. The definitive version of this paper was published in DIMVA 2009, 6th International Conference on Detection of Intrusions and Malware & Vulnerability Assessment, July 9-10, 2009, Milano, Italy / Also published in Springer LNCS 5587/2009 and is available at : http://dx.doi.org/10.1007/978-3-642-02918-9_6

PERMALINK : https://www.eurecom.fr/publication/2776