Coinnoti
☰
Bosanskibs
Nazad na blog

Zašto vaš novčanik prikazuje prijenos koji nikada niste poslali: transakcije nulte vrijednosti i trovanje adresa

Nepoznata odlazna transakcija ne znači automatski da je vaš novčanik hakovan. Saznajte šta zapisi nulte vrijednosti, adrese koje liče na druge i stvarna kretanja imovine zaista dokazuju.

Šta ovaj zapis dokazuje o mom novčaniku?

Ako historija iznenada pokaže da ste poslali 0 USDT na nepoznatu adresu, sam taj zapis ne dokazuje da je iko pristupio vašem privatnom ključu. Treća strana može stvoriti određene zapise o prijenosu nula tokena u kojima se navodi vaša adresa, bez vašeg potpisa ili dozvole za trošenje iznosa većeg od nule. Zapis može postojati na blockchainu iako ga nikada niste pokrenuli.

Korisnija pitanja su konkretnija: Koja je ovo imovina? Koliko je zapravo preneseno? Ko je poslao transakciju? Šta je odobrilo eventualno stvarno trošenje?

  • Događaj prijenosa nula tokena ne dokazuje da ste išta potpisali ili potrošili. Kod pravog tokena, tačan iznos nula znači da tim prijenosom nije pomjeren nijedan token.
  • Prijenos pod poznatim nazivom tokena ne identificira imovinu. Nepovezan ugovor može koristiti isti naziv i simbol.
  • Sitna dolazna uplata može biti stvarna, a istovremeno ubaciti obmanjujuću adresu pošiljaoca u vašu historiju.
  • Potvrđen, neobjašnjen odlazni prijenos stvarne imovine zahtijeva istragu. Nemojte ga zanemariti zato što neko drugo polje prikazuje nulu.

Ovaj vodič obuhvata Ethereum, BNB Smart Chain (BSC) i slične mreže koje koriste ugovore za tokene po uzoru na Ethereum. Primjeri su namjerno pojednostavljeni, izmišljeni zapisi, a ne snimci ekrana ili nalazi o određenom novčaniku.

Prvo utvrdite koje polje prikazuje nulu

Izraz transakcija nulte vrijednosti koristi se za nekoliko različitih pojava. Samo jedan od ovih prikaza kaže da je količina tokena nula:

  • Količina tokena: 0 USDC. Kod pravog USDC ugovora, tačna nula znači da taj prijenos ne pomjera nijedan USDC.
  • Vrijednost transakcije: 0 ETH. Uz glavnu transakciju nije priložen ETH. Tokeni se ipak mogu prenijeti, a radnje ugovora izvršiti.
  • Procijenjena vrijednost: $0.00. Sučelje prikazuje procjenu u fiat valuti. To ne utvrđuje količinu tokena.

Na BSC-u polje izvorne kriptovalute obično koristi BNB umjesto ETH. Interakcija s ugovorom čija je izvorna vrijednost nula može prenositi tokene, mijenjati dozvole za trošenje ili pokretati druge operacije. Izvorna vrijednost odvojena je od ulaznih podataka transakcije.

Mali pozitivan iznos može se zaokružiti na $0.00. Imovina bez pouzdane cijene također može imati nekoristan prikaz fiat vrijednosti. Prikažite količinu tokena s punom preciznošću; čak i prikazana količina 0.00 može skrivati manji pozitivan iznos. Promjenjiva procjena vrijednosti portfelja nije pouzdan zapis o jedinicama koje ulaze na račun ili izlaze s njega.

Nula je dozvoljena količina tokena, pa sama po sebi ne dokazuje napad. Slične adrese i kopirani podaci o plaćanju tragovi su koje treba provjeriti.

Zašto se dva polja From mogu razlikovati

