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 条
  • [41] Formal verification with projection temporal logic
    TIAN Cong
    DUAN ZhenHua
    Science Foundation in China, 2014, 22 (02) : 37 - 54
  • [42] Formal Verification of BNB Smart Contract
    Li, Xiaoyu
    Su, Cheng
    Xiong, Yan
    Huang, Wenchao
    Wang, Wansen
    5TH INTERNATIONAL CONFERENCE ON BIG DATA COMPUTING AND COMMUNICATIONS (BIGCOM 2019), 2019, : 74 - 78
  • [43] ON VERIFICATION OF FORMAL MODELS OF COMPLEX SYSTEMS
    Smyrin, A. A. M.
    Lukyanova, E. A.
    TURKISH ONLINE JOURNAL OF DESIGN ART AND COMMUNICATION, 2018, 8 : 348 - 352
  • [44] Formal verification of mobile robot protocols
    Berard, Beatrice
    Lafourcade, Pascal
    Millet, Laure
    Potop-Butucaru, Maria
    Thierry-Mieg, Yann
    Tixeuil, Sebastien
    DISTRIBUTED COMPUTING, 2016, 29 (06) : 459 - 487
  • [45] A Formal Description and Verification of Authentication Protocol
    Yuan, Zhanting
    Kang, Xu
    Zhang, Qiuyu
    Liang, Shuang
    DCABES 2008 PROCEEDINGS, VOLS I AND II, 2008, : 735 - 740
  • [46] On the Formal Verification of Middleware Behavioral Properties
    Hugues, Jerome
    Vergnaud, Thomas
    Pautet, Laurent
    Thierry-Mieg, Yann
    Baarir, Soheib
    Kordon, Fabrice
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2005, 133 : 139 - 157
  • [47] Formal Verification of Avionics Software Products
    Souyris, Jean
    Wiels, Virginie
    Delmas, David
    Delseny, Herve
    FM 2009: FORMAL METHODS, PROCEEDINGS, 2009, 5850 : 532 - +
  • [48] Formal Verification of Bypassed Processor Pipelines
    Gao, Yanyan
    Li, X.
    PROCEEDINGS OF THE 9TH INTERNATIONAL CONFERENCE FOR YOUNG COMPUTER SCIENTISTS, VOLS 1-5, 2008, : 1303 - +
  • [49] A Survey on Formal Verification of Separation Kernels
    Bhushan R.C.
    Yadav D.K.
    Recent Advances in Computer Science and Communications, 2022, 15 (06) : 832 - 850
  • [50] Formal verification: will the seedling ever flower?
    White, Neil
    Matthews, Stuart
    Chapman, Roderick
    PHILOSOPHICAL TRANSACTIONS OF THE ROYAL SOCIETY A-MATHEMATICAL PHYSICAL AND ENGINEERING SCIENCES, 2017, 375 (2104):