Constructing method of opaque predicate based on type conversion and operation of floating point numbers

With the increasing complexity of software functions and the evolving technologies of network attacks, malicious behaviors such as software piracy, software cracking, data leakage, and malicious software modification are on the rise.As a result, software security has become a focal point in industry...

Full description

Saved in:
Bibliographic Details
Main Authors: Qingfeng WANG, Hao LIANG, Yawen WANG, Genlin XIE, Benwei HE
Format: Article
Language:English
Published: POSTS&TELECOM PRESS Co., LTD 2023-10-01
Series:网络与信息安全学报
Subjects:
Online Access:http://www.cjnis.com.cn/thesisDetails#10.11959/j.issn.2096-109x.2023068
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1841529662914691072
author Qingfeng WANG
Hao LIANG
Yawen WANG
Genlin XIE
Benwei HE
author_facet Qingfeng WANG
Hao LIANG
Yawen WANG
Genlin XIE
Benwei HE
author_sort Qingfeng WANG
collection DOAJ
description With the increasing complexity of software functions and the evolving technologies of network attacks, malicious behaviors such as software piracy, software cracking, data leakage, and malicious software modification are on the rise.As a result, software security has become a focal point in industry research.Code obfuscation is a common software protection technique used to hinder reverse engineering.It aims to make program analyzing and understanding more difficult for attackers while preserving the original program functionality.However, many existing code obfuscation techniques suffer from performance loss and poor concealment in pursuit of obfuscation effectiveness.Control flow obfuscation, particularly opaque predicate obfuscation, is widely used to increase the difficulty of code reverse engineering by disrupting the program’s control flow.A method was proposed to address the limitations of existing code obfuscation techniques.It utilized the phenomenon of precision loss that occurred during type conversion and floating-point number operations in computers.Under certain conditions, this method produced operation results that contradict common sense.By performing forced type conversion, addition, and multiplication with selected decimal numbers, a series of opaque predicates can be constructed based on the statistical analysis of their operation results.This approach achieved code obfuscation with high concealment, good generality, reversibility, and low overhead compared to traditional opaque predicates.Experimental verification demonstrates that this method significantly slows down attackers’ reverse engineering efforts and exhibits good resistance to dynamic analysis techniques such as symbolic execution.
format Article
id doaj-art-f137f4040a874c93822d95d6ca6dcb51
institution Kabale University
issn 2096-109X
language English
publishDate 2023-10-01
publisher POSTS&TELECOM PRESS Co., LTD
record_format Article
series 网络与信息安全学报
spelling doaj-art-f137f4040a874c93822d95d6ca6dcb512025-01-15T03:16:56ZengPOSTS&TELECOM PRESS Co., LTD网络与信息安全学报2096-109X2023-10-019485859581176Constructing method of opaque predicate based on type conversion and operation of floating point numbersQingfeng WANGHao LIANGYawen WANGGenlin XIEBenwei HEWith the increasing complexity of software functions and the evolving technologies of network attacks, malicious behaviors such as software piracy, software cracking, data leakage, and malicious software modification are on the rise.As a result, software security has become a focal point in industry research.Code obfuscation is a common software protection technique used to hinder reverse engineering.It aims to make program analyzing and understanding more difficult for attackers while preserving the original program functionality.However, many existing code obfuscation techniques suffer from performance loss and poor concealment in pursuit of obfuscation effectiveness.Control flow obfuscation, particularly opaque predicate obfuscation, is widely used to increase the difficulty of code reverse engineering by disrupting the program’s control flow.A method was proposed to address the limitations of existing code obfuscation techniques.It utilized the phenomenon of precision loss that occurred during type conversion and floating-point number operations in computers.Under certain conditions, this method produced operation results that contradict common sense.By performing forced type conversion, addition, and multiplication with selected decimal numbers, a series of opaque predicates can be constructed based on the statistical analysis of their operation results.This approach achieved code obfuscation with high concealment, good generality, reversibility, and low overhead compared to traditional opaque predicates.Experimental verification demonstrates that this method significantly slows down attackers’ reverse engineering efforts and exhibits good resistance to dynamic analysis techniques such as symbolic execution.http://www.cjnis.com.cn/thesisDetails#10.11959/j.issn.2096-109x.2023068code obfuscationbogus control flowopaque predicatesfloating point operations
spellingShingle Qingfeng WANG
Hao LIANG
Yawen WANG
Genlin XIE
Benwei HE
Constructing method of opaque predicate based on type conversion and operation of floating point numbers
网络与信息安全学报
code obfuscation
bogus control flow
opaque predicates
floating point operations
title Constructing method of opaque predicate based on type conversion and operation of floating point numbers
title_full Constructing method of opaque predicate based on type conversion and operation of floating point numbers
title_fullStr Constructing method of opaque predicate based on type conversion and operation of floating point numbers
title_full_unstemmed Constructing method of opaque predicate based on type conversion and operation of floating point numbers
title_short Constructing method of opaque predicate based on type conversion and operation of floating point numbers
title_sort constructing method of opaque predicate based on type conversion and operation of floating point numbers
topic code obfuscation
bogus control flow
opaque predicates
floating point operations
url http://www.cjnis.com.cn/thesisDetails#10.11959/j.issn.2096-109x.2023068
work_keys_str_mv AT qingfengwang constructingmethodofopaquepredicatebasedontypeconversionandoperationoffloatingpointnumbers
AT haoliang constructingmethodofopaquepredicatebasedontypeconversionandoperationoffloatingpointnumbers
AT yawenwang constructingmethodofopaquepredicatebasedontypeconversionandoperationoffloatingpointnumbers
AT genlinxie constructingmethodofopaquepredicatebasedontypeconversionandoperationoffloatingpointnumbers
AT benweihe constructingmethodofopaquepredicatebasedontypeconversionandoperationoffloatingpointnumbers