Historija novčanika može objedinjavati informacije iz različitih slojeva:

  1. Transakcija: potpisana uputa poslana mreži. Kod uobičajene Ethereum transakcije, glavno polje From identificira račun koji ju je potpisao.
  2. Događaj tokena: zapis koji ugovor emitira tokom izvršavanja. Događaj Transfer ima vlastita polja From, To i iznos.
  3. Red u historiji: način na koji novčanik ili preglednik blockchaina prikazuje te informacije. Može označiti događaj kao OUT jer događaj navodi vašu adresu kao pošiljaoca.

Ta dva polja From nisu zamjenjiva. Pojavljivanje vaše adrese unutar događaja nije potpis vašeg novčanika. Zlonamjerni ugovor može upisati vašu adresu u podatke događaja, ali to ne znači da njegov zapis potječe od pravog ugovora tokena. Zato je ugovor koji emitira događaj ključan dio dokaza.

Isto tako, hash transakcije identificira transakciju; ne dokazuje vašu saglasnost. Uvrštena transakcija sa statusom Success pokazuje da se njeno vanjsko izvršavanje nije poništilo. To nije potvrda ispravnosti tokena, primaoca ili svrhe.

Pet objašnjenih primjera iz historije transakcija

Primjer 1: Odlazni prijenos nula tokena koji nikada niste potpisali

Zapis u historiji: OUT · 0 USDC · Vaša adresa prema nepoznatoj, sličnoj adresi.

  • From transakcije: transakciju je poslao nepovezan račun.
  • From događaja tokena: događaj navodi vašu adresu.
  • Ugovor tokena koji emitira događaj: pravi USDC ugovor na toj mreži.
  • Tačna količina tokena: nula.

Šta ovo dokazuje: pravi ugovor tokena zabilježio je prijenos nula tokena uz navođenje vaše adrese. Taj prijenos nije pomjerio nijedan USDC. Ne dokazuje da je vaš novčanik potpisao transakciju, da pozivalac ima dozvolu potrošiti pozitivan iznos ili da je vaš ključ ukraden.

Kako se to događa: ERC-20, uobičajeni standard za tokene, zahtijeva da prijenosi nultog iznosa emituju događaje Transfer. U čestim implementacijama funkcija delegiranog prijenosa transferFrom provjerava prelazi li traženi iznos dozvoljeni limit pozivaoca. Nula ne prelazi limit od nule. Uz poštovanje drugih pravila ugovora, poziv može uspjeti bez prethodnog odobrenja.

To nije univerzalna garancija za svaki token. Pojedinačni ugovori mogu postavljati dodatna ograničenja.

Šta dalje provjeriti: pregledajte ostatak transakcije. Red s nulom opisuje samo taj red; druga operacija mogla je imati drukčiji učinak. Ako je riječ o izolovanom zapisu trovanja bez sumnjivog trošenja ili promjena dozvola, ispravan odgovor je izbjegavanje podmetnute adrese, a ne pretpostavka da novčanik treba zamijeniti.

Primjer 2: Lažna transakcija koja prikazuje veliku količinu tokena

Zapis u historiji: OUT · 2,500 USDC · Vaša adresa prema nepoznatoj adresi.

  • Prikazani simbol tokena: USDC.
  • Ugovor koji emitira događaj: nepovezan ugovor, a ne pravi USDC.
  • Prijavljena količina događaja: 2,500.
  • Kretanje pravog USDC-a u toj transakciji: nikakvo.

Šta ovo dokazuje: drugi ugovor emitirao je zapis prikazan pod oznakom USDC. To ne dokazuje da je 2,500 pravih USDC napustilo vaš račun.

Lažna transakcija u novčaniku može biti stvarni blockchain podatak koji je obmanjujuće protumačen. Napadači mogu kopirati naziv i simbol tokena te emitirati događaje nalik vašim ranijim uplatama, uključujući iznose. Nestandardni ugovori mogu emitirati i zapise prijenosa koji ne odgovaraju promjenama njihovih vlastitih stanja.

