• DocumentCode
    128939
  • Title

    Programmable decoder and shadow threads: Tolerate remote code injection exploits with diversified redundancy

  • Author

    Ziyi Liu ; Weidong Shi ; Shouhuai Xu ; Zhiqiang Lin

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Houston, Houston, TX, USA
  • fYear
    2014
  • fDate
    24-28 March 2014
  • Firstpage
    1
  • Lastpage
    6
  • Abstract
    We present a lightweight hardware framework for providing high assurance detection and prevention of code injection attacks using a lockstep diversified shadow execution. Recent studies show that hardware diversification can detect software attacks by checking the consistency of their behavior simultaneously. Unfortunately, the severe performance degradation and extra system costs caused by these methods are unacceptable in many applications. This paper presents a hardware-level, lockstep shadow thread framework to enrich the diversity of the software execution, with the facilitation from programmable hardware decoder and novel CPU support of tightly coupled shadow thread technique. Specifically, given a piece of (legacy) binary code, we first generate diversified binary versions using an offline binary rewriter and programmable hardware binary translator at runtime. Two diversified binary code images are launched as dual simultaneous threads in the hardware layer with one as the primary thread and the other one as shadow thread. Instructions from the shadow thread are not executed but just compared, and thus incur no OS side-effects. The extended CPU is able to decode instructions from both threads, and dispatch them to the next stage pipeline for a lockstep comparison. Any mismatch of the decoded instructions from the two threads caused by remotely injected binary code will be detected. Our design provides instruction set randomization (ISR) with minimal cost in performance, when compared with straightforward ISR implementation. The simulation results indicate that our framework incurs very small overheads and provides a protection against code injection attacks.
  • Keywords
    binary codes; decoding; security of data; CPU support; code injection attack; diversified binary code image; diversified redundancy; hardware diversification; hardware level shadow thread framework; high assurance detection; instruction set randomization; lightweight hardware; lockstep diversified shadow execution; lockstep shadow thread framework; offline binary rewriter; programmable decoder; programmable hardware binary translator; programmable hardware decoder; remote code injection; software attack; software execution diversity; Benchmark testing; Binary codes; Decoding; Hardware; Instruction sets; Pipelines; Radiation detectors;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Design, Automation and Test in Europe Conference and Exhibition (DATE), 2014
  • Conference_Location
    Dresden
  • Type

    conf

  • DOI
    10.7873/DATE.2014.064
  • Filename
    6800265