Autor: WSTĘPNY

Opracowano przez: Shenchao TechFlow

Zastrzeżenie

Żadne elementy tego przewodnika nie są gwarantowane i nie zostały napisane z perspektywy „eksperta w dziedzinie szyfrowania lub cyberbezpieczeństwa”, ale opierają się na ciągłej nauce z wielu źródeł i osobistym doświadczeniu.

Na przykład ja sam zostałem oszukany z powodu strachu przed przegapieniem (FOMO) i chciwości, kiedy po raz pierwszy wszedłem na pole (fałszywe oszustwo związane z transmisją na żywo i fałszywe oszustwo z botem MEV), więc poświęciłem czas, aby dokładnie się nauczyć, skonfigurować i zrozumieć bezpieczeństwo.

Nie bądź osobą, która jest zmuszona uczyć się bezpieczeństwa, ponieważ straciła wszystko lub dużą część swojego majątku.

Hakowanie czy błąd użytkownika?

„Hacki” lub kompromisy dotyczące wszystkich typów portfeli, tokenów lub NFT można ogólnie podzielić na dwie kategorie:

  • Nadużycie wcześniej przyznanej zgody na token.

  • Wyciek klucza prywatnego lub frazy mnemonicznej (zwykle dzieje się to w przypadku gorących portfeli).

Zatwierdzenie tokena

Zatwierdzenie tokena to zasadniczo uprawnienia, które umożliwiają inteligentnej umowie dostęp do określonego typu lub ilości tokenów w portfelu i przenoszenie ich.

Na przykład:

  • Zezwól OpenSea na przeniesienie Twojego NFT, abyś mógł go sprzedać.

  • Zezwól Uniswapowi na wymianę za pomocą Twoich tokenów.

Jako podstawowe informacje, zasadniczo wszystko w sieci Ethereum, z wyjątkiem ETH, jest tokenem ERC-20.

Jedną z cech tokenów ERC-20 jest możliwość udzielania uprawnień do zatwierdzania innym inteligentnym kontraktom.

Jeśli chcesz wykonywać podstawowe interakcje DeFi (takie jak wymiana lub łączenie tokenów), te zgody są w pewnym momencie wymagane.

NFT to odpowiednio tokeny ERC-721 i ERC-1155; ich mechanizm zatwierdzania jest podobny do ERC-20, ale dla rynku NFT.

Monit o wstępne zatwierdzenie tokena MetaMask (MM) zawiera kilka informacji, z których najważniejsze to:

  • Przyznajesz zatwierdzone tokeny

  • Strona internetowa, z którą wchodzisz w interakcję

  • Inteligentna umowa, z którą wchodzisz w interakcję

  • Możliwość edycji liczby uprawnień tokena

W menu rozwijanym Pełne szczegóły widoczna jest dodatkowa informacja: Funkcje homologacji.

Wszystkie tokeny ERC-20 muszą mieć określone cechy i właściwości określone w standardzie ERC-20.

Jedną z nich jest zdolność inteligentnych kontraktów do przenoszenia tokenów w oparciu o zatwierdzoną kwotę.

Niebezpieczeństwo związane z tymi zatwierdzeniami polega na tym, że jeśli przyznasz uprawnienia tokena złośliwemu inteligentnemu kontraktowi, Twoje zasoby mogą zostać skradzione lub wyczerpane.

Nieograniczone a zatwierdzenia limitów niestandardowych (tokeny ERC-20)

Wiele aplikacji DeFi domyślnie wyświetli monit o nieograniczone zatwierdzenie tokenów ERC-20.

Ma to na celu poprawę komfortu użytkowania, ponieważ jest wygodniejsze i nie wymaga w przyszłości dodatkowych zezwoleń, co pozwala zaoszczędzić czas i opłaty za gaz.

Dlaczego to jest ważne?

Zezwolenie na zatwierdzenie nieograniczonej liczby tokenów może narazić Twój kapitał na ryzyko.

Ręczne ustawienie zatwierdzenia tokenu na określoną kwotę ogranicza maksymalną liczbę tokenów, które dApp może przenieść bez podpisywania nowego, większego zatwierdzenia.

Zmniejsza to ryzyko w przypadku wykorzystania inteligentnej umowy. Jeśli udzielisz nieograniczonej zgody aplikacji dApp, która stanie się podatna na ataki, możesz utracić wszystkie zatwierdzone tokeny z portfela, w którym znajdują się te zasoby i który udzielił tej zgody.

Na przykład Multichain WETH (WETH to opakowanie tokena ERC-20 dla ETH) cierpi na taką lukę.

Ten powszechnie używany most został naruszony z powodu nadużywania wcześniej nieograniczonych praw tokena, co skutkowało kradzieżą środków użytkownika.

