An instruction folding method to prevent reverse engineering in java platform

Tetsuya Ohdo, Haruaki Tamada, Yuichiro Kanzaki, Akito Monden

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

To improve tamper resistance of programs against illegal modification, this paper proposes instruction folding applicable to Java platform. In the proposed method, at first, similar methods are selected in a Java program. Next, these methods are merged into one method and diffs among these methods are stored in the program. Then, at runtime, when one of the merged methods is executed, diffs are restored by self-modification, which is realized by the Java instrumentation mechanism. The proposed method is resilient against tampering of folded method. Even if an adversary modifies the folded method, the program goes crash because the method is repeatedly modified at runtime.

Original languageEnglish
Title of host publicationSNPD 2013 - 14th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing
Pages517-522
Number of pages6
DOIs
Publication statusPublished - 2013
Externally publishedYes
Event14th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing, SNPD 2013 - Honolulu, HI, United States
Duration: Jul 1 2013Jul 3 2013

Other

Other14th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing, SNPD 2013
CountryUnited States
CityHonolulu, HI
Period7/1/137/3/13

Fingerprint

Reverse engineering

Keywords

  • bytecode
  • instruction folding
  • Java
  • software protection
  • tamper-resistant soft- ware

ASJC Scopus subject areas

  • Artificial Intelligence
  • Software

Cite this

Ohdo, T., Tamada, H., Kanzaki, Y., & Monden, A. (2013). An instruction folding method to prevent reverse engineering in java platform. In SNPD 2013 - 14th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (pp. 517-522). [6598513] https://doi.org/10.1109/SNPD.2013.31

An instruction folding method to prevent reverse engineering in java platform. / Ohdo, Tetsuya; Tamada, Haruaki; Kanzaki, Yuichiro; Monden, Akito.

SNPD 2013 - 14th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing. 2013. p. 517-522 6598513.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Ohdo, T, Tamada, H, Kanzaki, Y & Monden, A 2013, An instruction folding method to prevent reverse engineering in java platform. in SNPD 2013 - 14th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing., 6598513, pp. 517-522, 14th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing, SNPD 2013, Honolulu, HI, United States, 7/1/13. https://doi.org/10.1109/SNPD.2013.31
Ohdo T, Tamada H, Kanzaki Y, Monden A. An instruction folding method to prevent reverse engineering in java platform. In SNPD 2013 - 14th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing. 2013. p. 517-522. 6598513 https://doi.org/10.1109/SNPD.2013.31
Ohdo, Tetsuya ; Tamada, Haruaki ; Kanzaki, Yuichiro ; Monden, Akito. / An instruction folding method to prevent reverse engineering in java platform. SNPD 2013 - 14th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing. 2013. pp. 517-522
@inproceedings{e843781dd84b43d3b852698d4ea4b573,
title = "An instruction folding method to prevent reverse engineering in java platform",
abstract = "To improve tamper resistance of programs against illegal modification, this paper proposes instruction folding applicable to Java platform. In the proposed method, at first, similar methods are selected in a Java program. Next, these methods are merged into one method and diffs among these methods are stored in the program. Then, at runtime, when one of the merged methods is executed, diffs are restored by self-modification, which is realized by the Java instrumentation mechanism. The proposed method is resilient against tampering of folded method. Even if an adversary modifies the folded method, the program goes crash because the method is repeatedly modified at runtime.",
keywords = "bytecode, instruction folding, Java, software protection, tamper-resistant soft- ware",
author = "Tetsuya Ohdo and Haruaki Tamada and Yuichiro Kanzaki and Akito Monden",
year = "2013",
doi = "10.1109/SNPD.2013.31",
language = "English",
isbn = "9780769550053",
pages = "517--522",
booktitle = "SNPD 2013 - 14th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing",

}

TY - GEN

T1 - An instruction folding method to prevent reverse engineering in java platform

AU - Ohdo, Tetsuya

AU - Tamada, Haruaki

AU - Kanzaki, Yuichiro

AU - Monden, Akito

PY - 2013

Y1 - 2013

N2 - To improve tamper resistance of programs against illegal modification, this paper proposes instruction folding applicable to Java platform. In the proposed method, at first, similar methods are selected in a Java program. Next, these methods are merged into one method and diffs among these methods are stored in the program. Then, at runtime, when one of the merged methods is executed, diffs are restored by self-modification, which is realized by the Java instrumentation mechanism. The proposed method is resilient against tampering of folded method. Even if an adversary modifies the folded method, the program goes crash because the method is repeatedly modified at runtime.

AB - To improve tamper resistance of programs against illegal modification, this paper proposes instruction folding applicable to Java platform. In the proposed method, at first, similar methods are selected in a Java program. Next, these methods are merged into one method and diffs among these methods are stored in the program. Then, at runtime, when one of the merged methods is executed, diffs are restored by self-modification, which is realized by the Java instrumentation mechanism. The proposed method is resilient against tampering of folded method. Even if an adversary modifies the folded method, the program goes crash because the method is repeatedly modified at runtime.

KW - bytecode

KW - instruction folding

KW - Java

KW - software protection

KW - tamper-resistant soft- ware

UR - http://www.scopus.com/inward/record.url?scp=84885973922&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84885973922&partnerID=8YFLogxK

U2 - 10.1109/SNPD.2013.31

DO - 10.1109/SNPD.2013.31

M3 - Conference contribution

AN - SCOPUS:84885973922

SN - 9780769550053

SP - 517

EP - 522

BT - SNPD 2013 - 14th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing

ER -