Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Measuring the performance overhead of obfuscating code transformations
Blekinge Institute of Technology, Faculty of Computing, Department of Computer Science.
Blekinge Institute of Technology, Faculty of Computing, Department of Computer Science.
2025 (English)Independent thesis Basic level (professional degree), 12 credits / 18 HE creditsStudent thesis
Abstract [en]

Background. Code obfuscation is the practice of intentionally making a computer program, whether in native code, bytecode, or interpreted language, harder to understand. Obfuscation can ideally be performed in an automated fashion by a tool called an obfuscator. These obfuscators apply different code transformations to the source program to make it more difficult for an adversary to analyze. One example of such a transformation is virtualization in which some part of a program, like a function, gets lifted into a custom and uniquely generated virtual instruction set and replaced by an interpreter for this instruction set. The quality of these transformations is defined as a combination of the transformation's potency, resilience, and cost, where cost implies the extra space/execution time a transformation adds to an obfuscated program.

Objectives. The objectives of this thesis are to measure and analyze the cost (i.e. performance overhead) of obfuscating code transformations on programs written in the C programming language.

Methods. Using quantitative experiments on both single-threaded and multi-threaded pre-established benchmarks, the software measurement tool GNU Time was used to capture three metrics for programs with various transformations—or no transformation—applied: mean user time, mean elapsed time, and mean maximum resident set size.

Results. Through the quantitative experiments on the various benchmarks some transformations, such as those based on virtualization, were shown to have a significant impact on execution time, especially in performance-critical functions. Others, resulted in more moderate overhead, or sometimes no significant overhead at all in certain contexts. The choice of transformation was demonstrated to have little importance on variation in maximum resident set size.

Conclusions. Virtualization-based obfuscation was shown to introduce a significant overhead when applied to performance-critical functions, but not when applied to non-performance-critical functions. This demonstrates that even obfuscating transformations with a high performance cost can be applied in certain ways without significantly degrading the overall performance of the application. The transformations that showed no large overhead made it difficult to accurately draw any major conclusions about their performance cost as some statistical randomness still contributed to a slight variation in the metrics. To draw accurate conclusions about their performance impact more specifically detailed studies on the individual transformations in isolation are required.

Place, publisher, year, edition, pages
2025. , p. 42
Keywords [en]
code obfuscation, performance cost, quantitative experiments, benchmarking
National Category
Computer Systems
Identifiers
URN: urn:nbn:se:bth-28289OAI: oai:DiVA.org:bth-28289DiVA, id: diva2:1980884
Subject / course
DV1583 Degree Project for Bachelor of Science in Engineering Computer Science
Educational program
Bachelor of Science in Engineering: Computer Security
Supervisors
Examiners
Available from: 2025-07-03 Created: 2025-07-03 Last updated: 2025-09-30Bibliographically approved

Open Access in DiVA

fulltext(6033 kB)431 downloads
File information
File name FULLTEXT01.pdfFile size 6033 kBChecksum SHA-512
0231f1edf2eeb2affedd1653aed1a9cc3381467b3964a606d556fe2dd78fefbfca8a643564aefa9e7c8c35b7782e5b38bdda9818d76281df3c20c04924d5ace2
Type fulltextMimetype application/pdf

By organisation
Department of Computer Science
Computer Systems

Search outside of DiVA

GoogleGoogle Scholar
Total: 433 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 324 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf