AChecker: Statically Detecting Smart Contract Access Control Vulnerabilities

被引:9
作者
Ghaleb, Asem [1 ]
Rubin, Julia [1 ]
Pattabiraman, Karthik [1 ]
机构
[1] Univ British Columbia, Vancouver, BC, Canada
来源
2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ICSE | 2023年
基金
加拿大自然科学与工程研究理事会;
关键词
Smart contract; security; access control; data-flow analysis;
D O I
10.1109/ICSE48619.2023.00087
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
As most smart contracts have a financial nature and handle valuable assets, smart contract developers use access control to protect assets managed by smart contracts from being misused by malicious or unauthorized people. Unfortunately, programming languages used for writing smart contracts, such as Solidity, were not designed with a permission-based security model in mind. Therefore, smart contract developers implement access control checks based on their judgment and in an adhoc manner, which results in several vulnerabilities in smart contracts, called access control vulnerabilities. Further, the inconsistency in implementing access control makes it difficult to reason about whether a contract meets access control needs and is free of access control vulnerabilities. In this work, we propose AChecker - an approach for detecting access control vulnerabilities. Unlike prior work, AChecker does not rely on predefined patterns or contract transactions history. Instead, it infers access control implemented in smart contracts via static data-flow analysis. Moreover, the approach performs further symbolic-based analysis to distinguish cases when unauthorized people can obtain control of the contract as intended functionality. We evaluated AChecker on three public datasets of real-world smart contracts, including one which consists of contracts with assigned access control CVEs, and compared its effectiveness with eight analysis tools. The evaluation results showed that AChecker outperforms these tools in terms of both precision and recall. In addition, AChecker flagged vulnerabilities in 21 frequently-used contracts on Ethereum blockchain with 90% precision.
引用
收藏
页码:945 / 956
页数:12
相关论文
共 36 条
  • [1] [Anonymous], 2022, ACHECKER
  • [2] [Anonymous], 2019, MYTHR
  • [3] [Anonymous], 2017, CARD BLOCKCH
  • [4] [Anonymous], 2021, VALUE DEFI-REKT 2
  • [5] [Anonymous], 2018, Accidental's bug froze $280 million worth of ether in Parity wallet
  • [6] [Anonymous], 2022, SUG NFT NYC
  • [7] Ethainter: A Smart Contract Security Analyzer for Composite Vulnerabilities
    Brent, Lexi
    Grech, Neville
    Lagouvardos, Sifis
    Scholz, Bernhard
    Smaragdakis, Yannis
    [J]. PROCEEDINGS OF THE 41ST ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '20), 2020, : 454 - 469
  • [8] Empirical Review of Automated Analysis Tools on 47,587 Ethereum Smart Contracts
    Durieux, Thomas
    Ferreira, Joao F.
    Abreu, Rui
    Cruz, Pedro
    [J]. 2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2020), 2020, : 530 - 541
  • [9] ethereum, ETH NETW
  • [10] Etherscan, US