Nothing Special   »   [go: up one dir, main page]

skip to main content
10.5555/3291291.3291303dlproceedingsArticle/Chapter ViewAbstractPublication PagescasconConference Proceedingsconference-collections
research-article

Empirical vulnerability analysis of automated smart contracts security testing on blockchains

Published: 29 October 2018 Publication History

Abstract

The emerging blockchain technology supports decentralized computing paradigm shift and is a rapidly approaching phenomenon. While blockchain is thought primarily as the basis of Bitcoin, its application has grown far beyond cryptocurrencies due to the introduction of smart contracts. Smart contracts are self-enforcing pieces of software, which reside and run over a hosting blockchain. Using blockchain-based smart contracts for secure and transparent management to govern interactions (authentication, connection, and transaction) in Internet-enabled environments, mostly IoT, is a niche area of research and practice. However, writing trustworthy and safe smart contracts can be tremendously challenging because of the complicated semantics of underlying domain-specific languages and its testability. There have been high-profile incidents that indicate blockchain smart contracts could contain various code-security vulnerabilities, instigating financial harms. When it involves security of smart contracts, developers embracing the ability to write the contracts should be capable of testing their code, for diagnosing security vulnerabilities, before deploying them to the immutable environments on blockchains. However, there are only a handful of security testing tools for smart contracts. This implies that the existing research on automatic smart contracts security testing is not adequate and remains in a very stage of infancy. With a specific goal to more readily realize the application of blockchain smart contracts in security and privacy, we should first understand their vulnerabilities before widespread implementation. Accordingly, the goal of this paper is to carry out a far-reaching experimental assessment of current static smart contracts security testing tools, for the most widely used blockchain, the Ethereum and its domain-specific programming language, Solidity, to provide the first body of knowledge for creating more secure blockchain-based software.

References

