• DocumentCode
    939290
  • Title

    Hardware-assisted circumvention of self-hashing software tamper resistance

  • Author

    Van Oorschot, Paul C. ; Somayaji, Anil ; Wurster, Glenn

  • Author_Institution
    Sch. of Comput. Sci., Carkton Univ., Ottawa, Ont., Canada
  • Volume
    2
  • Issue
    2
  • fYear
    2005
  • Firstpage
    82
  • Lastpage
    92
  • Abstract
    Self-hashing has been proposed as a technique for verifying software integrity. Appealing aspects of this approach to software tamper resistance include the promise of being able to verify the integrity of software independent of the external support environment, as well as the ability to integrate code protection mechanisms automatically. In this paper, we show that the rich functionality of most modern general-purpose processors (including UltraSparc, x86, PowerPC, AMD64, Alpha, and ARM) facilitate an automated, generic attack which defeats such self-hashing. We present a general description of the attack strategy and multiple attack implementations that exploit different processor features. Each of these implementations is generic in that it can defeat self-hashing employed by any user-space program on a single platform. Together, these implementations defeat self-hashing on most modern general-purpose processors. The generality and efficiency of our attack suggests that self-hashing is not a viable strategy for high-security tamper resistance on modern computer systems.
  • Keywords
    cryptography; operating system kernels; program verification; AMD64; ARM; Alpha; PowerPC; UltraSparc; code protection mechanisms; general-purpose processors; hardware-assisted circumvention; operating system kernels; self-hashing software tamper resistance; software integrity verification; software protection; x86; Application software; Cryptography; Kernel; Operating systems; Process design; Proposals; Security; Software design; Software development management; Software protection; Index Terms- Tamper resistance; application security; checksumming; operating system kernels; processor design; self-hashing; software protection.;
  • fLanguage
    English
  • Journal_Title
    Dependable and Secure Computing, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1545-5971
  • Type

    jour

  • DOI
    10.1109/TDSC.2005.24
  • Filename
    1453528