W miarę jak rośnie liczba hacków DeFi, ten start-up chce rad…

W ciągu ostatnich kilku lat setki nowych zdecentralizowanych aplikacji i protokołów finansowych zalały sieć Ethereum i inne łańcuchy bloków. W listopadzie 2021 r. łączna wartość zablokowana we wszystkich aplikacjach DeFi osiągnęła oszałamiającą wartość 290 miliardów dolarów. 

DeFi, teoretycznie, ma na celu demokratyzację dostępu do finansów poprzez umożliwienie uczestnictwa ludziom z całego świata, z dowolnego środowiska, bez względu na to, kim są. Nie ma ograniczeń finansowych ani geograficznych ani scentralizowanych pośredników – wszystko jest zdecentralizowane, pozbawione zaufania i peer-to-peer. 

To wizja, która okazała się popularna, a DeFi rozwija się szybciej, niż ktokolwiek mógł sobie wyobrazić. Jednak jego wzrost został przyćmiony licznymi krytycznymi zagrożeniami bezpieczeństwa, które sprawiają, że wydaje się bardzo ryzykownym przedsięwzięciem dla każdego, kto nie ma zbyt dużej wiedzy na temat działania kryptowalut. 

Podczas gdy 2021 był wielkim rokiem dla DeFi, prawdopodobnie był jeszcze większy dla hakerów, z niedawnym raportem z Chainalaysis znalezieniu że w tym roku ukradli kryptowalutę o łącznej wartości 3.2 miliarda dolarów. Ten rok prawdopodobnie będzie równie opłacalny dla hakerów. Według najnowszych informacji CertiK raport, DeFi i Web3 razem straciły ponad 2 miliardy dolarów na rzecz hakerów w pierwszych sześciu miesiącach roku. 

Chainalysis twierdzi, że hakerzy w sferze kryptowalut odeszli od portfeli i innych celów i obecnie atakują prawie wyłącznie protokoły DeFi. W pierwszych trzech miesiącach 2022 r. prawie 97% wszystkich środków skradzionych przez hakerów pochodziło z DeFi, w porównaniu z 72% w 2021 r. i zaledwie 30% w 2020 r. Szybkie spojrzenie na niektóre z największych włamań w tym roku wyjaśnia, dlaczego DeFi stać się tak popularnym celem atakujących. Kwoty, które mogą ukraść, są ogromne. Najdroższym hackiem do tej pory w tym roku był Ronin Validator naruszenie bezpieczeństwa. 23 marca osoba lub osoby odpowiedzialne za atak zdołały skompromitować węzły walidatorów Ronin i Axie DAO Sky NMavis, zhakować klucze prywatne i dokonać nielegalnych wypłat. Ukradli niewiarygodne 173,600 25.5 ETH i 615.5 miliona USDC, o łącznej wartości XNUMX miliona dolarów, za pomocą zaledwie dwóch transakcji. 

Niestety włamanie do Ronina nie było odosobnionym wydarzeniem. W lutym hakerzy wykorzystał lukę w zabezpieczeniach w weryfikacji podpisu Wormhole, co pozwoliło im odbić się z 120,000 326 WETH na Solanie, kwotą, która w momencie ataku była warta XNUMX milionów dolarów. Podobnie w kwietniu protokół Beanstalk padł ofiarą do jednodniowego opóźnienia w umowie dotyczącej propozycji zarządzania BEAN w celu sfinalizowania pożyczki błyskawicznej. Atakujący był w stanie ukraść 70% wszystkich nasion, uzyskując w sumie 181 milionów dolarów. 

 

Wykrywanie luk w inteligentnych kontraktach

Zdecydowana większość włamań do DeFi ma miejsce z powodu luk w inteligentnych kontraktach, które zasilają protokoły. Inteligentne kontrakty to samowykonujące się fragmenty kodu, które automatycznie przetwarzają transakcje po spełnieniu określonych warunków. Stanowią jeden z podstawowych elementów DeFi, ponieważ sprawiają, że wymóg zaufanego pośrednika jest zbędny. 

