|
ABSTRACT
Remotely-launched software exploits are a common way for attackers to intrude into vulnerable computer systems. As detection techniques improve, remote exploitation techniques are also evolving. Recent techniques for evasion of exploit detection include polymorphism (code encryption) and meta-morphism (code obfuscation). This paper addresses the problem of detecting in network traffic polymorphic remote exploits that are encrypted, and that self-decrypt before launching the intrusion. Such exploits pose a great challenge to existing malware detection techniques, partly due to the non-obvious starting location of the exploit code in the network payload.We describe a new method for detecting self-decrypting exploit codes. This method scans network traffic for the presence of a decryption routine, which is characteristic of such exploits. The proposed method uses static analysis and emulated instruction execution techniques. This improves the accuracy of determining the starting location and instructions of the decryption routine, even if self-modifying code is used. The method outperforms approaches that have been previously proposed, both in terms of detection capabilities, and in detection accuracy.The proposed method has been implemented and tested on current polymorphic exploits, including ones generated by state-of-the-art polymorphic engines. All exploits have been detected (i.e., a 100% detection rate), including those for which the decryption routine is dynamically coded, or self-modifying. The false positive rate is close to 0%. Running time is approximately linear in the size of the network payload being analyzed.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Common vulnerabilities and exposures. http://cve.mitre.org/cve/downloads/full-cve.csv.
|
| |
2
|
Computer Economics. http://www.computereconomics.com.
|
| |
3
|
Intel Architecture Software Developers Manual. Volume 2: Instruction Set Reference.
|
| |
4
|
Metasploit project. http://www.metasploit.org.
|
| |
5
|
The ADMmutate polymorphic engine. http://www.ktwo.ca/ADMmutate-0.8.4.tar.gz.
|
| |
6
|
The CLET polymorphism engine. http://www.phrack.org/show.php?p=61&a=9.
|
| |
7
|
Bro Intrusion Detection System, 2003. http://www.bro-ids.org.
|
| |
8
|
Snort: an open source network intrusion prevention and detection system, 2005. http://www.snort.org.
|
| |
9
|
P. Akritidis, E. Markatos, M. Polychronakis, and K. Anagnostakis. STRIDE: Polymorphic Sled Detection through Instruction Sequence Analysis. In Proceedings of the 20th IFIP International Information Security Conference (SEC'05), pages 375--392, June 2005.
|
| |
10
|
R. Chinchani and E. Berg. A Fast Static Analysis Approach To Detect Exploit Code Inside Network Flows. In Proceedings of the 8th International Symposium on Recent Advances in Intrusion Detection (RAID'05), pages 284--308, September 2005.
|
| |
11
|
|
| |
12
|
|
| |
13
|
C. Kruegel, W. Robertson, F. Valeur, and G. Vigna. Static Disassembly of Obfuscated Binaries. In Proceedings of the 13th USENIX Security Symposium, pages 255--270, Auguest 2004.
|
| |
14
|
|
| |
15
|
|
| |
16
|
|
| |
17
|
J. Newsome, B. Karp, and D. Song. Paragraph: Thwarting Signature Learning By Training Maliciously. In Proceedings of the 9th International Symposium on Recent Advances in Intrusion Detection (RAID'06), September 2006.
|
| |
18
|
U. Payer, M. Lamberger, and P. Teufl. Hybrid engine for polymorphic code detection. In Proceedings of the Conference on Detection of Intrusions and Malware & Vulnerability Assessment(DIMVA'05), pages 19--31, July 2005.
|
| |
19
|
M. Polychronakis, K. Anagnostakis, and E. Markatos. Network-Level Polymorphic Shellcode Detection Using Emulation. In Proceedings of the Conference on Detection of Intrusions and Malware & Vulnerability Assessment(DIMVA '06), July 2006.
|
| |
20
|
|
| |
21
|
S. Sidiroglou and A. Keromytis. Countering Network Worms Through Automatic Patch Generation. In Research Report, 2003.
|
| |
22
|
T. Toth and C. Kruegel. Accurate Buffer Overflow Detection via Abstract Payload Execution. In Proceedings of the 5th International Symposium on Recent Advances in Intrusion Detection (RAID'02), pages 274--291, October 2002.
|
| |
23
|
X. Wang, C. Pan, P. Liu, and S. Zhu. SigFree: A Signature-free Buffer Overflow Attack Blocker. In Proceedings of the 15th USENIX Security Symposium, pages 225--240, July 2006.
|
| |
24
|
J. Xu, Z. Kalbarczyk, and R. K. Iyer. Transparent runtime randomization for security. In Proceedings of the 22th International Symposium on Reliable Distributed Systems (SRDS'03), pages 260--269, October 2003.
|
| |
25
|
V. Yegneswaran, J. Giffin, P. Barford, and S. Jha. An architecture for generating semantic-aware signatures. In Proceedings of the 14th USENIX Security Symposium, pages 97--112, August 2005.
|
|