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 条
  • [1] Towards the Formal Verification of Wigderson's Algorithm
    Phipathananunth, Siraphob
    COMPANION PROCEEDINGS OF THE 2023 ACM SIGPLAN INTERNATIONAL CONFERENCE ON SYSTEMS, PROGRAMMING, LANGUAGES, AND APPLICATIONS: SOFTWARE FOR HUMANITY, SPLASH COMPANION 2023, 2023, : 40 - 42
  • [2] Towards Formal Evaluation and Verification of Probabilistic Design
    Lee, Nian-Ze
    Jiang, Jie-Hong R.
    IEEE TRANSACTIONS ON COMPUTERS, 2018, 67 (08) : 1202 - 1216
  • [3] Towards formal verification of IoT protocols: A Review
    Hofer-Schmitz, Katharina
    Stojanovic, Branka
    COMPUTER NETWORKS, 2020, 174
  • [4] POSTER: Towards Formal Verification of DIFC Policies
    Yang, Zhi
    Yin, Lihua
    Duan, Miyi
    Jin, Shuyuan
    PROCEEDINGS OF THE 18TH ACM CONFERENCE ON COMPUTER & COMMUNICATIONS SECURITY (CCS 11), 2011, : 873 - 875
  • [5] Towards Better Program Obfuscation: Optimization via Language Models
    Liu, Han
    2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C), 2016, : 680 - 682
  • [6] OBFUSCATION AND FORMAL GRAMMARS REVISITED
    Repel, Dusan
    Stengel, Ingo
    PROCEEDINGS OF THE FIFTH INTERNATIONAL CONFERENCE ON INTERNET TECHNOLOGIES AND APPLICATIONS (ITA 13), 2013, : 267 - 274
  • [7] Towards a Formal Verification Approach for Cloud Software Architecture
    Ayach, Amal
    Sliman, Layth
    Kmimech, Mourad
    Bhiri, Mohamed Tahar
    Raddaoui, Badran
    NEW TRENDS IN INTELLIGENT SOFTWARE METHODOLOGIES, TOOLS AND TECHNIQUES, 2017, 297 : 490 - 502
  • [8] Towards Formal Verification of a Commercial Wireless Router Firmware
    Lu, Zheng
    Steinmuller, Christopher
    Mukhopadhyay, Supratik
    2013 IEEE 37TH ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), 2013, : 639 - 647
  • [9] Towards a Formal Verification Approach for Service Component Architecture
    Chargui, Wael
    Rouis, Taoufik Sakka
    Kmimech, Mourad
    Bhiri, Mohamed Tahar
    Sliman, Layth
    Raddaoui, Badran
    NEW TRENDS IN INTELLIGENT SOFTWARE METHODOLOGIES, TOOLS AND TECHNIQUES, 2017, 297 : 466 - 479
  • [10] Towards the Formal Verification of Cache Coherency at the Architectural Level
    Verbeek, Freek
    Schmaltz, Julien
    ACM TRANSACTIONS ON DESIGN AUTOMATION OF ELECTRONIC SYSTEMS, 2012, 17 (03)