Dlaczego kopiuj-wklej w DeFis są bardziej przerażające niż klauni? Analiza danych PlatoBlockchain. Wyszukiwanie pionowe. AI.

Dlaczego kopiuj-wklej w DeFis są bardziej przerażające niż klauni?

Od lat robimy dowcipy typu „kopiuj-wklej”. Pamiętasz wszystkie memy CTRL + C i CTRL + V? Cóż, zaczęły nas prześladować, ponieważ używaliśmy ich do niewłaściwych celów. 

Kopiowanie i wklejanie, specyficzne dla branży IT, to stara i powszechna forma ponownego wykorzystania oprogramowania. Większość ludzi robi to, aby zaoszczędzić czas i wysiłek, inni używają tego, ponieważ nie chcą tracić czasu na robienie tego sami, w końcu oboje ponoszą konsekwencje. 

Spośród mnóstwa wad najbardziej zauważalną jest powielanie błędów i luk w zabezpieczeniach w całym systemie podczas kopiowania istniejącego kodu. To, czy praktyka kopiowania i wklejania kodu powinna być dozwolona, ​​czy nie, jest dyskusyjne ze względu na jej zalety i wady, ale wszyscy możemy się zgodzić, że błędy wprowadzone przez niezmodyfikowany skopiowany kod mogą prowadzić do poważnych sytuacji. Stawka jest jeszcze wyższa, jeśli chodzi o ekosystem kryptowalut i DeFi. 

DeFi to splątana przestrzeń. Jest bezpłatny dla wszystkich, nie tylko pod względem dostępu, ale także pod względem wdrażania technologii. Większość protokołów i pomysłów DeFi ma charakter open source, więc każdy może pomóc, ale z tego powodu stało się to mieczem obosiecznym. Jedna strona obozu pomaga ulepszyć projekty DeFi, podczas gdy druga strona kopiuje projekty i kod, aby opracować własne rozwiązanie. 

Co sprawiło, że Apple odniosło sukces? Steve Jobs wiedział, że pomalowanie tylnej części płotu jest równie ważne jak pomalowanie przodu, nawet jeśli nikt inny tego nie zobaczy. Nie tylko jakość, ale także wyjątkowość odgrywa ważną rolę w tworzeniu lojalnej rzeszy fanów.  

Ale nawet poza czynnikiem wyjątkowości, przestrzeń DeFi nie zdała sobie sprawy, że kod, który kopiują, sam w sobie nie jest kompletny. Każdy protokół DeFi szybko się rozwija i eksploruje sam siebie. Dlatego każdy dostępny protokół może wykryć kilka nowych błędów. Nawet jeśli kod zostanie dobrze sprawdzony, nowe błędy mogą wyjść na jaw, a protokół można zabezpieczyć przed takimi błędami tylko wtedy, gdy oryginalna koncepcja zostanie wdrożona przez główny zespół. 

Niebezpieczeństwa kopiowania i wklejania w DeFi

Szczególnie w przypadku przestrzeni DeFi skopiowany kod może prowadzić do ogromnych strat finansowych. Poza tym większość rozwiązań typu „kopiuj-wklej” jest kiepskiej jakości ze względu na ograniczoną wiedzę osoby kopiującej, co prowadzi do straty czasu, niepożądanych modyfikacji i, co najważniejsze, ataków hakerskich. 

Jakiś czas temu branżę DeFi uderzyła wiadomość o protokole Binance Smart Chain DeFi Pancake Bunny został wykorzystany w wyniku ataku polegającego na pożyczce błyskawicznej uznano, że społeczność poniosła stratę w wysokości 1 miliarda dolarów. 

Przed wyborem produktu DeFi bardzo ważne jest sprawdzenie jakości i unikalności kodu. Jedno spojrzenie profesjonalisty w tym miejscu może łatwo rozpoznać, czy kod został skopiowany, czy nie. 