Šta dalje provjeriti: utvrdite mrežu i tačan ugovor koji je emitirao događaj. Uporedite tu adresu s podacima o ugovoru za tu mrežu koje ste nezavisno pribavili od izdavaoca. Poznat ticker, logotip ili oznaka verifikacije izvornog koda nisu dovoljni za potvrdu identiteta izdavaoca.

Primjer 3: Sitna stvarna uplata sa slične adrese

Zapis u historiji: IN · 0.000001 USDC · Nepoznata adresa prema vašoj adresi.

Pretpostavimo da pravi ugovor tokena potvrdi prijenos i da se vaše stanje tokena poveća za taj sitni iznos. Ovdje su stigli pravi tokeni. Za njihov primitak nije bilo potrebno da odobrite pošiljaoca, niti mu to daje pravo trošenja.

Zamka je u adresi. Pogledajte ove izmišljene primjere, razdvojene razmacima kako bi se vidio svaki znak. Stvarne adrese nemaju razmake; podebljane srednje grupe se razlikuju:

Provjereni primalac: 0x7a2f 1111 2222 3333 4444 5555 6666 7777 8888 9c4d

Podmetnuta adresa: 0x7a2f aaaa bbbb cccc dddd eeee ffff 0000 1111 9c4d

Sučelje koje prikazuje samo početak i kraj moglo bi obje prikazati kao 0x7a2f...9c4d.

Šta ovo dokazuje: neko vam je poslao mali iznos s te adrese. Ne dokazuje da je pošiljalac vaš uobičajeni primalac ili račun kojim upravljate. Poklapanje vidljivih znakova ne dokazuje vlasništvo.

Šta dalje provjeriti: uzmite namjeravanu odredišnu adresu od zasebno provjerenog kontakta ili sa pouzdane stranice računa primaoca. Uporedite cijelu adresu. Trovanje adresa pokušava pretvoriti podmetnuti zapis u historiji u adresu koju birate za kasniju uplatu. Gubitak se može dogoditi kasnije, kada odobrite potpuno valjan prijenos na pogrešno odredište.

Primjer 4: Nula ETH, ali odlazi 2,500 pravih tokena

Zaglavlje transakcije: Value · 0 ETH.

  • Izvorna vrijednost priložena pozivu: 0 ETH.
  • Prijenos pravog tokena: 2,500 USDC s vaše adrese.
  • Promjena stanja USDC-a uzrokovana transakcijom: smanjenje za 2,500 USDC.
  • Status izvršavanja: Success.

Šta ovo dokazuje: u ovom primjeru stvarni USDC je otišao. Nula opisuje ETH priložen pozivu. Ne opisuje prijenos USDC-a niti isključuje troškove gasa.

Šta ostaje nepoznato: zašto je uplata izvršena i jeste li je namjeravali. Mogla je biti zamjena, depozit, zakazana operacija, uplata na pogrešnu adresu ili neovlašteno trošenje. Povežite je s radnjom koju ste poduzeli i namjeravanim odredištem prije nego što je klasificirate.

Primjer 5: Pravi tokeni odlaze, ali je transakciju poslao drugi račun

Zapis u historiji: OUT · 500 pravih USDC · Nepoznato odredište.

Pretpostavimo da je uspješna transakcija smanjila stanje vašeg pravog USDC-a za 500, ali njeno glavno polje From navodi nekog drugog.

Šta ovo dokazuje: tokeni su preneseni. Drugi pošiljalac transakcije ne znači da je taj prijenos lažan.

Ranije odobreni potrošač može koristiti dozvoljeni limit tokena bez zahtjeva da potpisujete novu transakciju pri svakom povlačenju. Neki tokeni podržavaju i permit potpise, koji dozvoljavaju trošenje putem potpisane poruke koju može poslati druga strana. Pametni računi i delegirani novčanici uvode dodatne načine da neko drugi pošalje ovlaštenu operaciju.

