Decentraliserade cryptocurrencies har användningen av blockchain för att överföra värden bland kamrater på nätverk utan centralbyrå. Smarta kontrakt är program som körs på toppen av blockchain konsensus protokoll för att göra det möjligt för människor att göra avtal samtidigt minimera truster. Miljontals smarta kontrakt har använts i olika decentraliserade tillämpningar. Säkerhetssårbarheterna inom dessa smarta kontrakt utgör ett betydande hot mot deras tillämpningar. Faktum är att många kritiska säkerhetssårbarheter inom smarta kontrakt på Ethereum-plattformen har orsakat enorma ekonomiska förluster för sina användare. I detta arbete presenterar vi ContractFuzzer, en ny fuzzer för att testa Ethereum smarta kontrakt för säkerhetssårbarhet. ContractFuzzer genererar fuzzing indata baserat på ABI-specifikationer för smarta kontrakt, definierar test oracles för att upptäcka säkerhetssårbarheter, instrument EMM för att logga smarta kontrakt körtid beteenden, och analyserar dessa loggar för att rapportera säkerhetssårbarheter. Vår fuzzing av 6991 smarta kontrakt har flaggat mer än 459 sårbarheter med hög precision. I synnerhet, vårt fuzzing verktyg upptäcker framgångsrikt sårbarheten i DAO-avtalet som leder till $60 miljoner förlust och sårbarheterna i Parity Wallet som har lett till förlusten av $30 miljoner och frysningen av $150 miljoner till ett värde av Ether. • Säkerhet och integritet → Programvara och applikationssäkerhet; • Programvara och dess konstruktion → Testning och felsökning av programvara;
I likhet med SMARTSCOPY genererar ContractorFUZZER REF även bedrifter för en begränsad klass av sårbarheter baserat på ABI-specifikationerna för smarta kontrakt.
ContractFuzzer: Fuzzing Smart Contracts for Vulnerability Detection
{'venue': '2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE)', 'journal': '2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE)', 'mag_field_of_study': ['Computer Science']}