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
关键词
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 条
  • [31] Towards Polynomial Formal Verification of Complex Arithmetic Circuits
    Drechsler, Rolf
    Mahzoon, Alireza
    Goli, Mehran
    [J]. 2022 25TH INTERNATIONAL SYMPOSIUM ON DESIGN AND DIAGNOSTICS OF ELECTRONIC CIRCUITS AND SYSTEMS (DDECS), 2022, : 1 - 6
  • [32] Towards Formal Verification of Computations and Hypercomputations in Relativistic Physics
    Stannett, Mike
    [J]. MACHINES, COMPUTATIONS, AND UNIVERSALITY, MCU 2015, 2015, 9288 : 17 - 27
  • [33] Towards the Formal Verification of Cache Coherency at the Architectural Level
    Verbeek, Freek
    Schmaltz, Julien
    [J]. ACM TRANSACTIONS ON DESIGN AUTOMATION OF ELECTRONIC SYSTEMS, 2012, 17 (03)
  • [34] Towards a Formal Verification Approach for Cloud Software Architecture
    Ayach, Amal
    Sliman, Layth
    Kmimech, Mourad
    Bhiri, Mohamed Tahar
    Raddaoui, Badran
    [J]. NEW TRENDS IN INTELLIGENT SOFTWARE METHODOLOGIES, TOOLS AND TECHNIQUES, 2017, 297 : 490 - 502
  • [35] Towards Formal Verification of a Commercial Wireless Router Firmware
    Lu, Zheng
    Steinmuller, Christopher
    Mukhopadhyay, Supratik
    [J]. 2013 IEEE 37TH ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), 2013, : 639 - 647
  • [36] Towards a Formal Verification Approach for Service Component Architecture
    Chargui, Wael
    Rouis, Taoufik Sakka
    Kmimech, Mourad
    Bhiri, Mohamed Tahar
    Sliman, Layth
    Raddaoui, Badran
    [J]. NEW TRENDS IN INTELLIGENT SOFTWARE METHODOLOGIES, TOOLS AND TECHNIQUES, 2017, 297 : 466 - 479
  • [37] Towards Formal Verification of State Continuity for Enclave Programs
    Jangid, Mohit Kumar
    Chen, Guoxing
    Zhang, Yinqian
    Lin, Zhiqiang
    [J]. PROCEEDINGS OF THE 30TH USENIX SECURITY SYMPOSIUM, 2021, : 573 - 590
  • [38] Towards formal verification of cryptographic circuits: A functional approach
    Bitat, Abir
    Merniz, Salah
    [J]. 2018 3RD INTERNATIONAL CONFERENCE ON PATTERN ANALYSIS AND INTELLIGENT SYSTEMS (PAIS), 2018, : 158 - 163
  • [39] Incremental Program Obfuscation
    Garg, Sanjam
    Pandey, Omkant
    [J]. ADVANCES IN CRYPTOLOGY - CRYPTO 2017, PART II, 2017, 10402 : 193 - 223
  • [40] Automatic Program Repair Using Formal Verification and Expression Templates
    Nguyen, Thanh-Toan
    Ta, Quang-Trung
    Chin, Wei-Ngan
    [J]. VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, VMCAI 2019, 2019, 11388 : 70 - 91