Dobrą wiadomością jest to, że społeczność zdaje sobie sprawę, że inteligentne kontrakty są rażącą słabością bezpieczeństwa DeFi i podejmuje kroki w celu ich rozwiązania. Najbardziej niezawodne obecnie protokoły DeFi z pewnością przeprowadzą kompleksową audyt inteligentnych kontraktów aby określić, czy istnieją jakiekolwiek luki w zabezpieczeniach. Audyty są przeprowadzane przez wiarygodne firmy, takie jak CertiK i Hacken, i oceniają zarejestrowane transakcje w księdze blockchain, aby spróbować wykryć wszelkie błędy. 

Inne sposoby identyfikacji luk obejmują: testy penetracyjne przez zespoły ekspertów ds. bezpieczeństwa, którzy próbują włamać się do protokołów DeFi, aby poinformować programistów, jak to zrobili, umożliwiając im zamknięcie wszelkich wykrytych luk. Ponadto protokoły mogą również oferować „nagrody za błędy”, gdzie zasadniczo zapewniają bezpieczeństwo w ramach crowdsourcingu. Dziesiątki hakerów „białych kapeluszy” rywalizują o nagrodę pieniężną za zidentyfikowanie luk w zabezpieczeniach protokołu. Nagrody za błędy mogą być szczególnie korzystne, ponieważ zachęcają uczestników do zachowywania się jak prawdziwi cyberprzestępcy, co oznacza, że ​​prawdopodobnie spróbują zhakować protokół przy użyciu podobnych metod, jak robią to prawdziwi źli ludzie. Chodzi o to, że dobrzy ludzie odkryją wszelkie oczywiste wyczyny, zanim zostaną ujawnione w prawdziwym świecie. 

Inteligentne audyty kodów kontraktowych i nagrody za błędy mogą pomóc w ochronie protokołów DeFi przed typowymi atakami hakerskimi dotyczącymi nieobsługiwanych wyjątków i zależności kolejności transakcji. Niestety, audyty nie są nieomylne – badanie Chainalaysis wykazało, że 30% exploitów w tym roku miało miejsce na platformach, które zostały poddane audytowi w ciągu ostatnich 12 miesięcy. Dlatego chociaż audyty kodu i nagrody za błędy mogą być pomocne, nie dają żadnych gwarancji. W związku z tym protokoły DeFi, które zarządzają miliardami dolarów w funduszach użytkowników, powinny przyjąć bardziej niezawodne podejście do bezpieczeństwa. 

 

Nowe oblicze inteligentnych kontraktów

Jednym z najbardziej ekscytujących rozwiązań, które się pojawią, jest język programowania Scrypto opracowany przez podstawa wyliczeń, który jest protokołem blockchain warstwy 1, który został zbudowany specjalnie dla DeFi. 

Połączenia Język krypto jest oparty na popularnym języku programowania Rust i zachowuje większość jego funkcji. Jednak w szczególności dodaje szereg specyficznych funkcji opartych na silniku Radix. Można go traktować jako zbiór bibliotek i rozszerzeń do Rusta, który zapewnia funkcje zorientowane na zasoby, umożliwiając logikę w stylu Rusta interakcję z zasobami jako rodzimy obywatel pierwszej klasy. 

Najważniejszą różnicą Scrypto jest to, że skutecznie eliminuje inteligentne kontrakty. Zamiast inteligentnych kontraktów wykorzystuje plany i komponenty do przetwarzania transakcji. Plany to skompilowany kod źródłowy, który znajduje się w łańcuchu bloków, gdzie może z nich korzystać każdy. Ich rolą jest zapewnienie „funkcji konstruktora” dla transakcji DeFi z elastycznymi parametrami, które inni mogą tworzyć. Generalnie są dość wyspecjalizowane pod względem funkcjonalności, chociaż mogą obsługiwać wiele różnych przypadków użycia, w zależności od tego, jak są tworzone. Plany mogą czasami współpracować z innymi planami, wdrażanymi razem jako „pakiet”. 

