Towards Correct Smart Contracts: A Case Study on Formal Verification of Access Control

被引:3
作者
Schiffl, Jonas [1 ]
Grundmann, Matthias [1 ]
Leinweber, Marc [1 ]
Stengele, Oliver [1 ]
Friebe, Sebastian [2 ]
Beckert, Bernhard [1 ]
机构
[1] Karlsruhe Inst Technol, Inst Informat Secur & Dependabil KASTEL, Karlsruhe, Germany
[2] Karlsruhe Inst Technol, Inst Telemat, Karlsruhe, Germany
来源
PROCEEDINGS OF THE 26TH ACM SYMPOSIUM ON ACCESS CONTROL MODELS AND TECHNOLOGIES, SACMAT 2021 | 2021年
关键词
Smart Contracts; Formal Verification; Access Control;
D O I
10.1145/3450569.3463574
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Ethereum is a platform for deploying smart contracts, which due to their public nature and the financial value of the assets they manage are attractive targets for attacks. With asset management as a main task of smart contracts, access control aspects are naturally part of the application itself, but also of the functions implemented in a smart contract. Therefore, it is desirable to establish the correctness of smart contracts and their access control on application and single-function level through formal methods. However, there is no established methodology of formalising and verifying correctness properties of smart contracts. In this work, we make an attempt in this direction on the basis of a case study. We choose an existing smart contract application which aims to ascertain the integrity of binary files distributed over the Internet by means of decentralised identity management and access control. We formally specify and verify correctness at the level of single functions as well as temporal properties of the overall application. We demonstrate how to use verified low-level correctness properties for showing correctness at the higher level. In addition, we report on our experience with existing verification tools.
引用
收藏
页码:125 / 130
页数:6
相关论文
共 12 条
  • [1] Garfatta Ikram, 2021, A Survey on Formal Verification for Solidity Smart Contracts ( ACSW '21).
  • [2] SOLC-VERIFY: A Modular Verifier for Solidity Smart Contracts
    Hajdu, Akos
    Jovanovic, Dejan
    [J]. VERIFIED SOFTWARE: THEORIES, TOOLS, AND EXPERIMENTS, VSTTE 2019, 2020, 12031 : 161 - 179
  • [3] PROTECTION IN OPERATING-SYSTEMS
    HARRISON, MA
    RUZZO, WL
    ULLMAN, JD
    [J]. COMMUNICATIONS OF THE ACM, 1976, 19 (08) : 461 - 470
  • [4] KEVM: A Complete Formal Semantics of the Ethereum Virtual Machine
    Hildenbrandt, Everett
    Saxena, Manasvi
    Rodrigues, Nishant
    Zhu, Xiaoran
    Daian, Philip
    Guth, Dwight
    Moore, Brandon
    Park, Daejun
    Zhang, Yi
    Stefanescu, Andrei
    Rosu, Grigore
    [J]. IEEE 31ST COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF 2018), 2018, : 204 - 217
  • [5] THE TEMPORAL LOGIC OF ACTIONS
    LAMPORT, L
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1994, 16 (03): : 872 - 923
  • [6] Mense Alexander, 2018, Security Vulnerabilities in Ethereum Smart Contracts (iiWAS2018)
  • [7] Perez D, 2020, Arxiv, DOI arXiv:1902.06710
  • [8] VerX: Safety Verification of Smart Contracts
    Permenev, Anton
    Dimitrov, Dimitar
    Tsankov, Petar
    Drachsler-Cohen, Dana
    Vechev, Martin
    [J]. 2020 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP 2020), 2020, : 1661 - 1677
  • [9] Reiche Frederik, 2021, Technical Report 1000129607
  • [10] Smart Contract: Attacks and Protections
    Sayeed, Sarwar
    Marco-Gisbert, Hector
    Caira, Tom
    [J]. IEEE ACCESS, 2020, 8 : 24416 - 24427