Bezpieczeństwo Portfela Web3: Ryzyko związane z zatwierdzaniem transakcji na smart kontraktach

2024-12-07

Najważniejsze wnioski

  • Jakkolwiek zatwierdzanie transakcji może uprościć interakcje w Web3, przy braku odpowiedniego zarządzania może także prowadzić do ataków phishingowych i nadużyć związanych z zatwierdzaniem.

  • Oszuści często wykorzystują nieograniczoną liczbę zatwierdzeń i niezweryfikowane kontrakty, aby drenować środki. Z tego względu użytkownicy muszą ograniczać zatwierdzenia i odwoływać dostęp, gdy nie jest to konieczne.

  • Zawsze korzystaj z zaufanych platform, bądź na bieżąco z informacjami dotyczącymi nowych metod phishingu i korzystaj z takich narzędzi, jak wbudowane zabezpieczenia Portfela Web3 na Binance, aby chronić swoje aktywa.

W świecie Web3 większość współczesnych ekscytujących innowacji stanowią smart kontrakty i zdecentralizowane aplikacje (DApp). Z wielką technologią wiąże się jednak wielka odpowiedzialność. Jednym z kluczowych, ale często pomijanych elementów interakcji Web3 jest zatwierdzanie – zgoda, której użytkownik udziela osobom trzecim na zarządzanie jego środkami. Jakkolwiek może to usprawnić transakcje, wiąże się również z ryzykiem, jeśli nie zachowa się ostrożności. W tym poradniku omówimy ukryte zagrożenia związane z zatwierdzaniem i pokażemy Ci, jak chronić Twoje aktywa w Web3.

Zrozumienie mechanizmu zatwierdzania

Udzielenie zatwierdzenia w świecie Web3 jest jak wydanie wejściówki w parku rozrywki – z takim karnetem nie trzeba kupować biletu oddzielnie na każdą atrakcję. Kiedy zatwierdzasz osobę trzecią, niezależnie od tego, czy dotyczy to smart kontraktu czy konta zewnętrznego (EOA), pozwalasz jej przenosić tokeny z Twojego portfela bez konieczności kontaktowania się z Tobą za każdym razem. Po udzieleniu uprawnienie to pozostaje aktywne do momentu wydania zatwierdzonej kwoty lub jej ręcznego odwołania.

Niezależnie od tego, czy chodzi o przesyłanie, zamianę, stakowanie tokenów czy wystawianie NFT na sprzedaż, takie zatwierdzenie oznacza brak konieczności ciągłego potwierdzania. Działa tak samo jak pominięcie kasy biletowej na poszczególnych atrakcjach w parki rozrywki, gdy posiadasz karnet. Oszczędzasz nie tylko czas. Zatwierdzanie może również obniżyć opłaty gas dzięki ograniczeniu liczby zatwierdzeń transakcji. Użytkownik może na przykład zatwierdzić określoną kwotę tokena do smart kontraktu, takiego jak USDT, co pozwala mu na obsługiwanie transakcji w jego imieniu bez konieczności wielokrotnego potwierdzania każdej z nich.

Typowy proces zatwierdzania

Poniżej przedstawiamy uproszczony schemat typowego procesu zatwierdzania.

Uwaga: Proces ten może wyglądać różnie w zależności od wykonywanej funkcji.

  • Połączenie: Użytkownik podłącza swój portfel do aplikacji DApp i inicjuje konkretną interakcję. Może nią być przesyłanie, swapowanie, pożyczanie, staking lub wystawianie NFT.

  • Inicjowanie transakcji: Pojawi się żądanie transakcji zawierające szczegóły zatwierdzenia. Zazwyczaj są to następujące informacje:

    • użyty token i zatwierdzana kwota;

    • adres otrzymujący zatwierdzenie (zazwyczaj adres umowy DApp);

    • opis wykonywanej czynności.

  • Potwierdzenie transakcji: Gdy użytkownik potwierdzi żądanie zatwierdzenia, zostaje ono zapisane w blockchainie. Aplikacja DApp ma pozwolenie na wydanie lub przesłanie określonej ilości tokenów w imieniu użytkownika.

  • Wydatkowanie środków: Kiedy smart kontrakt próbuje wydać token, sprawdza czy zostało udzielone pozwolenie. Jeśli tak, transakcja dojdzie do skutku, a środki zostaną wydane.

Ryzyko: Nadużycie zatwierdzenia

Choć zatwierdzenia usprawniają interakcję z aplikacjami DApp, to mogą one również stać się źródłem zagrożenia bezpieczeństwa, szczególnie poprzez ataki phishingowe. Oszuści mogą wykorzystywać te mechanizmy, nakłaniając użytkowników do zatwierdzania transakcji dla smart kontraktów lub kont zewnętrznych (EOA) pod ich kontrolą, co może prowadzić do wydrenowania środków użytkownika.

