Model of Execution Trace Obfuscation Between Threads

被引:3
|
作者
Sha, Zihan [1 ]
Shu, Hui [1 ]
Xiong, Xiaobing [1 ]
Kang, Fei [1 ]
机构
[1] State Key Lab Math Engn & Adv Comp, Zhengzhou 450001, Henan, Peoples R China
关键词
Codes; Heuristic algorithms; Software algorithms; Message systems; Encryption; Software; Instruction sets; Anti-reverse; code transformation; graph theory; cascade encryption; multithreading;
D O I
10.1109/TDSC.2021.3123159
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Advanced reverse analysis tools have significantly improved the ability of attackers to crack software via dynamic analysis techniques, such as symbol execution and taint analysis. These techniques are widely used in malicious fields such as vulnerability exploitation or theft of intellectual property. In this paper, we present an obfuscation strategy called "execution trace obfuscation," wherein the program execution trace repeatedly switches between multiple threads. Our technique realizes equivalent code transformation by abstracting the obfuscation problems into pruning, cloning, and coloring problems in graph theory. Based on this, we further propose the cascade encryption of a function that depends on execution trace information with a key derived from the function address calculation process, followed by removing this key from the program. We have implemented a compiler-level system that inputs a source program and automatically generates an obfuscated file. Finally, random test proves the universality of obfuscation algorithm and verify the system's performance. Results shows that our system can effectively interfere advanced reverse analysis tools.
引用
收藏
页码:4156 / 4171
页数:16
相关论文
共 50 条
  • [21] Diversified Remote Code Execution Using Dynamic Obfuscation of Conditional Branches
    Hataba, Muhammad
    Elkhouly, Reem
    El-Mahdy, Ahmed
    2015 IEEE 35TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS WORKSHOPS (ICDCSW), 2015, : 120 - 127
  • [22] Cloud Security via Virtualized Out-of-Band Execution and Obfuscation
    Mumme, Dean C.
    Wallace, Brooke
    McGraw, Robert
    IEEE International Conference on Cloud Computing, CLOUD, 2017, 2017-June : 286 - 293
  • [23] An instruction cache architecture for parallel execution of Java']Java threads
    Chu, WM
    Li, YM
    PARALLEL AND DISTRIBUTED COMPUTING, APPLICATIONS AND TECHNOLOGIES, PDCAT'2003, PROCEEDINGS, 2003, : 180 - 184
  • [24] Dynamically Spawning Speculative Threads to Improve Speculative Path Execution
    Li, Meirong
    Zhao, Yinliang
    Tao, You
    ALGORITHMS AND ARCHITECTURES FOR PARALLEL PROCESSING, ICA3PP 2014, PT II, 2014, 8631 : 192 - 206
  • [25] An Architecture for the Simultaneous Execution of Hard Real-Time Threads
    Barre, Jonathan
    Rochange, Christine
    Sainrat, Pascal
    2008 INTERNATIONAL CONFERENCE ON EMBEDDED COMPUTER SYSTEMS: ARCHITECTURES, MODELING AND SIMULATION, PROCEEDINGS, 2008, : 18 - 24
  • [26] Mining of Probabilistic Controlling Behavior Model From Dynamic Software Execution Trace
    He, Hongdou
    Ren, Jiadong
    Zhao, Guyu
    Zhang, Yinghui
    Hao, Xiaobing
    IEEE ACCESS, 2019, 7 : 79602 - 79616
  • [27] Concurrent Execution of Deferred OpenMP Target Tasks with Hidden Helper Threads
    Tian, Shilei
    Doerfert, Johannes
    Chapman, Barbara
    LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, LCPC 2020, 2022, 13149 : 41 - 56
  • [28] Object Aware Execution Trace Exploration
    Voigt, Stefan
    Bohnet, Johannes
    Doellner, Juergen
    2009 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, CONFERENCE PROCEEDINGS, 2009, : 201 - 210
  • [29] Execution trace sets for real computation
    Thompson, Declan
    THEORETICAL COMPUTER SCIENCE, 2023, 940 : 2 - 17
  • [30] A search cost model of obfuscation
    Ellison, Glenn
    Wolitzky, Alexander
    RAND JOURNAL OF ECONOMICS, 2012, 43 (03): : 417 - 441