Šta dalje provjeriti: pregledajte ovlaštenog potrošača, relevantni limit ili potpisanu dozvolu i operaciju novčanika. Ako terećenje ostane neobjašnjeno, tretirajte ga kao sigurnosni incident. Dokazi mogu upućivati na štetno odobrenje, obmanjujući potpis ili kompromitiranu kontrolu nad računom; sam red ih ne razlikuje.

Kod obične direktno potpisane transakcije vaša adresa u glavnom polju From dokaz je valjanog potpisa za taj račun. Ipak, ne dokazuje da ste razumjeli radnju, namjeravali tog primaoca ili lično pokrenuli transakciju. Polje From događaja tokena pruža mnogo slabiji dokaz.

Šta je zapravo obuhvatilo 270 miliona pokušaja trovanja

Dvogodišnja analiza aktivnosti na Ethereumu i BSC-u, od 1. jula 2022. do 30. juna 2024., identificirala je približno 270 miliona zapisa o otrovanim prijenosima usmjerenim na 17 miliona adresa.

Zapisi su podijeljeni u tri kategorije:

  • 147.7 miliona prijenosa nulte vrijednosti.
  • 118.4 miliona prijenosa lažnih tokena.
  • 4.0 miliona sitnih prijenosa.

To su bili zapisi prijenosa unutar oko 18.2 miliona transakcija, jer napadači mogu grupisati više zapisa. Ciljane adrese nisu isto što i osobe, kompromitirani novčanici ili žrtve koje su izgubile novac.

Analiza je identificirala 6,633 uspješna prijenosa koji su donijeli dobit napadačima u ukupnom iznosu od najmanje $83.8 miliona. Neke žrtve platile su više puta. Otkrivanje se usredotočilo na odabrane stabilne kriptovalute, pa je procjena gubitaka donja granica unutar tog obuhvata, a ne ukupan iznos za sve tokene ili mreže.

Praktična pouka je da provjeravanje samo nultih iznosa propušta značajan dio napada. Lažni zapisi mogu oponašati smisleno plaćanje, a sitan dolazni prijenos može pomjeriti stvarne tokene i pritom uvesti opasnu adresu.

Kako provjeriti konkretan nepoznati zapis

  1. Otvorite transakciju na odgovarajućoj mreži. Koristite opciju preglednika u novčaniku ili poznati preglednik poput Etherscana ili BscScana. Provjerite status transakcije. Čitanje javnih detalja ne zahtijeva povezivanje novčanika, odobravanje tokena, potpisivanje poruke ni unošenje fraze za oporavak.
  2. Utvrdite stvarnu imovinu. Razlikujte izvorni ETH ili BNB od tokena koji koristi taj naziv. Za tokene provjerite tačnu mrežu i ugovor koji emitira događaj prema pouzdanom izvoru izdavaoca.
  3. Pročitajte iznos s punom preciznošću. Odvojite količinu tokena od izvorne vrijednosti transakcije i fiat procjene.
  4. Razlikujte pošiljaoca transakcije od pošiljaoca događaja. Kod pametnog računa pregledajte i operaciju novčanika te njene dozvole. To što neko drugi plaća gas ne dokazuje da vaša imovina nije mogla biti prenesena.
  5. Pregledajte cijelu transakciju. Provjerite sva kretanja tokena, prijenose izvorne valute i relevantne promjene dozvola. Ako preglednik prikazuje promjene stanja na nivou transakcije, iskoristite ih za usklađivanje rezultata. Današnje nepromijenjeno stanje slabiji je dokaz: kasniji depoziti ili kompenzacijski prijenosi mogu sakriti ranija kretanja.
  6. Nezavisno provjerite odredište. Koristite pouzdane podatke za uplatu primaoca ili prethodno provjeren unos u adresaru. Nedavni red u historiji je podatak za provjeru, a ne dokaz ispravnog odredišta.

Ako preglednik ne daje jasan rezultat, dostavite službenoj podršci pružaoca novčanika naziv mreže i javni hash transakcije. Opišite radnju koju ste očekivali, ako je bilo takve. Ti detalji pomažu razlikovati nepoznatu, ali namjeravanu operaciju od neobjašnjenog trošenja, bez otkrivanja tajni koje kontroliraju vaš novčanik.