Należy pamiętać, że po udzieleniu takich zatwierdzeń większość portfeli Web3 nie będzie wymagała żadnych dodatkowych danych biometrycznych ani uwierzytelniania 2FA dla smart kontraktów lub EOA do zainicjowania przesyłania Twoich tokenów. 

Istnieją dwie główne metody przyznawania uprawnień dotyczących tokenów:

  1. Funkcje zatwierdzania: Pozwalają właścicielowi portfela zatwierdzić określoną liczbę tokenów do wykorzystania. Zatwierdzenie obowiązuje do momentu osiągnięcia ustalonej kwoty.

W przypadku NFT powszechnie używana jest funkcja setApprovalForAll() umożliwiająca platformie przesłanie NFT po sprzedaży.

Większość rynków NFT korzysta z zatwierdzania bez ograniczeń dla uproszczenia transakcji, ponieważ ograniczone zatwierdzenie może być przyznane tylko dla jednego adresu w danym czasie.

  1. Funkcje przydziału: Regulują limit tokenów, zatwierdzając wydatki do określonej kwoty przez smart kontrakt.

Na czym polegają ataki phishingowe typu approval?

Atak phishingowe typu approval ma miejsce wtedy, gdy oszuści nakłaniają użytkownika do udzielenia im pozwolenia na dostęp do jego kryptowaluty i jej wydanie. W Web3 zatwierdzanie jest jak przekazanie komuś klucza do swojego portfela – pozwolenie na przenoszenie tokenów lub NFT w Twoim imieniu bez pytania. Oszuści wykorzystują tę furtkę, tworząc fałszywe aplikacje DApp lub strony internetowe, które sprawiają wrażenie całkowicie legalnych, aby nakłonić użytkownika do zatwierdzenia kontraktów, które dają oszustom kontrolę nad jego środkami.

Zazwyczaj oszuści stosują poniższe dwie popularne metody, aby uzyskać środki:

  1. Funkcja transferFrom(): Przelewa środki z portfela na inne konto po dokonaniu zatwierdzenia.

  2. Funkcja Multicall(): Wykonuje wiele wywołań transferFrom w ramach jednej transakcji, przenosząc środki na różne adresy kontrolowane przez oszustów.

Jeśli zatwierdzenie nie zostanie cofnięte, pozostaje aktywne przez czas nieokreślony, umożliwiając oszustom wykradanie większej ilości środków jeszcze długo po pierwszej interakcji ze złośliwym oprogramowaniem DApp. Zdarzały się przypadki, w których środki były kradzione ponownie po kilku tygodniach od pierwszej kradzieży, ponieważ zatwierdzenie było nadal aktywne.

Sprawdźmy, jak działa typowy atak phishingowy typu approval.

1. Zasadzka: Atakujący często tworzą fałszywe strony internetowe lub aplikacje, które naśladują prawdziwe platformy. Może to być wszystko: Od górnictwa, handlu, usług stakingowych po rynki NFT i inne aplikacje oparte na blockchainie.

2. Przynęta: Ofiary są wabione poprzez phishingowe wiadomości e-mail, fałszywe reklamy lub linki w grupach mediów społecznościowych. Oszuści wywierają presję czasową, przekonując użytkowników, że trzeba działać szybko, aby zmaksymalizować zyski.

3. Haczyk: Fałszywa platforma prosi użytkownika o zatwierdzenie transakcji, udzielając oszustowi pozwolenia na wydanie tokenów. Jeśli kwota zatwierdzenia jest duża lub nieograniczona, oszust może kontynuować wypłacanie środków, dopóki dana wartość nie zostanie osiągnięta lub dopóki ofiara nie cofnie pozwolenia.

4. Łowy: Po udzieleniu zgody oszust wykonuje takie funkcje, jak transferFrom() lub Multicall(), przesyłając tokeny na kontrolowane przez siebie konta.

Do popularnych strategii należy wykorzystywanie fałszywych airdropów, stron górniczych lub stakingowych, fałszywych platform handlowych i nieuczciwych usług mintowania NFT, aby skłonić ofiary do udzielenia zgody. Ostrożność w połączeniu z nawykiem odwoływania zbędnych zatwierdzeń może pomóc chronić się przed takimi atakami.

Przykłady z życia wzięte

Udzielanie zatwierdzenia dla portfela oszusta

Ofiara została nakłoniona do dołączenia do fałszywej grupy Binance na WhatsApp, gdzie samozwańczy doradcy inwestycyjni kierowali ją do phishingowego oprogramowania DApp imitującego platformę inwestycyjną Web3. Po podłączeniu portfela krypto do DApp użytkownik nieświadomie udzielił oszustowi pozwolenia na wydanie swoich środków, zatwierdzając nieograniczoną ilość USDT.

Po udzieleniu zgody oszust wykorzystał polecenie transferFrom, aby przenieść wszystkie środki z portfela ofiary do własnego.

Udzielanie zatwierdzenia dla złośliwego kontraktu

