• 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