Poniżej znajduje się przykład (z wykorzystaniem portfela Zerion) pokazujący jak zmienić domyślne nieograniczone zatwierdzanie na zatwierdzanie ręczne.

Zatwierdzenie NFT

„setApprovalForAll” dla NFT

Jest to powszechnie stosowana, ale potencjalnie niebezpieczna zgoda, która zwykle jest przyznawana zaufanemu rynkowi NFT, gdy chcesz sprzedać NFT.

Dzięki temu inteligentne kontrakty dostępne na rynku mogą przesyłać Twoje NFT. Kiedy więc sprzedajesz NFT kupującemu, inteligentne kontrakty na rynku mogą automatycznie przenieść NFT do kupującego.

Zatwierdzenie to zapewnia dostęp do wszystkich tokenów NFT pod określonym adresem odbioru lub umowy.

Może to zostać również wykorzystane przez złośliwe strony internetowe lub umowy do kradzieży NFT.

Przykłady złośliwych aktorów nadużywających „setApprovalForAll”

Klasyczne „zmniejszenie konta portfela” w przypadku bicia bez FOMO wygląda następująco:

  • Użytkownik odwiedza złośliwą witrynę internetową, która według niego jest legalna.

  • Kiedy połączą swój portfel ze stroną internetową, witryna będzie mogła przeglądać jedynie zawartość portfela.

  • Jednak złośliwa witryna internetowa skanuje portfel w poszukiwaniu NFT o najwyższej wartości i monituje użytkownika o „Ustawienie wszystkich zatwierdzeń” w MetaMask (MM) dla adresu umowy tego NFT.

  • Użytkownicy myślący, że tworzą NFT, w rzeczywistości udzielają złośliwej umowie pozwolenia na przeniesienie tych tokenów.

  • Następnie oszuści kradną tokeny i zamieniają je na oferty w OpenSea lub Blur, zanim przedmiot zostanie oznaczony jako skradziony.

Podpis i zatwierdzenie

Zatwierdzenia wymagają opłat za gaz, ponieważ obejmują przetwarzanie transakcji.

Podpisywanie nie wymaga gazu i zwykle służy do logowania się do aplikacji dApp w celu potwierdzenia kontroli nad portfelem.

Podpisywanie jest na ogół operacją niskiego ryzyka, ale nadal może być wykorzystywane do wykorzystania wcześniej udzielonych zezwoleń dla zaufanych witryn, takich jak OpenSea.

W przypadku tokenów ERC-20 możesz również modyfikować swoje zgody za pomocą podpisów bezgazowych, ponieważ funkcja uprawnień została niedawno wprowadzona w Ethereum.

Możesz to zobaczyć, jeśli używasz zdecentralizowanej giełdy (DEX), takiej jak 1inch.

Punkty zatwierdzenia tokenu

Zachowaj ostrożność przy udzielaniu jakichkolwiek zatwierdzeń i upewnij się, że wiesz, które tokeny zatwierdzasz i do których inteligentnych kontraktów (użyj etherscan).

Ogranicz ryzyko zatwierdzenia:

  • Używaj wielu portfeli (zatwierdzenia są specyficzne dla portfela) – nie podpisuj zatwierdzeń dla swoich skarbców ani portfeli o dużej wartości.

  • W idealnym przypadku ogranicz lub całkowicie unikaj udzielania nieograniczonych zezwoleń na tokeny ERC-20.

  • Zatwierdzenia są okresowo sprawdzane i cofane za pomocą narzędzia etherscan lub revoke.cash.

Sprzęt/zimny portfel

Gorące portfele łączą się z Internetem za pośrednictwem komputera lub telefonu, a klucze i dane uwierzytelniające portfela są przechowywane online lub lokalnie w przeglądarce.

Zimne portfele to urządzenia sprzętowe, na których klucze są generowane i przechowywane całkowicie offline i fizycznie blisko Ciebie.

Biorąc pod uwagę, że księga kosztuje około 120 dolarów, jeśli masz ponad 1000 dolarów w kryptografii, prawdopodobnie powinieneś kupić i założyć księgę. Możesz podłączyć swój portfel Ledger do MetaMask (MM), aby cieszyć się tą samą funkcjonalnością, co inne gorące portfele, zachowując jednocześnie poziom bezpieczeństwa.

Najpopularniejszymi opcjami są Ledger i Trezor. Lubię Ledgera, ponieważ ma najlepszą kompatybilność z portfelami przeglądarkowymi (podobnie jak Rabby i MM).

Najlepsze praktyki przy zakupie księgi głównej

Zawsze kupuj na oficjalnej stronie producenta, nigdy w serwisie eBay czy Amazon – produkt może zostać zmodyfikowany lub może mieć preinstalowane złośliwe oprogramowanie.

Upewnij się, że opakowanie jest zapieczętowane po otrzymaniu przedmiotu.

