Smarta kontrakt-stateful körbara objekt värd på blockkedjor som Ethereum-carry miljarder dollar värde av mynt och kan inte uppdateras en gång ut. Vi presenterar en ny systematisk karakterisering av en klass av spår sårbarheter, som följer av att analysera flera anrop av ett kontrakt under sin livstid. Vi fokuserar på tre exempel egenskaper sådana spår sårbarheter: hitta kontrakt som antingen låser pengar på obestämd tid, läcka dem slarvigt till godtyckliga användare, eller kan dödas av någon. Vi implementerade Maian, det första verktyget för att specificera och resonera om spåregenskaper, som använder inter-procedural symbolisk analys och betong validator för att uppvisa verkliga bedrifter. Vår analys av nästan en miljon kontrakt flaggor 34, 200 (2, 365 distinkta) kontrakt sårbara, på 10 sekunder per kontrakt. På en undergrupp på 3, 759 kontrakt som vi provade för konkret validering och manuell analys, reproducerar vi verkliga bedrifter med en verklig positiv hastighet på 89%, vilket ger bedrifter för 3, 686 kontrakt. Vårt verktyg finner bedrifter för den ökända Parity bugg som indirekt låst 200 miljoner US-dollar värde i Ether, som tidigare analyser misslyckades med att fånga.
Den MAIAN ramverk REF ] fokuserar på att hitta sårbarheter i smarta kontrakt såsom låsning av medel på obestämd tid, läcka pengar till godtyckliga användare, och smarta kontrakt som kan dödas av vem som helst.
Finding The Greedy, Prodigal, and Suicidal Contracts at Scale
{'venue': "ACSAC '18", 'journal': None, 'mag_field_of_study': ['Computer Science']}