Formal Verification of a Program Obfuscation Based on Mixed Boolean-Arithmetic Expressions

被引:7
|
作者
Blazy, Sandrine [1 ]
Hutin, Remi [1 ]
机构
[1] Univ Rennes, CNRS, INRIA, IRISA, Rennes, France
关键词
bitwise arithmetic; program obfuscation; CompCert verified compiler;
D O I
10.1145/3293880.3294103
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The insertion of expressions mixing arithmetic operators and bitwise boolean operators is a widespread protection of sensitive data in source programs. This recent advanced obfuscation technique is one of the less studied among program obfuscations even if it is commonly found in binary code. In this paper, we formally verify in Coq this data obfuscation. It operates over a generic notion of mixed boolean-arithmetic expressions and on properties of bitwise operators operating over machine integers. Our obfuscation performs two kinds of program transformations: rewriting of expressions and insertion of modular inverses. To facilitate its proof of correctness, we define boolean semantic tables, a data structure inspired from truth tables. Our obfuscation is integrated into the CompCert formally verified compiler where it operates over Clight programs. The automatic extraction of our program obfuscator into OCaml yields a program with competitive results.
引用
收藏
页码:196 / 208
页数:13
相关论文
共 24 条
  • [1] Software Obfuscation with Non-Linear Mixed Boolean-Arithmetic Expressions
    Liu, Binbin
    Feng, Weijie
    Zheng, Qilong
    Li, Jing
    Xu, Dongpeng
    INFORMATION AND COMMUNICATIONS SECURITY (ICICS 2021), PT I, 2021, 12918 : 276 - 292
  • [2] Simplifying Mixed Boolean-Arithmetic Obfuscation by Program Synthesis and Term Rewriting
    Lee, Jaehyung
    Lee, Woosuk
    PROCEEDINGS OF THE 2023 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, CCS 2023, 2023, : 2351 - 2365
  • [3] On Simplifying Mixed Boolean-Arithmetic Expressions
    Kosolapov, Yu. V.
    AUTOMATIC CONTROL AND COMPUTER SCIENCES, 2024, 58 (07) : 836 - 852
  • [4] Simplification of General Mixed Boolean-Arithmetic Expressions: GAMBA
    Reichenwallner, Benjamin
    Meerwald-Stadler, Peter
    2023 IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY WORKSHOPS, EUROS&PW, 2023, : 427 - 438
  • [5] An In-Place Simplification on Mixed Boolean-Arithmetic Expressions
    Liu, Binbin
    Zheng, Qilong
    Li, Jing
    Xu, Dongpeng
    SECURITY AND COMMUNICATION NETWORKS, 2022, 2022
  • [6] MBA-Blast: Unveiling and Simplifying Mixed Boolean-Arithmetic Obfuscation
    Liu, Binbin
    Shen, Junfu
    Ming, Jiang
    Zheng, Qilong
    Li, Jing
    Xu, Dongpeng
    PROCEEDINGS OF THE 30TH USENIX SECURITY SYMPOSIUM, 2021, : 1701 - 1718
  • [7] NeuReduce: Reducing Mixed Boolean-Arithmetic Expressions by Recurrent Neural Network
    Feng, Weijie
    Liu, Binbin
    Xu, Dongpeng
    Zheng, Qilong
    Xu, Yun
    FINDINGS OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS, EMNLP 2020, 2020, : 635 - 644
  • [8] Mixed Boolean-Arithmetic (MBA) Obfuscation Using Permutation Polynomials on Modular Lipschitz Integers
    Wang, Sichun
    2024 IEEE CANADIAN CONFERENCE ON ELECTRICAL AND COMPUTER ENGINEERING, CCECE 2024, 2024, : 405 - 411
  • [9] Information hiding in software with mixed boolean-arithmetic transforms
    Zhou, Yongxin
    Main, Alec
    Gu, Yuan X.
    Johnson, Harold
    INFORMATION SECURITY APPLICATIONS, 2007, 4867 : 61 - 75
  • [10] Towards Formal Verification of Program Obfuscation
    Lu, Weiyun
    Sistany, Bahman
    Felty, Amy
    Scott, Philip
    2020 IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY WORKSHOPS (EUROS&PW 2020), 2020, : 635 - 644