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 条
  • [31] Formal software development in the Verification Support Environment (VSE)
    Hutter, D
    Langenstein, B
    Rock, G
    Siekmann, JH
    Stephan, W
    Vogt, R
    JOURNAL OF EXPERIMENTAL & THEORETICAL ARTIFICIAL INTELLIGENCE, 2000, 12 (04) : 383 - 406
  • [32] On the formal verification of hybrid systems
    Guéguen, H
    Zaytoon, J
    CONTROL ENGINEERING PRACTICE, 2004, 12 (10) : 1253 - 1267
  • [33] Formal Verification of the xDAuth Protocol
    Alam, Quratulain
    Tabbasum, Saher
    Malik, Saif U. R.
    Alam, Masoom
    Ali, Tamleek
    Akhunzada, Adnan
    Khan, Samee U.
    Vasilakos, Athanasios V.
    Buyya, Rajkumar
    IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, 2016, 11 (09) : 1956 - 1969
  • [34] Formal Verification Successes at Motorola
    Magdy S. Abadir
    Kenneth L. Albin
    John Havlicek
    Narayanan Krishnamurthy
    Andrew K. Martin
    Formal Methods in System Design, 2003, 22 : 117 - 123
  • [35] Formal verification successes at Motorola
    Abadir, MS
    Albin, KL
    Havlicek, J
    Krishnamurthy, N
    Martin, AK
    FORMAL METHODS IN SYSTEM DESIGN, 2003, 22 (02) : 117 - 123
  • [36] Towards a formal modelling, analysis and verification of a clone node attack detection scheme in the internet of things
    Hameed, Khizar
    Garg, Saurabh
    Amin, Muhammad Bilal
    Kang, Byeong
    COMPUTER NETWORKS, 2022, 204
  • [37] Towards an integrated formal method for verification of liveness properties in distributed systems: with application to population protocols
    Mery, Dominique
    Poppleton, Michael
    SOFTWARE AND SYSTEMS MODELING, 2017, 16 (04) : 1083 - 1115
  • [38] Towards an integrated formal method for verification of liveness properties in distributed systems: with application to population protocols
    Dominique Méry
    Michael Poppleton
    Software & Systems Modeling, 2017, 16 : 1083 - 1115
  • [39] ARMISTICE: Microarchitectural Leakage Modeling for Masked Software Formal Verification
    de Grandmaison, Arnaud
    Heydemann, Karine
    Meunier, Quentin L.
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2022, 41 (11) : 3733 - 3744
  • [40] AUTOMATIC GENERATION OF HASH FUNCTIONS FOR PROGRAM CODE OBFUSCATION
    Lebedev, R. K.
    PRIKLADNAYA DISKRETNAYA MATEMATIKA, 2020, (50): : 102 - 117