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 条
  • [21] 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
  • [22] Towards formal verification of IoT protocols: A Review
    Hofer-Schmitz, Katharina
    Stojanovic, Branka
    COMPUTER NETWORKS, 2020, 174
  • [23] Towards Formal Verification of a TPM Software Stack
    Ziani, Yani
    Kosmatov, Nikolai
    Loulergue, Frederic
    Perez, Daniel Gracia
    Bernier, Teo
    INTEGRATED FORMAL METHODS, IFM 2023, 2024, 14300 : 93 - 112
  • [24] Towards formal verification of web service composition
    Rouached, Mohsen
    Perrin, Olivier
    Godart, Claude
    BUSINESS PROCESS MANAGEMENT, PROCEEDINGS, 2006, 4102 : 257 - 273
  • [25] Towards formal verification of ASIP based on HDPN
    Gao, Yanyan
    Li, Xi
    Ma, Hongxing
    ICECT: 2009 INTERNATIONAL CONFERENCE ON ELECTRONIC COMPUTER TECHNOLOGY, PROCEEDINGS, 2009, : 26 - 32
  • [26] Towards Formal Evaluation and Verification of Probabilistic Design
    Lee, Nian-Ze
    Jiang, Jie-Hong R.
    2014 IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN (ICCAD), 2014, : 340 - 347
  • [27] Towards Formal Verification of Optimized and Industrial Multipliers
    Mahzoon, Alireza
    Grosse, Daniel
    Scholl, Christoph
    Drechsler, Rolf
    PROCEEDINGS OF THE 2020 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE 2020), 2020, : 544 - 549
  • [28] 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
  • [29] Dynamic GSPNs: formal definition, transformation towards GSPNs and formal verification
    Tigane, Samir
    Kahloul, Laid
    Baarir, Souheib
    Bourekkache, Samir
    PROCEEDINGS OF THE 13TH EAI INTERNATIONAL CONFERENCE ON PERFORMANCE EVALUATION METHODOLOGIES AND TOOLS ( VALUETOOLS 2020), 2020, : 164 - 171
  • [30] 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