Šta učiniti nakon provjere

Ako ste pronašli samo izolovan zapis trovanja

Sakrijte ili prijavite neželjeni zapis ako novčanik to podržava i izbjegavajte korištenje njegovih adresa. Skrivanje reda mijenja sučelje; ne briše blockchain historiju niti opoziva dozvole.

Nulti prijenos može se dogoditi uz nulti dozvoljeni limit, pa sam zapis nije razlog da opozovete sva odobrenja ili premjestite sva sredstva. Uz taj zapis možda uopće nema dozvole za trošenje koju bi trebalo ukloniti. Nikada ne koristite reklamiranu web-stranicu tokena ili neznančev link za oporavak da biste „očistili” novčanik.

Ako ste pronašli sumnjivu dozvolu za trošenje

Koristite pouzdanu opciju novčanika za upravljanje odobrenjima kako biste pregledali i opozvali relevantni limit. Prekid povezivanja web-stranice s novčanikom ne opoziva njena postojeća odobrenja tokena na blockchainu. Opoziv rješava tu dozvolu; ne može popraviti posljedice ukradenog privatnog ključa.

Ako je stvarna imovina prenesena bez vaše namjere

Sačuvajte hash transakcije, mrežu, pogođenu imovinu i relevantne adrese. Preko službenih kanala podrške pregledajte nedavne potpise, odobrenja i operacije novčanika.

Ako postoje dokazi da su vaša fraza za oporavak ili privatni ključ otkriveni, na pouzdanom uređaju napravite novi novčanik s novom frazom za oporavak i pažljivo planirajte prijenos preostale imovine. Drugi račun izveden iz kompromitirane fraze ne uklanja tu izloženost. Ako sredstva automatski nestaju, nemojte nastavljati dodavati novac za gas: automatizirani kradljivac može ga uzeti.

Ako ste svjesno potpisali uplatu, ali kopirali podmetnuto odredište, dokumentujte tu razliku. Uplata je možda pravilno potpisana i izvršena, ali poslana pogrešnom primaocu. Sam taj ishod ne dokazuje da je vaš privatni ključ ukraden.

Česta pitanja o nepoznatim transakcijama

Je li napadač natjerao mene da platim gas?

U uobičajenom scenariju trovanja napadač šalje transakciju i plaća mrežnu naknadu. Samo navođenje vaše adrese u događaju tokena ne naplaćuje ništa s vašeg računa. Ipak, sponzorirane transakcije i pametni računi znače da sam platilac naknade ne dokazuje da je operacija bila bezopasna. Provjerite stvarne učinke.

Šta ako transakcija nije uspjela?

Poništeni prijenos tokena nije dovršio taj prijenos, iako gas i dalje može biti naplaćen. Ako novčanik koristi delegiranje računa, provjerite ga zasebno: Ethereum može zadržati delegiranje čak i kada kasnije izvršavanje ne uspije. Nepoznato delegiranje zaslužuje provjeru.

Može li hardverski novčanik spriječiti trovanje adresa?

On pruža još jedno mjesto za provjeru odredišta prije potpisivanja. Ne može učiniti odredište pod kontrolom napadača ispravnim ako ga odobrite. Uporedite cijelu adresu na pouzdanom ekranu za potpisivanje s nezavisno provjerenim podacima primaoca.

Mogu li spriječiti nepoznate osobe da dodaju ove zapise?

U pravilu ne možete spriječiti treće strane da šalju imovinu ili generišu odgovarajuće zapise povezane s javnom adresom. Filteri novčanika i preglednika mogu smanjiti ono što vidite. Sačuvajte provjerene primaoce i pregledajte cijelu odredišnu adresu prije plaćanja; samo skrivanje zapisa nulte vrijednosti ne otkriva sve varijante lažnih ili sitnih prijenosa.