
Bezpečnost Smart Kontraktů - Procházka minovým polem
Blockchain je v podstatě digitální "účetní kniha" transakcí, která je distribuováná napříč celou sítí počítačových systémů v síti typu Peer-to-Peer. Každý blok v řetězci obsahuje určitý počet transakcí a pokaždé, když v blockchainu dojde k nové transakci, je záznam o této transakci přidán do účetní knihy každého účastníka. Decentralizovaná databáze spravovaná více účastníky je známá jako Distributed Ledger Technology (DLT).
Jednou z prvních a nejznámějších je samozřejmě Bitcoin vytvořený v roce 2009, což je v podstatě peer-to-peer systém elektronické měny, který napsala a navrhla tajemná osoba jménem Satoshi Nakamoto, což je pseudonym používaný k zakrytí identity autora.
V průběhu let se zrodily různé další Blockchainy, přičemž jedním z nejpoužívanějších je dnes Ethereum. Ethereum je protokol, který v roce 2013 navrhl Vitalik Buterin. Kombinace funkcí Etherea, jehož někteří označují za "světový počítač", umožňuje poskytovat uživatelům smart kontrakty a decentralizované aplikace, jinak známé jako DApps. Ethereum bylo vyvinuto jako reakce na nedostatečné možnosti protokolu Bitcoin, který má velmi omezený skriptovací jazyk a například smart kontrakty nepodporuje. Ethereum naproti tomu poskytuje uživatelům programovací jazyk Solidity, který je Turingovsky úplny. Spolu s možností vyvíjet smart kontrakty umožňuje mnohem bohatší blockchain z hlediska možných případů použití.
Smart kontrakty jsou programy, které jsou nasazovány jako decentralizované aplikace, které velmi často nakládají s cennými aktivy a které nacházející uplatnění především v aplikacích elektronického obchodování, burzách, De-Fi, DAO, a tím se stávají obzvláště atraktivním cílem četných kyberbezpečnostních útoků. Bezpečnost smart kontraktů jako taková je dnes velmi důležitým tématem a zůstává jedním z hlavních problémů technologie smart kontraktů. Malá chyba v kódu kontraktu může vést k milionovým škodám, jako tomu bylo v případě DAO. Proto pokud jde o psaní chytrého kontraktu, měla by bezpečnost být vždy hlavní prioritou vývojáře v běžném procesu SDLC.
Cílem této prezentace je představit některé z nejčastějších zranitelností, které jsou specifické pro aplikační úroveň technologie Blockchain, a to prostřednictvím analýzy konkrétních případů zneužití těchto bezpečnostních zranitelností a útoků z nich vycházejících. Zároveň se podíváme také na některé dostupné nástroje a aplikace, které tyto zranitelnosti odhalují a porovnáme je z hlediska jejich přístupu a účinnosti.
Reando Veshi
se vždy vášnivě zajímal o technologie, je penetrační tester a bezpečnostní výzkumník ve společnosti insighti a.s. Vystudoval počítačové inženýrství na univerzitě v Padově, kde po získání titulu začal pracovat ve světě informační bezpečnosti. Jako milovník WebSec rád hledá bezpečnostní úskalí se snahou je napravit.
Je zakladatelem italské komunity PentestingMadeSimple, kde ve volném čase natáčí videa a sdílí své znalosti o pentestingu, hackingu a Bug Bounty programech. Poslední rok se zaměřuje na svět Blockchainu, přičemž je instruktorem kybernetické bezpečnosti v italských kurzech zaměřených na technologii Blockchain, kde má možnost spolupracovat s uznávanými odborníky v této oblasti.