Bardzo ważne jest, aby zrozumieć, że kopiując kod, programiści nie tylko kopiują dane, ale także kopiują błędy i luki w zabezpieczeniach. Co więcej, gdy programiści próbują skopiować kod, może pojawić się subtelniejsza semantyka. Nic dziwnego, że branża DeFI stanęła w obliczu tak wielu ataków hakerskich, z których większość zakończyła się sukcesem. Od 2019 r. ataki hakerów spowodowały straty w wysokości około 285 milionów dolarów. 

Dlaczego kopiuj-wklej w DeFis są bardziej przerażające niż klauni? Analiza danych PlatoBlockchain. Wyszukiwanie pionowe. AI.

Źródło: Atlas VPN

Dlatego pierwszą lekcją jest „zawsze sprawdzaj kod”. Nawet jeśli jesteś właścicielem produktu, musisz sprawdzić kod tworzony przez Twój zespół. 

Przezorny jest przygotowany – jeśli wiesz, czego szukasz, możesz zmniejszyć ryzyko, że oszuści wykorzystają Twój produkt. Jedną z wielu dobrych rzeczy w społeczności DeFi jest to, że nawet jeśli nie wiesz, jak kodować, projekt ma otwarty kod i jeśli ludzie uznają to za interesujące, społeczność z pewnością przeprowadzi badania i podzieli się wynikami z resztą ludowy. 

Większość programistów zgodzi się co do faktu, że kopiowanie i wklejanie kodów jest ogólnie złą praktyką. Jest to powszechne, ponieważ zmiana kodu lub utworzenie nowego wymaga czasu, wysiłku i pieniędzy. 

Nie musi to oznaczać, że ponowne wykorzystanie kodu jest złe. Kod może być ponownie wykorzystany i powinien być ponownie użyty w dowolnym miejscu, ponieważ oszczędza to czas i wysiłek. Jednak po modyfikacjach kod ten wymaga profesjonalnego audytu. 

Powody, dla których należy unikać kopiowania i wklejania w DeFi

Poniżej wymieniono kilka innych powodów, dla których należy unikać wklejania kopii w przestrzeni DeFi:

Złe ponowne użycie

Każdy kod ma swoje własne zależności. Nawet jeśli są one ogólne, wersja zależności, bibliotek, języków i samego kodu jest stale aktualizowana. Oznacza to, że nawet jeśli skopiujesz najnowszy kod, ponowne użycie będzie kiepskie, niezależnie od tego, jak dobry jesteś w kopiowaniu. 

Dziedziczenie luk

Zawsze są dwie strony medalu. Jeśli chcesz odziedziczyć zyski z projektu, będziesz musiał odziedziczyć także straty. Najczęstszym problemem związanym z kopiowaniem kodu są problemy nieodłącznie związane z oryginalnym kodem. Najgorsze jest to, że skopiowany kod jest modyfikowany pod kątem określonego celu, przez co wyśledzenie błędu staje się trudniejsze. Nawet z perspektywy audytu skopiowany kod z niewielkimi modyfikacjami staje się jeszcze trudniejszy do audytu. 

usługi audytu inteligentnych umów | Audyt inteligentnych kontraktów DeFi

Przedstawiamy nowe błędy

Jeśli kopiujesz kod, prawdopodobnie chcesz mieć krótki czas wprowadzenia produktu na rynek, aby nie mieć czasu na zrozumienie kodu. Każda nowa modyfikacja, którą wykonasz, będzie z bardzo dużym prawdopodobieństwem prowadzić do nowej luki, której nie będzie można łatwo zidentyfikować, ponieważ może ona mieć powiązania z istniejącymi funkcjonalnościami kodu. 

Innymi słowy, zmiany są dokonywane bez zrozumienia oryginalnego kodu, co czyni go bardziej podatnym na błędy.

Problemy z licencjonowaniem

Kopiowanie i wklejanie kodów z projektów open source jest łatwe, ale niezrozumienie konsekwencji licencyjnych skopiowanego kodu może stanowić problem, zwłaszcza w przypadku urządzeń wbudowanych, w których wbudowane oprogramowanie jest uważane za nowe i unikalne.

Rzeczywiste przykłady zagrożenia kopiuj-wklej

