• DocumentCode
    1330150
  • Title

    Architectural Enhancement and System Software Support for Program Code Integrity Monitoring in Application-Specific Instruction-Set Processors

  • Author

    Lin, Hai ; Fei, Yunsi ; Guan, Xuan ; Shi, Zhijie Jerry

  • Author_Institution
    Dept. of Electr. & Comput. Eng., Univ. of Connecticut, Storrs, CT, USA
  • Volume
    18
  • Issue
    11
  • fYear
    2010
  • Firstpage
    1519
  • Lastpage
    1532
  • Abstract
    Program code in a computer system can be altered either by malicious security attacks or by various faults in microprocessors. At the instruction level, all code modifications are manifested as bit flips. In this paper, we present a generalized methodology for monitoring code integrity at run-time in application-specific instruction-set processors. We embed monitoring microoperations in machine instructions, so the processor is augmented with a hardware monitor automatically. The monitor observes the processor´s execution trace at run-time, checks whether it aligns with the expected program behavior, and signals any mismatches. Since the monitor works at a level below the instructions, the monitoring mechanism cannot be bypassed by software or compromised by malicious users. We discuss the ability and limitation of such monitoring mechanism for detecting both soft errors and code injection attacks. We propose two different schemes for managing the monitor, the operating system (OS) managed and application controlled, and design the constituent components within the monitoring architecture. Experimental results show that with an effective hash function implementation, our microarchitectural support can detect program code integrity compromises at a high probability with small area overhead and little performance degradation.
  • Keywords
    file organisation; instruction sets; microprocessor chips; operating systems (computers); program compilers; security of data; system monitoring; application-specific instruction-set processor; architectural enhancement; bit flips; code injection attack; code modification; computer system; hardware monitor; hash function; machine instruction; malicious security attack; microarchitectural support; microoperation; microprocessor faults; monitoring architecture; operating system; program behavior; program code integrity monitoring; soft error; system software support; Application specific processors; Computer aided instruction; Computer security; Computerized monitoring; Condition monitoring; Hardware; Microprocessors; Runtime; Signal processing; System software; Application-specific instruction-set processors (ASIPs); microarchitecture support for security and reliability; microprocessors;
  • fLanguage
    English
  • Journal_Title
    Very Large Scale Integration (VLSI) Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1063-8210
  • Type

    jour

  • DOI
    10.1109/TVLSI.2009.2025765
  • Filename
    5332238