Bezpečnostní audit Ethereum projektu
Security audit of Ethereum project
Typ dokumentu
diplomová prácemaster thesis
Autor
Vojtěch David
Vedoucí práce
Gattermayer Josef
Oponent práce
Kodýtek Filip
Studijní obor
Počítačová bezpečnostStudijní program
Informatika 2010Instituce přidělující hodnost
katedra informační bezpečnostiPráva
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Zobrazit celý záznamAbstrakt
Ve své práci se zabývám bezpečnostním auditem aplikace PWN, která je napsaná v jazyce Solidity a je nahraná na blockchain Etherea. V textu je detailně popsán princip protokolu Bitcoin a na těchto základech vysvětluji, jak funguje Ethereum a smart kontrakty, které jsou určeny pro nahrání na blockchain Etherea. Dále zkoumám fungovaní PWN aplikace, píšu pro ni unit testy a analyzuji výstup statické analýzy kódu z nástroje Slither. Následuje manuální code review, kde diskutuji slabiny návrhu aplikace, kritizuji odklonění implementace PWN od popisu ve white paperu a předkládám svůj návrh na vylepšení aplikace. In this paper, I deal with security audit of PWN application, which is written in Solidity and deployed to Ethereum blockchain. The text describes in detail the principle of Bitcoin protocol. On that basis I explain Ethereum protocol and the smart contracts, which are meant to be deployed on the Ethereum blockchain. I~analyze the PWN application, I write the unit tests for it and I review the output of the static code analysis tool Slither. After that, I do a manual code review, where I discuss the weaknesses of the PWN design, I criticize that, the PWN implementation does not follow the description in the white paper and I propose my own application improvements.