DeFi nie pozostaje obojętne na okropne praktyki kopiowania i wklejania. Istnieją projekty DeFi, które kopiują i wklejają inteligentne kody kontraktów Uniswap, Compound i innych udanych protokołów. Co bardziej okropne w przypadku takich praktyk, często kopiują je z błędami, co sprawia, że ​​praca atakujących staje się bułką z masłem!

Jednym z niedawnych przykładów takiego ataku był „Uranium Finance” oparty na BSC. Był to fork Uniswap V2, który został wykorzystany 28 kwietnia 2021 r. $ 57 mln. Programista Fulcrum – Kyle Kistner zwrócił uwagę, że programiści Uranium skopiowali kod SushiSwap (już klon Uniswap), wszędzie zastąpili liczbę 1,000 liczbą 10,000 XNUMX – z wyjątkiem jednego przypadku:

Dlaczego kopiuj-wklej w DeFis są bardziej przerażające niż klauni? Analiza danych PlatoBlockchain. Wyszukiwanie pionowe. AI.

źródło: Tweetnij

Innym przykładem zagrożenia polegającego na kopiowaniu i wklejaniu jest „BurgerSwap” – włamanie miało miejsce 28 maja 2021 r., a szacunkowa strata wyniosła – 7.2 mln dolarów.    

„Według założyciela Uniswap, Haydena Adamsa, można było tego łatwo uniknąć”.

Rozwidlił także kod Uniswapa, ale pominął fragment: sprawdzenie x*y = k, odegrało ważną rolę w obliczeniu wartości każdego tokena. Bez tego atakujący zamieniał każdą niewielką kwotę, tworząc fikcyjny token tysiące BNB i BURGERÓW.    

Wnioski

Kopiowanie i wklejanie nie jest złe. W pewnych sytuacjach mogą być bardzo przydatne w projekcie, aby szybko wdrożyć pewien element, który został już poprawnie zbudowany. W innych przypadkach może to również pomóc w utrzymaniu status quo i wdrożeniu czegoś, co jest akceptowalne jako rozwiązanie. 

Jednak DeFi nie jest dla tego odpowiednią przestrzenią. Nawet jeśli trzeba zmodyfikować tylko kilka linii kodu, kopiowanie i wklejanie nie jest zalecane. Jako specjaliści od inteligentnych audytów kontraktów widzieliśmy, że kilka firm mających dobre intencje i wizje poniosło porażkę takie praktyki. Główną przyczyną są nie tylko luki w zabezpieczeniach, ale także niemożność zdobycia zaufania użytkowników. A cała przestrzeń DeFi rodzi się z potrzeby zaufania.

Nawet jeśli z pewnych powodów i uzasadnień zdecydujesz się na metodę kopiuj-wklej, dokładne sprawdzenie kodu powinno znajdować się na szczycie listy priorytetów. Nawet jeśli kod został poddany audytowi, nie oznacza to, że kopia będzie tak samo zabezpieczona jak kod oryginalny. Na przykład oracle używana w oryginalnym kodzie mogła zostać przeniesiona do nowej wersji, a po skopiowaniu kodu nowa wersja Oracle może nie być kompatybilna ze starą wersją kodu i wprowadzono lukę. Aby mieć pewność, że Twój ambitny pomysł i wizja staną się rzeczywistością dzięki Twojemu kodowi DeFi, poddać się audytowi zanim postawisz na szali miliony dolarów.

Skontaktuj się z QuillHash

Z obecnością w branży od lat, QuillHash dostarcza rozwiązania dla przedsiębiorstw na całym świecie. QuillHash wraz z zespołem ekspertów jest wiodącą firmą zajmującą się rozwojem technologii blockchain, dostarczającą różne rozwiązania branżowe, w tym DeFi Enterprise.Jeśli potrzebujesz pomocy w audycie inteligentnych kontraktów, skontaktuj się z naszymi ekspertami tutaj!

Śledź QuillHash, aby uzyskać więcej aktualizacji

Twitter | LinkedIn Facebook

Źródło: https://blog.quillhash.com/2021/08/04/why-copy-paste-in-defis-are-scarier-than-clowns/

Znak czasu:

Więcej z Quillhash