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