[1]
Tesnim Abdellatif and Kei-Léo Brousmiche. 2018. Formal verification of smart contracts based on users and blockchain behaviors models. In New Technologies, Mobility and Security (NTMS), 2018 9th IFIP International Conference on. IEEE, 1--5.
[2]
Michael P Andersen, John Kolb, Kaifei Chen, Gabriel Fierro, David E. Culler, and Raluca Ada Popa. 2017. WAVE: A Decentralized Authorization System for IoT via Blockchain Smart Contracts. Technical Report UCB/EECS-2017-234. EECS Department, University of California, Berkeley. http://www2.eecs.berkeley.edu/Pubs/TechRpts/2017/EECS-2017-234.html
[3]
Nicola Atzei, Massimo Bartoletti, and Tiziana Cimoli. 2017. A survey of attacks on ethereum smart contracts (sok). In Principles of Security and Trust. Springer, 164--186.
[4]
Algirdas Avizienis. 1995. The methodology of n-version programming. Software fault tolerance 3 (1995), 23--46.
[5]
Amin Azmoodeh, Ali Dehghantanha, and Kim-Kwang Raymond Choo. 2018. Robust Malware Detection for Internet Of (Battlefield) Things Devices Using Deep Eigenspace Learning. IEEE Transactions on Sustainable Computing (2018).
[6]
Ananda Basu, Marius Bozga, and Joseph Sifakis. 2006. Modeling heterogeneous real-time components in BIP. In Software Engineering and Formal Methods, 2006. SEFM 2006. Fourth IEEE International Conference on. IEEE, 3--12.
[7]
Saddek Bensalem, Marius Bozga, Thanh-Hung Nguyen, and Joseph Sifakis. 2009. D-finder: A tool for compositional deadlock detection and verification. In International Conference on Computer Aided Verification. Springer, 614--619.
[8]
Karthikeyan Bhargavan, Antoine Delignat-Lavaud, Cédric Fournet, Anitha Gollamudi, Georges Gonthier, Nadim Kobeissi, Natalia Kulatova, Aseem Rastogi, Thomas Sibut-Pinote, Nikhil Swamy, et al. 2016. Formal verification of smart contracts: Short paper. In Proceedings of the 2016 ACM Workshop on Programming Languages and Analysis for Security. ACM, 91--96.
[9]
Lorenz Breindenbach, Phil Daian, Florian Tramèr, and Ari Juels. 2018. Enter the Hydra: Towards Principled Bug Bounties and Exploit-Resistant Smart Contracts. In 27th {USENIX} Security Symposium ({USEN IX} Security 18). {USENIX} Association, Baltimore, MD. https://www.usenix.org/conference/usenixsecurity18/presentation/breindenbach
[10]
Brian Chess and Gary McGraw. 2004. Static analysis for security. IEEE Security & Privacy 2, 6 (2004), 76--79.
[11]
Konstantinos Christidis and Michael Devetsikiotis. 2016. Blockchains and smart contracts for the internet of things. IEEE Access 4 (2016), 2292--2303.
[12]
M. Conti, A. Dehghantanha, K. Franke, and S. Watson. 2018. Internet of Things security and forensics: Challenges and opportunities. Future Generation Computer Systems 78 (2018), 544--546.
[13]
G. Destefanis, M. Marchesi, M. Ortu, R. Tonelli, A. Bracciali, and R. Hierons. 2018. Smart contracts vulnerabilities: a call for blockchain software engineering?,. In 2018 International Workshop on Blockchain Oriented Software Engineering (IWBOSE). 19--25.
[14]
Gregory Epiphaniou, Petros Karadimas, Dhouha Kbaier Ben Ismail, Haider Al-Khateeb, Ali Dehghantanha, and Kim-Kwang Raymond Choo. 2017. Non-reciprocity compensation combined with turbo codes for secret key generation in vehicular ad hoc social IoT networks. IEEE Internet of Things Journal (2017).
[15]
Ethereum. {n. d.}. Design Rationale. https://github.com/ethereum/wiki/wiki/Design-Rationale
[16]
Ethereum. {n. d.}. Solidity. http://solidity.readthedocs.io/en/v0.4.24/
[17]
Chong-zhi Gao, Qiong Cheng, Pei He, Willy Susilo, and Jin Li. 2018. Privacy-preserving Naive Bayes classifiers secure against the substitution-then-comparison attack. Information Sciences 444 (2018), 72--88.
[18]
Ilya Grishchenko, Matteo Maffei, and Clara Schneidewind. 2018. A Semantic Framework for the Security Analysis of Ethereum smart contracts. In International Conference on Principles of Security and Trust. Springer, 243--269.
[19]
Florian Idelberger, Guido Governatori, Régis Riveret, and Giovanni Sartor. 2016. Evaluation of logic-based smart contracts for blockchain systems. In International Symposium on Rules and Rule Markup Languages for the Semantic Web. Springer, 167--183.
[20]
Rutvij H Jhaveri, Narendra M Patel, Yubin Zhong, and Arun Kumar Sangaiah. 2018. Sensitivity Analysis of an Attack-Pattern Discovery Based Trusted Routing Scheme for Mobile Ad-Hoc Networks in Industrial IoT. IEEE Access 6 (2018), 20085--20103.
[21]
Sukrit Kalra, Seep Goel, Mohan Dhawan, and Subodh Sharma. 2018. Zeus: Analyzing safety of smart contracts. NDSS.
[22]
Software Reliability Lab. {n. d.}. Securify. https://securify.ch/
[23]
Axel Legay, Benoît Delahaye, and Saddek Bensalem. 2010. Statistical model checking: An overview. In International conference on runtime verification. Springer, 122--135.
[24]
Jin Li, Lichao Sun, Qiben Yan, Zhiqiang Li, Witawas Srisa-an, and Heng Ye. 2018. Significant Permission Identification for Machine Learning Based Android Malware Detection. IEEE Transactions on Industrial Informatics (2018).
[25]
Loi Luu, Duc-Hiep Chu, Hrishi Olickel, Prateek Saxena, and Aquinas Hobor. 2016. Making smart contracts smarter. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. ACM, 254--269.
[26]
Daniele Magazzeni, Peter McBurney, and William Nash. 2017. Validation and verification of smart contracts: A research agenda. Computer 50, 9 (2017), 50--57.
[27]
Anastasia Mavridou and Aron Laszka. 2017. Designing secure Ethereum smart contracts: A finite state machine based approach. arXiv preprint arXiv:1711.09327 (2017).
[28]
Anastasia Mavridou and Aron Laszka. 2018. Tool demonstration: FSolidM for designing secure Ethereum smart contracts. In International Conference on Principles of Security and Trust. Springer, 270--277.
[29]
B. Mueller. {n. d.}. Mythril. https://github.com/ConsenSys/mythril.
[30]
H.H. Pajouh, R. Javidan, R. Khayami, A. Dehghantanha, and K.K.R. Choo. 2016. A two-layer dimension reduction and two-tier classification model for anomaly-based intrusion detection in IoT backbone networks. IEEE Transactions on Emerging Topics in Computing (2016).
[31]
Reza M. Parizi, Amritraj, and Ali Dehghantanha. 2018. Smart Contract Programming Languages on Blockchains: An Empirical Evaluation of Usability and Security. In Blockchain - ICBC 2018, Shiping Chen, Harry Wang, and Liang-Jie Zhang (Eds.). Springer International Publishing, Cham, 75--91.
[32]
Reza M. Parizi, AA Abdul Ghani, Rusli Abdullah, and Rodziah Atan. 2009. On the applicability of random testing for aspect-oriented programs. International Journal of Software Engineering and Its Application 3, 3 (2009), 1--19.
[33]
Reza M. Parizi, Abdul Azim Abdul Ghani, Rusli Abdullah, and Rodziah Atan. 2011. Empirical evaluation of the fault detection effectiveness and test effort efficiency of the automated AOP testing approaches. Information and Software Technology 53 (2011), 1062--1083.
[34]
Reza M. Parizi, Abdul Azim Abdul Ghani, and Sai Peck Lee. 2015. Automated test generation technique for aspectual features in AspectJ. Information and Software Technology 57 (2015), 463--493.
[35]
Reza M. Parizi, Kai Qian, Hossain Shahriar, Fan Wu, and Lixin Tao. 2018. Benchmark Requirements for Assessing Software Security Vulnerability Testing Tools. In 2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC). IEEE, 825--826.
[36]
Ethereum Project. {n. d.}. Blockchain App Platform. https://www.ethereum.org/
[37]
Gerard Salton and Christopher Buckley. 1988. Term-weighting approaches in automatic text retrieval. Information processing & management 24, 5 (1988), 513--523.
[38]
SmartDec. {n. d.}. SmartCheck. https://tool.smartdec.net
[39]
Chen Wang, Jian Shen, Qi Liu, Yongjun Ren, and Tong Li. 2018. A Novel Security Scheme Based on Instant Encrypted Transmission for Internet of Things. Security and Communication Networks 2018 (2018).
[40]
Steve Watson and Ali Dehghantanha. 2016. Digital forensics: the missing piece of the internet of things promise. Computer Fraud & Security 2016, 6 (2016), 5--8.
[41]
William J Youden. 1950. Index for rating diagnostic tests. Cancer 3, 1 (1950), 32--35.
[42]
Yong Yuan and Fei-Yue Wang. 2016. Blockchain: the state of the art and future trends. Acta Automatica Sinica 42, 4 (2016), 481--494.
[43]
X. Zhang, Y.A. Tan, C. Liang, Y. Li, and J. Li. 2018. A Covert Channel Over VoLTE via Adjusting Silence Periods. IEEE Access 6, 1 (2018), 9292--9302.
[44]
Yuanyu Zhang, Shoji Kasahara, Yulong Shen, Xiaohong Jiang, and Jianxiong Wan. 2018. Smart Contract-Based Access Control for the Internet of Things. arXiv preprint arXiv:1802.04410 (2018).

