DocumentCode :
2530317
Title :
Spector: Automatically Analyzing Shell Code
Author :
Borders, Kevin ; Prakash, Atul ; Zielinski, Mark
Author_Institution :
Univ. of Michigan, Ann Arbor
fYear :
2007
fDate :
10-14 Dec. 2007
Firstpage :
501
Lastpage :
514
Abstract :
Detecting the presence of buffer overflow attacks in network messages has been a major focus. Only knowing whether a message contains an attack, however, is not always enough to mitigate the threat. It may also be critical to know what it does. Unfortunately, shell code is written in low-level assembly language, and can be obfuscated. The current method of analyzing shell code, manual reverse engineering, is time-consuming, requires significant expertise, and would be nearly impossible for a wide-scale polymorphic attack. In this paper, we introduce Spector, a symbolic execution engine that extracts meaningful high-level actions from shell code. Spector´s high-level output helps facilitate attack mitigation and classification of different payloads that have the same behavior. To evaluate Spector, we tested it with over 23,000 unique payloads. It identified eleven different classes of shell code, and processed all the payloads in just over three hours. Spector also successfully classified polymorphic instances of the same shell code.
Keywords :
security of data; systems analysis; Spector; buffer overflow attacks; low-level assembly language; shell code; symbolic execution engine; wide-scale polymorphic attack; Application software; Assembly; Buffer overflow; Computer security; Internet; Intrusion detection; Libraries; Payloads; Reverse engineering; Search engines;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Computer Security Applications Conference, 2007. ACSAC 2007. Twenty-Third Annual
Conference_Location :
Miami Beach, FL
ISSN :
1063-9527
Print_ISBN :
978-0-7695-3060-4
Type :
conf
DOI :
10.1109/ACSAC.2007.11
Filename :
4413015
Link To Document :
بازگشت