<italic>SCORE</italic>: Source Code Optimization & 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...
Main Authors: | , , |
---|---|
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 & 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 & 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 & REconstruction |
title_full | <italic>SCORE</italic>: Source Code Optimization & REconstruction |
title_fullStr | <italic>SCORE</italic>: Source Code Optimization & REconstruction |
title_full_unstemmed | <italic>SCORE</italic>: Source Code Optimization & REconstruction |
title_short | <italic>SCORE</italic>: Source Code Optimization & 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 |