Cited By

View all
  • (2024)Particle Swarm Algorithm for Smart Contract Vulnerability Detection Based on Semantic WebInternational Journal on Semantic Web & Information Systems10.4018/IJSWIS.34285020:1(1-33)Online publication date: 15-May-2024
  • (2024)An extensive multivocal literature review of blockchain technologyTransactions on Emerging Telecommunications Technologies10.1002/ett.503735:11Online publication date: 23-Oct-2024
  • (2021)Integration of Blockchain with Connected and Autonomous Vehicles: Vision and ChallengeJournal of Data and Information Quality10.1145/346000314:1(1-10)Online publication date: 11-Dec-2021
  • Show More Cited By

Index Terms

  1. Empirical vulnerability analysis of automated smart contracts security testing on blockchains

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image DL Hosted proceedings
    CASCON '18: Proceedings of the 28th Annual International Conference on Computer Science and Software Engineering
    October 2018
    439 pages

    Publisher

    IBM Corp.

    United States

    Publication History

    Published: 29 October 2018

    Author Tags

    1. EVM
    2. IoT security
    3. blockchain
    4. ethereum
    5. experiments
    6. internet of things
    7. security testing tools
    8. smart contracts
    9. solidity
    10. vulnerability detection

    Qualifiers

    • Research-article

    Acceptance Rates

    Overall Acceptance Rate 24 of 90 submissions, 27%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)32
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 22 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Particle Swarm Algorithm for Smart Contract Vulnerability Detection Based on Semantic WebInternational Journal on Semantic Web & Information Systems10.4018/IJSWIS.34285020:1(1-33)Online publication date: 15-May-2024
    • (2024)An extensive multivocal literature review of blockchain technologyTransactions on Emerging Telecommunications Technologies10.1002/ett.503735:11Online publication date: 23-Oct-2024
    • (2021)Integration of Blockchain with Connected and Autonomous Vehicles: Vision and ChallengeJournal of Data and Information Quality10.1145/346000314:1(1-10)Online publication date: 11-Dec-2021
    • (2021)Developing Cost-Effective Blockchain-Powered ApplicationsACM Transactions on Software Engineering and Methodology10.1145/343172630:3(1-38)Online publication date: 9-Mar-2021
    • (2020)How effective are smart contract analysis tools? evaluating smart contract static analysis tools using bug injectionProceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3395363.3397385(415-427)Online publication date: 18-Jul-2020
    • (2020)Empirical review of automated analysis tools on 47,587 Ethereum smart contractsProceedings of the ACM/IEEE 42nd International Conference on Software Engineering10.1145/3377811.3380364(530-541)Online publication date: 27-Jun-2020

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media