Software protection through dynamic code mutation

Matias Madou, Bertrand Anckaert, Patrick Moseley, Saumya K Debray, Bjorn De Sutter, Koen De Bosschere

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

37 Citations (Scopus)

Abstract

Reverse engineering of executable programs, by disassembling them and then using program analyses to recover high level semantic information, plays an important role in attacks against software systems, and can facilitate software piracy. This paper introduces a novel technique to complicate reverse engineering. The idea is to change the program code repeatedly as it executes, thereby thwarting correct disassembly. The technique can be made as secure as the least secure component of opaque variables and pseudorandom number generators.

Original languageEnglish (US)
Title of host publicationLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Pages194-206
Number of pages13
Volume3786 LNCS
StatePublished - 2005
Event6th International Workshop on Information Security Applications, WISA 2005 - Jeju Island, Korea, Republic of
Duration: Aug 22 2005Aug 24 2005

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume3786 LNCS
ISSN (Print)03029743
ISSN (Electronic)16113349

Other

Other6th International Workshop on Information Security Applications, WISA 2005
CountryKorea, Republic of
CityJeju Island
Period8/22/058/24/05

Fingerprint

Reverse engineering
Mutation
Software
Reverse Engineering
Computer crime
Semantics
Disassembly
Pseudorandom number Generator
Computer systems
Software System
Attack

ASJC Scopus subject areas

  • Computer Science(all)
  • Biochemistry, Genetics and Molecular Biology(all)
  • Theoretical Computer Science

Cite this

Madou, M., Anckaert, B., Moseley, P., Debray, S. K., De Sutter, B., & De Bosschere, K. (2005). Software protection through dynamic code mutation. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 3786 LNCS, pp. 194-206). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 3786 LNCS).

Software protection through dynamic code mutation. / Madou, Matias; Anckaert, Bertrand; Moseley, Patrick; Debray, Saumya K; De Sutter, Bjorn; De Bosschere, Koen.

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). Vol. 3786 LNCS 2005. p. 194-206 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 3786 LNCS).

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

Madou, M, Anckaert, B, Moseley, P, Debray, SK, De Sutter, B & De Bosschere, K 2005, Software protection through dynamic code mutation. in Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). vol. 3786 LNCS, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 3786 LNCS, pp. 194-206, 6th International Workshop on Information Security Applications, WISA 2005, Jeju Island, Korea, Republic of, 8/22/05.
Madou M, Anckaert B, Moseley P, Debray SK, De Sutter B, De Bosschere K. Software protection through dynamic code mutation. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). Vol. 3786 LNCS. 2005. p. 194-206. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)).
Madou, Matias ; Anckaert, Bertrand ; Moseley, Patrick ; Debray, Saumya K ; De Sutter, Bjorn ; De Bosschere, Koen. / Software protection through dynamic code mutation. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). Vol. 3786 LNCS 2005. pp. 194-206 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)).
@inproceedings{2af2c33fae404ff6b709db4c681d9941,
title = "Software protection through dynamic code mutation",
abstract = "Reverse engineering of executable programs, by disassembling them and then using program analyses to recover high level semantic information, plays an important role in attacks against software systems, and can facilitate software piracy. This paper introduces a novel technique to complicate reverse engineering. The idea is to change the program code repeatedly as it executes, thereby thwarting correct disassembly. The technique can be made as secure as the least secure component of opaque variables and pseudorandom number generators.",
author = "Matias Madou and Bertrand Anckaert and Patrick Moseley and Debray, {Saumya K} and {De Sutter}, Bjorn and {De Bosschere}, Koen",
year = "2005",
language = "English (US)",
isbn = "3540310126",
volume = "3786 LNCS",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
pages = "194--206",
booktitle = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",

}

TY - GEN

T1 - Software protection through dynamic code mutation

AU - Madou, Matias

AU - Anckaert, Bertrand

AU - Moseley, Patrick

AU - Debray, Saumya K

AU - De Sutter, Bjorn

AU - De Bosschere, Koen

PY - 2005

Y1 - 2005

N2 - Reverse engineering of executable programs, by disassembling them and then using program analyses to recover high level semantic information, plays an important role in attacks against software systems, and can facilitate software piracy. This paper introduces a novel technique to complicate reverse engineering. The idea is to change the program code repeatedly as it executes, thereby thwarting correct disassembly. The technique can be made as secure as the least secure component of opaque variables and pseudorandom number generators.

AB - Reverse engineering of executable programs, by disassembling them and then using program analyses to recover high level semantic information, plays an important role in attacks against software systems, and can facilitate software piracy. This paper introduces a novel technique to complicate reverse engineering. The idea is to change the program code repeatedly as it executes, thereby thwarting correct disassembly. The technique can be made as secure as the least secure component of opaque variables and pseudorandom number generators.

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

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

M3 - Conference contribution

AN - SCOPUS:33744935812

SN - 3540310126

SN - 9783540310129

VL - 3786 LNCS

T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

SP - 194

EP - 206

BT - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

ER -