Przejdź do głównej zawartości

Dane szesnastkowe + transakcja na kwotę 0: niewidzialna pułapka utraty aktywów na łańcuchu

Klikasz „Potwierdź" przy transakcji 0 ETH i nagle aktywa znikają. Nie ma oczywistego ostrzeżenia ani zwykłego zapisu transferowego. Problem może leżeć w tym podpisie.

U
Napisane przez UKey Wallet

1. Cichy koszmar

W ciągu ostatniego roku zaobserwowaliśmy, że wielu użytkowników natychmiastowo traciło swoje zasoby portfela, bez wyraźnego ostrzeżenia.

Jeszcze bardziej zaskakujące jest to, że atakujący nie musi najpierw inicjować normalnego transferu.

To, czego potrzebują, może po prostu być podpisem transakcji z „danymi szesnastkowymi".

Może to wyglądać na prostą operację: odbierz NFT, dołącz do zrzutu, połącz się z DApp lub stroną zaloguj się.

Wydaje się nieszkodliwy: 0 ETH, wysłane na adres inteligentnej umowy.

Ale prawdziwe zagrożenie kryje się w „danych szesnastkowych".

Osoba atakująca zakodowałaby tutaj wywołania złośliwych funkcji, na przykład:

· approve()

· increaseAllowance()

· transferFrom()

· setApprovalForAll()

· sweepToken()(Dostosowana funkcja złośliwego kontraktu)

Po błędnym przypisaniu tych funkcji kontrola nad zasobami może zostać przekazana atakującym.

Po złożeniu podpisu druga strona może przenieść Twoje ERC-20 żeton lub NFT bez ponownego potwierdzania.


2. Dane szesnastkowe nie powinny być martwym punktem

Wiele transakcji na łańcuchu może mieć charakter jednorazowy, nawet jeśli nie powodują przeniesienia aktywów Inteligentne połączenie kontraktowe.

Tak zwane „dane szesnastkowe" to zwykle „metoda + parametry" zakodowane przez ABI.

Przykład:

0xa9059cbb00000000000000000000000008e8...000000000000000000000000000000000000000000000000000000005f5e100

· Pierwsze 4 bajty 0xa9059cbb: w tym przypadku selektor funkcji transfer(address,uint256)

· Reszta: zakodowane parametry, takie jak adres żeton, adres odbioru, wartość liczbowa itp.

Dla atakującego może stać się punktem wejścia do wykonania złośliwej logiki.

Dla użytkownika, który nie rozumie szczegółów technicznych, wygląda to po prostu jak bezsensowny ciąg znaków.

I tu kryje się pułapka: ślepy podpis.

W oczach użytkowników może to być po prostu transakcja na kwotę 0; w umowie zaprojektowanej przez atakującego może to być grupa zatwierdzenie wysokiego ryzyka.


3. Podpisy ślepe, podpisy szesnastkowe i piekło podpisów

Takie ryzykowne transakcje mają zwykle pewne wspólne cechy:

· 💸 0 ETH lub małe transakcje: Opuść gardę.

· 🧬 Dane szesnastkowe ukrywające połączenia wysokiego ryzyka: Ukryte jako prosta operacja.

· 🧠 Odbiorcą jest inteligentny kontrakt: To nie jest zwykły adres osobisty, może to być złośliwa umowa.

· ⚠️ Podpis = Wykonaj: Pojedyncze potwierdzenie może wywołać zatwierdzenie lub transfer aktywów.

Jeszcze bardziej kłopotliwe jest: Tego typu ataki mogą być w dużym stopniu zautomatyzowane.

Osoby atakujące będą używać skryptów do wdrażania na dużą skalę złośliwych kontraktów, uruchamiania witryny phishing, generowania łączy wysokiego ryzyka i promowania za pomocą następujących metod:

· Reklama w wyszukiwarkach

· Grupa Discord

· Odpowiedź na Twitterze/X

· Fałszywe prezenty i zrzuty NFT

Gdy użytkownik kliknie, aby potwierdzić, pojedynczy podpis może sprawić, że zasoby znajdą się pod kontrolą drugiej strony.


4. Jak UKey zapewnia ochronę

Bezpieczeństwo nie powinno być wyłączną odpowiedzialnością użytkownika. UKey jest budowany Wiele warstw obrony, aby pomóc zidentyfikować te ukryte zagrożenia.

Obecnie będziemy w dalszym ciągu wzmacniać ochronę w następujących aspektach:


(1) Ostrzeżenie dotyczące danych szesnastkowych: pierwsze przypomnienie

Gdy użytkownik wybierze opcję „Pokaż dane szesnastkowe" w transakcji Włączony, UKey natychmiast wyświetli wyraźne przypomnienie:

⚠️ Ta transakcja zawiera dane szesnastkowe i może obejmować interakcję z inteligentnym kontraktem lub żetonzatwierdzenie. Proszę dokładnie potwierdzić.

To nie jest refleksja, ale przed podpisaniem. Aktywna ochrona.

Prosimy użytkowników, aby zatrzymali się i potwierdzili przed podpisaniem: dane szesnastkowe są potężnym narzędziem samym w sobie, ale mogą również stanowić punkt wejścia do ryzyka w przypadku złośliwych scenariuszy.


(2) Analiza danych szesnastkowych + przypomnienie o funkcji wysokiego ryzyka

Dla łańcuchów EVM, UKey zapewnia Dekodowanie ABI w czasie rzeczywistym + analiza ryzyka funkcji:

· Wyraźnie pokaż wywoływaną metodę

· przed podpisaniem Oznacz zachowania wysokiego ryzyka, w tym:

o 🧾 Identyfikacja adresu docelowego: Czy to znana umowa o ochronę czy podejrzany adres?

o 🕵️ interakcja historyczna:Czy kontaktowałeś się już wcześniej z tym adresem?

o 💰 żeton i kwota: Czego właściwie chcesz zatwierdzenie lub wysłać?

W ten sposób użytkownicy mogą zobaczyć prawdziwy kontekst przed podpisaniem, zamiast po prostu patrzeć na ciąg nieczytelnych danych szesnastkowych.


(3) Potwierdzenie portfel sprzętowy

Użyj UKey Pro Nie musisz po prostu patrzeć na surowy sznurek szesnastkowy.

Możesz zobaczyć na ekranie swojego urządzenia Prawdziwe, czytelne informacje:

· 🔍 nazwa funkcji — Wiedz, co tak naprawdę podpisujesz.

· 💵 Typ i ilość żeton: Czy odliczasz całe saldo od zatwierdzenie?

· 📍 adres docelowy: Czy to znajomy adres, czy sygnał ryzyka?

Każda informacja może Ci w tym pomóc jaśniejszy wyrok, Ogranicz błędne oznakowanie i błędną ocenę.


5. Ostatnie słowa

Transakcji na łańcuchu zasadniczo nie można „cofnąć". Każdy podpis wymaga dokładnego potwierdzenia.

Rozumiemy również, że użytkownikom łatwo jest myśleć w ten sposób:

„Myślałem, że podłączam tylko portfel…"

Dlatego projektujemy każdą warstwę UKey Prawdziwa ochrona użytkownika Umieść go na ważnym stanowisku.

Każdy podpis jest oceną zaufania. UKey pomoże Ci zobaczyć więcej informacji o ryzyku przed potwierdzeniem.

Czy to odpowiedziało na twoje pytanie?