SwapSpace – Międzyłańcuchowe wymiany kryptowalut

Podatności inteligentnych kontraktów: DAO, DeFi i atak reentrancy

John Martin

,

Zaktualizowano: ,6 min

Obszar zdecentralizowanych finansów odnotował wykładniczy wzrost w ciągu ostatniego roku — z łącznej wartości 540 mln USD zarejestrowanej w marcu ubiegłego roku do ponad 47,6 mld USD w momencie publikacji tego artykułu.

Wzrost sektora DeFi otworzył przed użytkownikami, deweloperami i całą branżą nowe możliwości, ale przyniósł też nowe ryzyka, o których inwestorzy mogą nie wiedzieć, a z którymi mimo to muszą się mierzyć.

Większość protokołów DeFi jest zbudowana na blockchainie Ethereum. Ethereum jest drugą co do wielkości kryptowalutą pod względem kapitalizacji rynkowej, ustępując jedynie Bitcoinowi. Dzięki Ethereum, a w szczególności wykorzystaniu kompletnego w sensie Turinga smart kontraktów, projekty blockchain stały się bardziej programowalne.

Smart kontrakty są w istocie kontraktami samowykonującymi się. Kod zapisany w tych kontraktach pozwala automatycznie realizować z góry określone transakcje i ustalenia między pseudonimowymi stronami w określonych parametrach i bez ryzyka dla drugiej strony.

Te samowykonujące się kontrakty zostały po raz pierwszy zaproponowane w 1994 roku przez Nicka Szabo, twórcę poprzednika Bitcoina, Bit Gold, i umożliwiły powstanie wielu zdecentralizowanych aplikacji, które otworzyły nowe możliwości dla użytkowników kryptowalut — czy to emisję stablecoinów opartych na określonym algorytmie, udzielanie pożyczek kryptowalutowych, czy pożyczki z zabezpieczeniem w krypto. I to tylko niewielka część.

Zdecentralizowane giełdy z zdecentralizowanymi modelami zarządzania stały się możliwe właśnie dzięki takim smart kontraktom, w wyniku czego powstał nowy cyfrowy świat, który zaowocował produktami takimi jak Binance Smart Chain, Polkadot i Avalanche.

Protokoły takie jak Aave, Compound, Uniswap i 1 Inch.exchange umożliwiają użytkownikom zarabianie odsetek na swoich inwestycjach oraz handel aktywami krypto, a nawet złożonymi instrumentami, takimi jak zdecentralizowane instrumenty pochodne.

Wszystkie te ekscytujące nowe produkty stworzyły wspomniany wyżej sektor DeFi, który szturmem podbija świat finansów i umożliwia tradycyjnym instytucjom finansowym zarabianie pieniędzy.

To nowe terytorium możliwości, jak już wspomniano, jest kontrolowane przez kod napisany przez deweloperów smart kontraktów. Większość projektów DeFi ma kod open source, a nawet przechodzi przegląd peer review i audyt, podczas gdy inne — przeciwnie — nie. Często nawet w przetestowanym kodzie można znaleźć luki, które pozwalają na wykorzystanie nieznanych wektorów ataku, co prowadzi do ogromnych strat dla firm i zwykłych użytkowników.

Jak luki w smart kontraktach wpływają na użytkowników?

Aby zagwarantować bezpieczeństwo smart kontraktów, można jedynie przeanalizować wszystkie możliwości ich wykonania. W przypadku wykonywania smart kontraktów w językach kompletnych w sensie Turinga trzeba mieć pewność, że program komputerowy nie zawiera błędów, co jest niemal niemożliwe. Dlatego podczas pracy nad smart kontraktami lub ich tworzenia trzeba przeprowadzać ich audyt.

Luki w smart kontraktach Ethereum mogą mieć katastrofalne konsekwencje. Mimo że protokoły takie jak Aave są zarządzane przez profesjonalistów i regularnie sprawdzane, luki bezpieczeństwa nadal stanowią ryzyko ataku hakerskiego i utraty aktywów krypto na ogromne kwoty, co z kolei negatywnie wpływa na zaufanie inwestorów do protokołu, a następnie powoduje straty finansowe dla użytkowników/firm oraz zmienność cen.

Luki te wynikają ze złożoności natywnego języka smart kontraktów Ethereum i jego systemu rozliczeniowego, który w przeciwieństwie do systemu UTXO Bitcoina jest znacznie bardziej elastyczny, a przez to bardziej podatny na dodatkowe luki i wektory ataku.

Ponieważ Solidity i inne języki smart kontraktów są nowe i niezwykle złożone, obwinianie deweloperów za te luki byłoby nieprawidłowe.

Istnieje ponad 80 platform DeFi zbudowanych na Ethereum, a co tydzień uruchamiane są nowe projekty. Smart kontrakty, z których korzystają, z pewnością będą miały luki, zwłaszcza jeśli nie zostały odpowiednio napisane i przetestowane.

Śledztwo przeprowadzone przez CyberNews ujawniło, że niemal 3 800 smart kontraktów Ethereum miało luki, które pozwoliłyby napastnikom ukraść aktywa krypto o wartości co najmniej 1 mln USD. Badanie wykazało również, że istnieje łącznie 13 różnych typów luk, z których cztery z dużym prawdopodobieństwem zostaną wykorzystane przez hakerów.

