ContractFuzzer: Fuzzing Smart Contracts for Vulnerability Detection

07/11/2018
∙
by   Bo Jiang, et al.
∙
0
∙

Decentralized cryptocurrencies feature the use of blockchain technology to transfer value among peers on the network without central agency. Smart contracts are programs running on top of the blockchain consensus protocol to enable people make agreement via blockchain while minimizing trust. While millions of smart contracts exists to help build decentralized applications, the security vulnerabilities within the smart contracts pose big threat to their applications. Indeed, many critical security vulnerabilities within smart contracts on Ethereum platform have caused huge financial loss to its users. In this work, we build a fuzzing framework to test Ethereum smart contracts for security vulnerabilities. We propose test oracles for detecting security vulnerabilities, generate fuzzing input based on the ABI specifications of the smart contracts, instrument the EVM to collect executions logs characterizing smart contracts runtime behavior and analyze the logs to report vulnerabilities. Our fuzzing on 6991 smart contracts has flagged more than 459 vulnerabilities with high precision. In particular, our fuzzing tool can detect the vulnerability of the DAO contract that leads to 60 million US loss and the vulnerabilities of Parity Wallet that has lead to the loss of 30 million USD and the freezing of 150 million USD worth of Ether.

READ FULL TEXT

Please sign up or login with your details

Continue with:
Or login with email
Enter Password
Re-enter Password

Forgot password? Click here to reset
Success!
Error Icon An error occurred

Sign in with Google

×

Use your Google Account to sign in to DeepAI

×
Pro

Consider DeepAI Pro

Subscribe to DeepAI Pro
DeepAI Pro
Provides a limited generation allowance each month. When exceeded, you are charged overage rates available at deepai.org/pricing. Also includes an ad-free experience and API access. Renews automatically until canceled. Non-refundable.
Subtotal
Total due today

Payment

Add DeepAI credits
DeepAI credits
One-time purchase. Credits are added to your wallet after payment.
Subtotal
Total due today

Payment