Towards Formal Verification of Program Obfuscation

被引:1
|
作者
Lu, Weiyun [1 ]
Sistany, Bahman [2 ]
Felty, Amy [1 ,3 ]
Scott, Philip [1 ,3 ]
机构
[1] Univ Ottawa, Sch Elect Engn & Comp Sci, Ottawa, ON, Canada
[2] Cloakware Res Irdeto Canada, Ottawa, ON, Canada
[3] Univ Ottawa, Dept Math & Stat, Ottawa, ON, Canada
来源
2020 IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY WORKSHOPS (EUROS&PW 2020) | 2020年
关键词
obfuscation; verification; security; correctness; Coq; proof;
D O I
10.1109/EuroSPW51379.2020.00091
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Code obfuscation involves transforming a program to a new version that performs the same computation but hides the functionality of the original code. An important property of such a transformation is that it preserves the behavior of the original program. In this paper, we lay the foundation for studying and reasoning about code obfuscating transformations, and show how the preservation of certain behaviours may be formally verified. To this end, we apply techniques of formal specification and verification using the Coq Proof Assistant. We use and extend an existing encoding of a simple imperative language in Coq along with an encoding of Hoare logic for reasoning about this language. We formulate what it means for a program's semantics to be preserved by an obfuscating transformation, and give formal machine-checked proofs that these behaviours or properties hold. We also define a lower-level block-structured language which is "wrapped around" our imperative language, allowing us to model certain flattening transformations and treat blocks of codes as objects in their own right.
引用
收藏
页码:635 / 644
页数:10
相关论文
共 50 条
  • [21] Towards Formal Repair and Verification of Industry-scale Deep Neural Networks
    Munakata, Satoshi
    Tokumoto, Susumu
    Yamamoto, Koji
    Munakata, Kazuki
    2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS, ICSE-COMPANION, 2023, : 360 - 364
  • [22] Program Obfuscation via ABI Debiasing
    Demicco, David
    Erinfolami, Rukayat
    Prakash, Aravind
    37TH ANNUAL COMPUTER SECURITY APPLICATIONS CONFERENCE, ACSAC 2021, 2021, : 146 - 157
  • [23] Formal Modeling and Verification of Paxos Based on Coq
    Li Y.-N.
    Deng Y.-X.
    Liu J.
    Ruan Jian Xue Bao/Journal of Software, 2020, 31 (08): : 2362 - 2374
  • [24] Method of Formal Verification of Program Code based on Petri Net with Additional Semantic Relations
    Ivutin, Alexey N.
    Voloshko, Anna G.
    13TH INTERNATIONAL CONFERENCE ON ELEKTRO (ELEKTRO 2020), 2020,
  • [25] Towards a Verification Flow Across Abstraction Levels Verifying Implementations Against Their Formal Specification
    Gonzalez-De-Aledo P.
    Przigoda N.
    Wille R.
    Drechsler R.
    Sanchez P.
    1600, Institute of Electrical and Electronics Engineers Inc., United States (36): : 475 - 488
  • [26] Towards a formal verification of process model's properties -: SimplePDL and TOCL case study
    Combemale, Benoit
    Garoche, Pieffe-Loiec
    Cregut, Xavier
    Thirioux, Xavier
    Vernadat, Francois
    ICEIS 2007: PROCEEDINGS OF THE NINTH INTERNATIONAL CONFERENCE ON ENTERPRISE INFORMATION SYSTEMS: INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION, 2007, : 80 - +
  • [27] Defeating Data Plane Attacks With Program Obfuscation
    Black, Conor
    Scott-Hayward, Sandra
    IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, 2024, 21 (03) : 1317 - 1330
  • [28] Formal Verification of SSA-Based Optimizations for LLVM
    Zhao, Jianzhou
    Nagarakatte, Santosh
    Martin, Milo M. K.
    Zdancewic, Steve
    ACM SIGPLAN NOTICES, 2013, 48 (06) : 175 - 186
  • [29] Formal verification and security analysis of MQTT-SN
    Wei Lin
    Sini Chen
    Huibiao Zhu
    International Journal on Software Tools for Technology Transfer, 2025, 27 (1) : 5 - 19
  • [30] Using Coq for Formal Modeling and Verification of Timed Connectors
    Hong, Weijiang
    Nawaz, M. Saqib
    Zhang, Xiyue
    Li, Yi
    Sun, Meng
    SOFTWARE ENGINEERING AND FORMAL METHODS, SEFM 2017, 2018, 10729 : 558 - 573