Popularna platforma Avalanche odkryła w tym roku lukę. Tak więc podczas uruchamiania nowej zdecentralizowanej giełdy Pangolin i przeciążenia sieci doszło do błędu, który doprowadził do niepowodzenia emisji, wywołując powszechną panikę. Inne znane platformy, w tym Solana, Flow, Zilliqa i Fantom, jak się okazało, również miały błędy w swoich kontraktach.

DAO i atak Re-Entry

Re-entry to powszechna luka smart kontraktów. Chociaż może występować w smart kontraktach na różnych platformach blockchain, najczęściej kojarzona jest z blockchainem Ethereum.

Ataki Re-entry są najbardziej znane z głośnego włamania do DAO w 2016 roku na blockchainie Ethereum.

Pierwszy i najbardziej katastrofalny błąd w smart kontrakcie miał miejsce w 2016 roku. Zdecentralizowana autonomiczna organizacja (DAO) działała na smart kontraktach i zebrała wówczas ponad 150 mln USD.

Nieznany napastnik zdołał wypłacić ether (ETH) zebrany w ramach crowdfundingu. Wysokość szkód wyniosła ponad 150 mln USD.

Ten przypadek jest najbardziej znanym przykładem ataku Re-entry. Atak powtórny oznacza, że napastnik wysyła transakcję, w wyniku której kontrakt jest wykonywany wielokrotnie, aż do wyczerpania zasobów konta kontraktu.

Jeśli projekt, który prosił o finansowanie, otrzymał wystarczające wsparcie od społeczności DAO, adres Ethereum tego projektu mógł wypłacić ether z DAO. Niestety dla DAO mechanizm transferu przesyłał ether na zewnętrzny adres przed zaktualizowaniem swojego stanu wewnętrznego i odnotowaniem, że saldo zostało już przelane. Umożliwiło to napastnikom wypłacenie większej ilości etheru.

Łącznie z portfeli DAO wallets wypłacono 3,6 mln ETH. Obecnie te tokeny są warte ponad 6,4 mld USD. Hack doprowadził do hard forka, który podzielił sieć na dwie części: Ethereum i Ethereum Classic.

Podczas gdy niektórzy zgodzili się, że najlepiej będzie ograniczyć szkody i przenieść środki na adresy, do których mogli uzyskać dostęp ich pierwotni właściciele, inni argumentowali, że nie należy naruszać niezmienności blockchaina, ponieważ prowadzi to do technologicznego i ideologicznego podziału w społeczności.

Oryginalny blockchain Ethereum, znany dziś jako Ethereum Classic, pozostawił skradzione z DAO tokeny w rękach hakera, wybierając niezmienność, podczas gdy Ethereum pozwoliło społeczności głosować i zwróciło środki ich pierwotnym właścicielom, stawiając konsensus blockchaina na pierwszym miejscu.

Inne przykłady ataków Re-entry poza DAO

Jednak luki te zostały również wykryte w licznych włamaniach do smart kontraktów, w tym w kilku protokołach DeFi.

Oto kilka przykładów ostatnich hacków DeFi z wykorzystaniem luk re-entry:

  • Fei Protocol: W kwietniu 2022 roku protokół Fei padł ofiarą hacka na ~80 mln USD, możliwego dzięki wykorzystaniu kodu stron trzecich zawierającego luki re-entry.
  • Paraluni: Włamanie do smart kontraktu Paraluni w marcu 2022 roku wykorzystało lukę re-entry i słabą weryfikację niewiarygodnych danych użytkownika, aby ukraść tokeny o wartości ~1,7 mln USD.
  • Grim Finance: W grudniu 2021 roku wykorzystano lukę ponownego wejścia w funkcji safeTransferFrom Grim Finance, aby zdobyć tokeny o wartości ~30 mln USD.
  • SIREN Protocol: Luka ponownego wejścia do smart kontraktów puli AMM protokołu SIREN została wykorzystana we wrześniu 2021 roku do kradzieży tokenów o wartości ~3,5 mln USD.
  • CREAM Finance: W sierpniu 2021 roku napastnik wykorzystał exploit re-logging, aby dostać się do systemu integracji tokena AMP CREAM Finance i ukraść tokeny o wartości około 18,8 mln USD.

To bynajmniej nie są jedyne przykłady hacków DeFi wykorzystujących luki podczas re-entry. Chociaż jest to stary i szeroko nagłośniony problem, luki re-entry nadal pojawiają się dziś w nowych smart kontraktach.

Podsumujmy

Zaufanie zarówno zwykłych użytkowników, jak i dużych inwestorów do samej idei DeFi będzie zależeć od tego, jak branża krypto poradzi sobie z tego rodzaju wyzwaniami.

To, co dzieje się teraz, jest naturalne i wkrótce doprowadzi do wzrostu poziomu bezpieczeństwa projektów blockchain, ale okresowo nadal będziemy widzieć wiadomości o udanych atakach hakerskich.

Udostępnij:

Powiązane artykuły

Ciekawi Cię więcej?

Dołącz do naszego newslettera — bądź na bieżąco, bądź pełen energii.