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 条
  • [31] Memory Trace Oblivious Program Execution
    Liu, Chang
    Hicks, Michael
    Shi, Elaine
    2013 IEEE 26TH COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF), 2013, : 51 - 65
  • [32] Measuring the inconsistencies between process model and process execution
    Li Zhi
    Huang Shangteng
    Gong Bo
    He Xingui
    CHINESE JOURNAL OF ELECTRONICS, 2007, 16 (02): : 223 - 226
  • [33] A MODEL OF COOPERATIVE THREADS
    Abadi, Martin
    Plotkin, Gordon D.
    LOGICAL METHODS IN COMPUTER SCIENCE, 2010, 6 (04) : 1 - 39
  • [34] A Model of Cooperative Threads
    Abadi, Martin
    Plotkin, Gordon
    ACM SIGPLAN NOTICES, 2009, 44 (01) : 29 - 40
  • [35] Arbitrary Control-Flow Embedding into Multiple Threads for Obfuscation: A Preliminary Complexity and Performance Analysis
    Omar, Rasha
    El-Mahdy, Ahmed
    Rohou, Erven
    SCC'14: PROCEEDINGS OF THE 2ND INTERNATIONAL WORKSHOP ON SECURITY IN CLOUD COMPUTING, 2014, : 51 - 58
  • [36] HEXON: Protecting Firmware Using Hardware-Assisted Execution-Level Obfuscation
    Hossain, Muhammad Monir
    Mohammad, Sajeed
    Vosatka, Jason
    Allen, Jeffery
    Allen, Monica
    Farahmandi, Farimah
    Rahman, Fahim
    Tehranipoor, Mark
    2021 IEEE COMPUTER SOCIETY ANNUAL SYMPOSIUM ON VLSI (ISVLSI 2021), 2021, : 343 - 349
  • [37] Stealth Loader: Trace-Free Program Loading for API Obfuscation
    Kawakoya, Yuhei
    Shioji, Eitaro
    Otsuki, Yuto
    Iwamura, Makoto
    Yada, Takeshi
    RESEARCH IN ATTACKS, INTRUSIONS, AND DEFENSES (RAID 2017), 2017, 10453 : 217 - 237
  • [38] TRADEOFFS BETWEEN MODEL ABSTRACTION, EXECUTION SPEED, AND BEHAVIORAL ACCURACY
    Nicol, David M.
    INTERNATIONAL MEDITERRANEAN MODELLING MULTICONFERENCE 2006, 2006, : 13 - 18
  • [39] A trace compression approach for predicative execution processor
    Gao, Y. (gaoyingke@126.com), 1918, Institute of Computing Technology (25):
  • [40] Toward an Execution Trace Standard: An MDE Approach
    Pereira, Claudia
    Martinez, Liliana
    Favre, Liliana
    COMPUTER SCIENCE - CACIC 2022, 2023, 1778 : 91 - 106