Aby aktywować plan, należy go utworzyć, wywołując jedną z jego funkcji konstruktora, aby uzyskać adres nowo utworzonej instancji, znanej jako „komponent”. Komponenty służą do zarządzania stanem i mogą gromadzić, przechowywać i dystrybuować zasoby zgodnie z logiką powiązaną z projektem, który je utworzył. Innymi słowy, komponenty w Scrypto przypominają inteligentne kontrakty, jednak wywodzą się z logiki zdefiniowanej w planie, który go zrodził. 

Unikalna architektura Scrypto pozwala na przeprowadzanie transakcji w zupełnie inny sposób niż zwykłe inteligentne kontrakty napisane w Solidity lub innym języku. Zamiast wysyłać numer lub odwołanie do niektórych tokenów, Radix Engine przenosi własność tokenów z obiektu wywołującego na komponent. Gdy ten komponent otrzyma wiadro zasobów lub wiele wiader, może zabrać te zasoby i zdeponować je w przechowywanym przez siebie skarbcu lub innym wiadrze. Następnie Radix Engine zapewnia, że ​​dzwoniący nie ma już dostępu do zasobnika lub skarbca. 

Efektem końcowym jest to, że dApps zbudowane na Radix mają znacznie prostszy i bezpieczniejszy sposób zawierania transakcji. Aby lepiej zrozumieć, jak to działa, Radix oferuje nam przykład automatu do gumy do żucia który akceptuje tokeny USD w zamian za token przechowywany w swoim skarbcu. 

W tym przykładzie użytkownik przekazuje wiadro 0.25 USD do metody insertCoins komponentu MyMachine. Logika planu pokazuje, że zapłacono właściwą cenę, dodaje te żetony do skarbca, a następnie bierze 1 gumball ze swojego skarbca i przekazuje go z powrotem dzwoniącemu. Może nawet odesłać trochę reszty, jeśli dzwoniący przekazał za dużo USD. 

Dzięki inteligentnym kontraktom Ethereum opartym na Solidity jest to znacznie bardziej złożone i ryzykowne. W tej samej maszynie użytkownik wywołałby inteligentną umowę, aby dać maszynie pozwolenie na wypłatę z portfela w jego imieniu. Powiedzieli maszynie, że chcą włożyć 0.25 USD. Maszyna następnie wywołałaby kontrakt USD, aby dokonać wypłaty, a następnie wywołałby inteligentną umowę gumball, aby wysłać gumball do użytkownika. Wreszcie, prawdopodobnie zaktualizowałby również wewnętrzną pamięć podręczną liczby pozostałych kulek gumowych, aby sprawdzić, czy nie ma erozji. Każdy z tych procesów wykorzystuje inteligentną umowę, a zatem każdy z nich jest narażony na ryzyko zhakowania z powodu podatności inteligentnego kontraktu. 

To tylko prosty przykład. Dzięki DeFi transakcje mogą być wielokrotnie bardziej złożone, co oznacza, że ​​są narażone na wielokrotnie większe ryzyko. Wystarczy jedna luka gdzieś w jednym z wielu inteligentnych kontraktów zaangażowanych w transakcję, aby atakujący mógł przeprowadzić atak. 

 

Wnioski 

Wraz ze wzrostem DeFi i wzrostem całkowitej zablokowanej wartości, ryzyko eksploatacji będzie tylko rosło. Jeśli jest jedna rzecz, którą możemy zebrać z oszałamiającej ilości kryptowalut, które zostały skradzione przez hacki DeFi, to to, że zapotrzebowanie na inteligentne bezpieczeństwo kontraktów nigdy nie było większe. Podczas gdy audyty kodu i bug bounty mogą pomóc w wykryciu najbardziej oczywistych luk w DeFi, jasne jest, że branża może niezmiernie skorzystać na radykalnej przebudowie opartej na infrastrukturze zaprojektowanej tak, aby zminimalizować liczbę potencjalnych exploitów od samego początku. 

 

Zastrzeżenie: ten artykuł służy wyłącznie do celów informacyjnych. Nie jest oferowana ani przeznaczona do wykorzystania jako porady prawne, podatkowe, inwestycyjne, finansowe ani inne

Źródło: https://cryptodaily.co.uk/2022/08/as-defi-hacks-soar-this-startup-wants-to-radically-overhaul-smart-contracts-to-prevent-im