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.

Journal
IEEE Transactions on Professional Communication
Published
2005-02-01
DOI
10.1109/tdsc.2005.24
CompPile
Search in CompPile ↗
Open Access
Closed
Topics
Export

Citation Context

Cited by in this index (0)

No articles in this index cite this work.

Cites in this index (0)

No references match articles in this index.

Also cites 21 works outside this index ↓
  1. 10.1145/191177.191183
  2. 10.1007/3-540-61996-8_49
  3. 10.1007/3-540-47870-1_10
  4. 10.1007/3-540-47870-1_9
  5. 10.1109/SP.2005.2
  6. 10.1007/3-540-68671-1_4
  7. 10.1109/TSE.2002.1027797
  8. 10.1007/10958513_1
  9. 10.1007/10958513_27
  10. A Generic Attack on Hashing-Based Software Tamper Resistance
  11. 10.1007/3-540-68671-1_6
  12. 10.1007/3-540-36415-3_26
  13. 10.1145/782814.782838
  14. 10.1016/S1389-1286(98)00019-X
  15. 10.21236/ADA419599
  16. 10.1145/643477.643479
  17. 10.1145/1030083.1030103
  18. 10.1109/SECPRI.2004.1301329
  19. 10.1145/1030083.1030125
  20. 10.1007/3-540-44456-4_7
  21. A Security Architecture for Survivability Mechanisms