• DocumentCode
    1452275
  • Title

    Runtime Defense against Code Injection Attacks Using Replicated Execution

  • Author

    Salamat, Babak ; Jackson, Todd ; Wagner, Gregor ; Wimmer, Christian ; Franz, Michael

  • Author_Institution
    Qualcomm, Inc., Santa Clara, CA, USA
  • Volume
    8
  • Issue
    4
  • fYear
    2011
  • Firstpage
    588
  • Lastpage
    601
  • Abstract
    The number and complexity of attacks on computer systems are increasing. This growth necessitates proper defense mechanisms. Intrusion detection systems play an important role in detecting and disrupting attacks before they can compromise software. Multivariant execution is an intrusion detection mechanism that executes several slightly different versions, called variants, of the same program in lockstep. The variants are built to have identical behavior under normal execution conditions. However, when the variants are under attack, there are detectable differences in their execution behavior. At runtime, a monitor compares the behavior of the variants at certain synchronization points and raises an alarm when a discrepancy is detected. We present a monitoring mechanism that does not need any kernel privileges to supervise the variants. Many sources of inconsistencies, including asynchronous signals and scheduling of multithreaded or multiprocess applications, can cause divergence in behavior of variants. These divergences cause false alarms. We provide solutions to remove these false alarms. Our experiments show that the multivariant execution technique is effective in detecting and preventing code injection attacks. The empirical results demonstrate that dual-variant execution has on average 17 percent performance overhead when deployed on multicore processors.
  • Keywords
    computer crime; multi-threading; multiprocessing systems; asynchronous signal; attack detection; code injection attack; computer systems attack; dual variant execution; false alarm; intrusion detection system; monitoring mechanism; multicore processor; multiprocess application; multithreaded application; multivariant execution technique; replicated execution; Kernel; Monitoring; Multicore processing; Security; Synchronization; Writing; Intrusion detection; multivariant execution; n-variant execution; system call.;
  • fLanguage
    English
  • Journal_Title
    Dependable and Secure Computing, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1545-5971
  • Type

    jour

  • DOI
    10.1109/TDSC.2011.18
  • Filename
    5714703