Kiedy po raz pierwszy konfigurujesz księgę, generuje ona frazę mnemoniczną.

Zapisuj swoje frazy mnemoniczne wyłącznie na papierze fizycznym lub w przyszłości na stalowej płycie, aby mieć pewność, że Twoje frazy mnemoniczne będą ognioodporne i wodoodporne.

Nigdy nie fotografuj ani nie wpisuj frazy mnemonicznej na żadnej klawiaturze (w tym w telefonie komórkowym) – spowoduje to digitalizację frazy mnemonicznej, a Twój zimny portfel stanie się niezabezpieczonym gorącym portfelem.

Kryptoaktywa nie są przechowywane w portfelu sprzętowym, ale „w” portfelu wygenerowanym na podstawie frazy mnemonicznej.

Wyrażenie mnemoniczne (12–24 słów) to wszystko, co można w nim znaleźć i należy je chronić i chronić za wszelką cenę.

Zapewnia pełną kontrolę i dostęp do wszystkich portfeli generowanych pod tą frazą mnemoniczną.

Fraza mnemoniczna nie jest specyficzna dla urządzenia i w razie potrzeby można ją „zaimportować” do innego portfela sprzętowego jako kopię zapasową.

Jeśli fraza mnemoniczna zostanie zgubiona lub uszkodzona, a oryginalny portfel sprzętowy również zostanie zgubiony, uszkodzony lub zablokowany, trwale utracisz dostęp do wszystkich zasobów.

Istnieją różne sposoby przechowywania mnemoników, np. podzielenie ich na części, zwiększenie fizycznej odległości między częściami, przechowywanie w niepozornym miejscu (np. puszka po zupie na dnie lodówki, gdzieś pod ziemią na posesji itp.). .

Przynajmniej powinieneś mieć 2-3 egzemplarze, z czego jeden powinien być wykonany ze stali, aby chronić przed wodą i ogniem.

„Klucz prywatny” jest podobny do frazy mnemonicznej, ale dotyczy tylko konkretnego portfela. Zwykle służy do importowania gorących portfeli do nowych kont MetaMask (MM) lub do stosowania w zautomatyzowanych narzędziach, takich jak boty handlowe.

Słowo 25 - Księga rachunkowa

Oprócz oryginalnej frazy mnemonicznej składającej się z 24 słów, Ledger oferuje opcjonalną dodatkową funkcję bezpieczeństwa.

Hasło to zaawansowana funkcja, która dodaje do frazy odzyskiwania 25. wybrane słowo o długości do 100 znaków.

Użycie hasła generuje zupełnie inny zestaw adresów, do których nie można uzyskać dostępu za pomocą frazy odzyskiwania składającej się z 24 słów.

Oprócz dodania warstwy bezpieczeństwa hasła zapewniają rozsądną możliwość zaprzeczenia w przypadku naruszenia bezpieczeństwa.

Jeśli używasz hasła, pamiętaj o jego bezpiecznym przechowywaniu lub zapamiętaniu go dokładnie, znak po znaku, z uwzględnieniem wielkości liter.

Jest to jedyna i ostateczna obrona przed sytuacją zagrażającą fizycznie, taką jak atak kluczem za 5 dolarów.

Po co męczyć się z konfiguracją portfela sprzętowego?

Gorące portfele przechowują klucze prywatne w lokalizacji połączonej z Internetem.

Niezwykle łatwo dać się oszukać, wprowadzić w błąd i zmanipulować w celu ujawnienia tych danych uwierzytelniających w Internecie.

Posiadanie zimnego portfela oznacza, że ​​oszuści muszą fizycznie znaleźć i uzyskać Twoją księgę rachunkową lub frazę mnemoniczną, aby uzyskać dostęp do tych portfeli i znajdujących się w nich zasobów.

Gdy fraza mnemoniczna zostanie naruszona, zagrożone będą wszystkie gorące portfele i znajdujące się w nich zasoby, nawet te, które nie weszły w interakcję ze złośliwymi witrynami internetowymi lub umowami.

Typowe sposoby „hakowania” ludzi w przeszłości

Typowe sposoby „hakowania” ludzi (wyciek mnemonicznych fraz) za pośrednictwem gorących portfeli w przeszłości obejmują:

  • Oszukany w celu pobrania złośliwego oprogramowania, na przykład poprzez pliki PDF z ofertami pracy, gry w wersji beta, uruchamianie makr w Arkuszach Google lub podszywanie się pod legalne witryny i usługi.

  • Interakcja ze złośliwymi kontraktami: FOMO Minting na imitujących stronach internetowych lub interakcja z nieznanymi zrzutami lub kontraktami NFT.

  • Wstaw lub wyślij klucz i frazę mnemoniczną do działu obsługi klienta lub powiązanego programu/formularza.