Advanced search
1 file | 3.46 MB Add to list

Pushing Java type obfuscation to the limit

Christophe Foket (UGent) , Bjorn De Sutter (UGent) and Koen De Bosschere (UGent)
Author
Organization
Abstract
Bytecoded .Net and Java programs reveal type information through encoded type hierarchies, casts, field declarations and method signatures. This facilitates bytecode verification, butit also helps reverse engineers. To obfuscate the type information, we combine three transformations. Class hierarchy flattening removes as much of the type hierarchy from programs as possible. Interface merging and object factory insertion further remove type information from casts, method signatures, and object creation sites. We evaluate these techniques with a prototype tool for Java bytecode. On real-life programs from the DaCapo benchmark suite, we demonstrate that our approach effectively hinders human and tool analysis with limited overhead.
Keywords
understandability, INFERENCE, performance, Java bytecode, SOFTWARE, LANGUAGES, BYTECODE, type information, obfuscation, CLASS HIERARCHIES, class hierarchy, points-to sets

Downloads

  • (...).pdf
    • full text
    • |
    • UGent only
    • |
    • PDF
    • |
    • 3.46 MB

Citation

Please use this url to cite or link to this publication:

MLA
Foket, Christophe, Bjorn De Sutter, and Koen De Bosschere. “Pushing Java Type Obfuscation to the Limit.” IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING 11.6 (2014): 553–567. Print.
APA
Foket, C., De Sutter, B., & De Bosschere, K. (2014). Pushing Java type obfuscation to the limit. IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, 11(6), 553–567.
Chicago author-date
Foket, Christophe, Bjorn De Sutter, and Koen De Bosschere. 2014. “Pushing Java Type Obfuscation to the Limit.” Ieee Transactions on Dependable and Secure Computing 11 (6): 553–567.
Chicago author-date (all authors)
Foket, Christophe, Bjorn De Sutter, and Koen De Bosschere. 2014. “Pushing Java Type Obfuscation to the Limit.” Ieee Transactions on Dependable and Secure Computing 11 (6): 553–567.
Vancouver
1.
Foket C, De Sutter B, De Bosschere K. Pushing Java type obfuscation to the limit. IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING. 2014;11(6):553–67.
IEEE
[1]
C. Foket, B. De Sutter, and K. De Bosschere, “Pushing Java type obfuscation to the limit,” IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, vol. 11, no. 6, pp. 553–567, 2014.
@article{5802519,
  abstract     = {{Bytecoded .Net and Java programs reveal type information through encoded type hierarchies, casts, field declarations and method signatures. This facilitates bytecode verification, butit also helps reverse engineers. To obfuscate the type information, we combine three transformations. Class hierarchy flattening removes as much of the type hierarchy from programs as possible. Interface merging and object factory insertion further remove type information from casts, method signatures, and object creation sites. We evaluate these techniques with a prototype tool for Java bytecode. On real-life programs from the DaCapo benchmark suite, we demonstrate that our approach effectively hinders human and tool analysis with limited overhead.}},
  author       = {{Foket, Christophe and De Sutter, Bjorn and De Bosschere, Koen}},
  issn         = {{1545-5971}},
  journal      = {{IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING}},
  keywords     = {{understandability,INFERENCE,performance,Java bytecode,SOFTWARE,LANGUAGES,BYTECODE,type information,obfuscation,CLASS HIERARCHIES,class hierarchy,points-to sets}},
  language     = {{eng}},
  number       = {{6}},
  pages        = {{553--567}},
  title        = {{Pushing Java type obfuscation to the limit}},
  url          = {{http://dx.doi.org/10.1109/TDSC.2014.2305990}},
  volume       = {{11}},
  year         = {{2014}},
}

Altmetric
View in Altmetric
Web of Science
Times cited: