Designing and Implementing Educational Exercises for Exploring Smart Contract Vulnerabilities
Abstract
S rozvojem kryptoměn v poslední dekádě získal blockchain pozornost akademické obce, průmyslu i veřejnosti. Některé blockchainy podporují Turingovsky úplné programy známé jako chytré kontrakty, které umožňují vývojářům vytvářet komplexní decentralizované aplikace pomocí vyšších programovacích jazyků. Tato práce se zabývá studiem zranitelností chytrých kontraktů, jejich prevencí a mitigací. Jsou studovány a shrnuty časté zranitelnosti v jazyce Solidity a na Ethereum blockchainu. Je vytvořen podrobný přehled těchto zranitelností, včetně konkrétních příkladů, strategií prevence a metod detekce. Praktická část práce se zaměřuje na implementaci série praktických vzdělávacích cvičení pro studenty, umožňujících jim experimentovat s těmito zranitelnostmi v kontrolovaném prostředí. V rámci této práce byla implementována série devíti praktických cvičení, která dohromady obsahují 23 úloh, v nichž mohou studenti experimentovat s reentrancy útoky, s útoky s využitím flash loans, s manipulací cenových orákulů, se slabinami v řízení přístupu, s útoky typu odepření služby, s problémy náhodnosti, s aritmetickými chybami, s frontrunningem a sandwich útoky, s unit testy a fuzzingem a dalšími koncepty.
Community
0 commentsNo discussion yet
Be the first to share a question or observation.