W przypadku ilustrującym inny typowy scenariusz ofiara została zwiedziona obietnicą ogromnych dziennych zysków, jeśli zainwestuje za pośrednictwem rekomendowanej przez oszustów aplikacji DApp. Użytkownik zatwierdził fałszywy kontrakt, umożliwiający dostęp do nieograniczonej ilości jego tokenów slisBNB.

Następnie oszust wykorzystał funkcję Multicall, która umożliwia wykonanie kilku przelewów za jednym razem, aby przenieść tokeny ofiary na kilka różnych kont kontrolowanych przez oszusta.

Ponieważ ofiara nie była świadoma naruszenia, zatwierdzenie nie zostało cofnięte. Oszust powrócił 21 dni później i użył tej samej metody, aby ukraść dodatkowe tokeny z portfela ofiary.

W jaki sposób Portfel Binance Web3 zapewnia bezpieczeństwo

Użytkownicy eksplorujący świat zdecentralizowanych aplikacji z Portfelem Web3 Binance korzystają z dodatkowych zabezpieczeń przed powszechnymi zagrożeniami Web3, w tym nadużywaniem zatwierdzeń. 

Kiedy masz zamiar zatwierdzić środki dla celów niezweryfikowanych lub potencjalnie ryzykownych kontraktów, Portfel Web3 Binance wyświetli ostrzeżenie, oznaczając transakcję jako niebezpieczną. Ten monit daje Ci szansę na zastanowienie się i uniknięcie potencjalnego oszustwa. Zawsze należy dokładnie sprawdzić szczegóły i przeprowadzić własne badania przed przystąpieniem do zatwierdzenia.

Portfel Web3 Binance oferuje również większą kontrolę nad zatwierdzaniem, ponieważ umożliwia:

  •  Przeglądanie i odwoływanie wszelkich zatwierdzeń, których nie rozpoznajesz lub już nie potrzebujesz.

  • Odłączenie się od podejrzanych lub nierozpoznawanych aplikacji DApp.

Chroń się przed phishingiem

Aby zadbać o swoje bezpieczeństwo w przestrzeni Web3 i uniknąć ataków phishingowych, należy podjąć kilka podstawowych środków ostrożności:

  1. Ogranicz zatwierdzanie: Zamiast udzielać komuś nieograniczonego pozwolenia na wydawanie Twoich środków, ustaw limit kwoty, która może zostać zatwierdzona na raz. Choć opłaty gas mogą kosztować nieco więcej, ta opcja jest lepsza niż potencjalna utrata wszystkich aktywów. I pamiętaj: Nigdy nie zatwierdzaj środków na adresy portfela osobistego (EOA), chyba że masz niezachwianą pewność, że możesz ufać jego właścicielowi.

  2. Trzymaj się zaufanych platform: Jeśli platforma wydaje się podejrzana lub nieznana, najlepiej jej unikać. Zawsze dokładnie sprawdzaj adres URL witryny, aby mieć pewność, że korzystasz z legalnej usługi.

  3. Wystrzegaj się okazji do szybkiego wzbogacenia: Oferty, które brzmią zbyt dobrze, aby mogły być prawdziwe, zwykle właśnie takie są. Unikaj niechcianych wiadomości lub stron internetowych, które obiecują ogromne nagrody lub szybkie zyski, zwłaszcza jeśli wymagają podjęcia pilnych działań związanych z Twoim portfelem kryptowalutowym.

  4. Korzystaj z bezpiecznych portfeli: Wybieraj renomowane portfele z wbudowanymi funkcjami bezpieczeństwa, takie jak Portfel Web3 Binance, które ostrzegają przed ryzykownymi tokenami, witrynami i transakcjami, łącznie z ostrzeżeniami o złośliwych kontraktach lub nieprawidłowych adresach.

  5. Bądź na bieżąco: Śledź informacje dotyczące najnowszych strategii oszustw i środków bezpieczeństwa w świecie Web3. Im więcej wiesz, tym trudniej oszustom jest Cię zaskoczyć.

Przemyślenia końcowe

Stosowanie właściwych nawyków i zachowanie czujności sprawi, że Twoja podróż po Web3 będzie bezpieczniejsza i bardziej satysfakcjonująca. Proaktywne kroki, które podejmujesz dzisiaj – takie jak unikanie nieograniczonych zatwierdzeń i wystrzeganie się podejrzanych ofert – mogą pomóc w zapobieganiu kosztownym błędom w przyszłości. Choć wbudowane zabezpieczenia Portfela Web3 Binance zapewniają cenne wsparcie, to głównym zabezpieczeniem jest Twoja wiedza. Działaj zatem mądrze, dbaj o swoje bezpieczeństwo i kontynuuj bezpieczne korzystanie z dobrodziejstw zdecentralizowanego świata.

Dalsza lektura

Wybrało nas 299 975 730 użytkowników. Dowiedz się dlaczego już dziś.