<italic>SCORE</italic>: Source Code Optimization &#x0026; REconstruction

The main goal of obfuscation is to make software difficult to analyze. Although obfuscation is one useful method to protect programs, the ability to analyze malware is greatly reduced if used for malicious purposes. The obfuscation technique is most applicable at the binary level, but it can also be...

Full description

Bibliographic Details
Main Authors: Jae Hyuk Suk, Young Bi Lee, Dong Hoon Lee
Format: Article
Language:English
Published: IEEE 2020-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/9139493/
_version_ 1818330623194955776
author Jae Hyuk Suk
Young Bi Lee
Dong Hoon Lee
author_facet Jae Hyuk Suk
Young Bi Lee
Dong Hoon Lee
author_sort Jae Hyuk Suk
collection DOAJ
description The main goal of obfuscation is to make software difficult to analyze. Although obfuscation is one useful method to protect programs, the ability to analyze malware is greatly reduced if used for malicious purposes. The obfuscation technique is most applicable at the binary level, but it can also be applied at the source code level. Although source-level techniques can be applied regardless of the target platform, these are often optimized and eliminated during compilation. However, when control-flow obfuscation is applied at the source code level, removal is not possible. When applied for malicious purposes, the ability to analyze the source code and compiled binary code is greatly reduced. To date, no research has presented a method that increases the readability of source code or the ability to analyze compiled binaries via optimization at the source level. In this paper, we select a very powerful obfuscation tool that provides options, including control-flow obfuscation, at the source level. The result of our research is a tool that outputs optimized source code and performs control-flow reconstruction as preprocessing, which increases readability even when control-flow obfuscation has been applied. The results also suggest an improvement in the ability to analyze binary code. As a result, more than 70% of the source code can be optimized at the source level, and the control-flow graph can be serialized. The optimized source code compiles more concise binary code even if no compiler optimizations are applied. Finally, the paper concludes by presenting the results of a module that prevents deobfuscation through code tampering (preventive obfuscation) at the source code level.
first_indexed 2024-12-13T13:06:54Z
format Article
id doaj.art-fba16a1144ba44e080e090a456b4b119
institution Directory Open Access Journal
issn 2169-3536
language English
last_indexed 2024-12-13T13:06:54Z
publishDate 2020-01-01
publisher IEEE
record_format Article
series IEEE Access
spelling doaj.art-fba16a1144ba44e080e090a456b4b1192022-12-21T23:44:48ZengIEEEIEEE Access2169-35362020-01-01812947812949610.1109/ACCESS.2020.30089059139493<italic>SCORE</italic>: Source Code Optimization &#x0026; REconstructionJae Hyuk Suk0https://orcid.org/0000-0002-2466-1503Young Bi Lee1https://orcid.org/0000-0002-0513-9891Dong Hoon Lee2https://orcid.org/0000-0003-0692-2543Graduate School of Information Security, Korea University, Seoul, South KoreaGraduate School of Information Security, Korea University, Seoul, South KoreaGraduate School of Information Security, Korea University, Seoul, South KoreaThe main goal of obfuscation is to make software difficult to analyze. Although obfuscation is one useful method to protect programs, the ability to analyze malware is greatly reduced if used for malicious purposes. The obfuscation technique is most applicable at the binary level, but it can also be applied at the source code level. Although source-level techniques can be applied regardless of the target platform, these are often optimized and eliminated during compilation. However, when control-flow obfuscation is applied at the source code level, removal is not possible. When applied for malicious purposes, the ability to analyze the source code and compiled binary code is greatly reduced. To date, no research has presented a method that increases the readability of source code or the ability to analyze compiled binaries via optimization at the source level. In this paper, we select a very powerful obfuscation tool that provides options, including control-flow obfuscation, at the source level. The result of our research is a tool that outputs optimized source code and performs control-flow reconstruction as preprocessing, which increases readability even when control-flow obfuscation has been applied. The results also suggest an improvement in the ability to analyze binary code. As a result, more than 70% of the source code can be optimized at the source level, and the control-flow graph can be serialized. The optimized source code compiles more concise binary code even if no compiler optimizations are applied. Finally, the paper concludes by presenting the results of a module that prevents deobfuscation through code tampering (preventive obfuscation) at the source code level.https://ieeexplore.ieee.org/document/9139493/Control-flow obfuscationcontrol-flow reconstructionsource code obfuscationsource code optimizationsource code anti-tampering
spellingShingle Jae Hyuk Suk
Young Bi Lee
Dong Hoon Lee
<italic>SCORE</italic>: Source Code Optimization &#x0026; REconstruction
IEEE Access
Control-flow obfuscation
control-flow reconstruction
source code obfuscation
source code optimization
source code anti-tampering
title <italic>SCORE</italic>: Source Code Optimization &#x0026; REconstruction
title_full <italic>SCORE</italic>: Source Code Optimization &#x0026; REconstruction
title_fullStr <italic>SCORE</italic>: Source Code Optimization &#x0026; REconstruction
title_full_unstemmed <italic>SCORE</italic>: Source Code Optimization &#x0026; REconstruction
title_short <italic>SCORE</italic>: Source Code Optimization &#x0026; REconstruction
title_sort italic score italic source code optimization x0026 reconstruction
topic Control-flow obfuscation
control-flow reconstruction
source code obfuscation
source code optimization
source code anti-tampering
url https://ieeexplore.ieee.org/document/9139493/
work_keys_str_mv AT jaehyuksuk italicscoreitalicsourcecodeoptimizationx0026reconstruction
AT youngbilee italicscoreitalicsourcecodeoptimizationx0026reconstruction
AT donghoonlee italicscoreitalicsourcecodeoptimizationx0026reconstruction