Miks sinu rahakott näitab ülekannet, mida sa pole kunagi saatnud: nullväärtusega tehingud ja aadressimürgitus
Tundmatu väljaminev tehing ei tähenda automaatselt, et sinu rahakotti on sisse murtud. Uuri, mida nullväärtusega kirjed, sarnased aadressid ja tegelikud varade liikumised päriselt tõendavad.
Mida see kirje minu rahakoti kohta tõendab?
Kui sinu ajalugu näitab ootamatult, et saatsid 0 USDT tundmatule aadressile, ei tõenda see kirje üksi, et keegi pääses sinu privaatvõtmele ligi. Kolmas osapool saab luua teatud nullkogusega tokeniülekande kirjeid, milles on märgitud sinu aadress, ilma sinu allkirja või loata kulutada nullist suuremat summat. Kirje võib plokiahelas olemas olla, kuigi sa ei algatanud seda kunagi.
Kasulikumad küsimused on täpsemad: Mis vara see on? Kui palju tegelikult liikus? Kes esitas tehingu? Mis andis loa tegelikuks kulutamiseks?
- Nullkogusega tokenisündmus ei tõenda, et oled midagi allkirjastanud või kulutanud. Ehtsa tokeni puhul tähendab täpne nullkogus, et selle ülekandega ei liikunud ühtegi tokenit.
- Tuttava tokeninimega ülekanne ei tuvasta vara. Seosetu leping võib kasutada sama nime ja sümbolit.
- Üliväike laekumine võib olla päris, kuid samal ajal lisada sinu ajalukku eksitava saatja aadressi.
- Kinnitatud ja seletamatu ehtsa vara väljaminek vajab uurimist. Ära jäta seda tähelepanuta vaid seetõttu, et teine väli näitab nulli.
See juhend käsitleb Ethereumi, BNB Smart Chaini (BSC) ja sarnaseid võrke, mis kasutavad Ethereumi tüüpi tokenilepinguid. Näited on tahtlikult lihtsustatud väljamõeldud kirjed, mitte kuvatõmmised ega järeldused mõne konkreetse rahakoti kohta.
Esmalt tee kindlaks, millisel väljal on null
Väljendit nullväärtusega tehing kasutatakse mitme eri nähtuse kohta. Ainult üks neist kuvaväärtustest tähendab, et tokenite kogus on null:
- Tokenite kogus: 0 USDC. Ehtsa USDC lepingu puhul tähendab täpne nullkogus, et selle ülekandega ei liigu USDC-d.
- Tehingu väärtus: 0 ETH. Põhitehingule ei lisatud ETH-d. Tokenid võivad siiski liikuda ja lepingutoimingud võivad käivituda.
- Hinnanguline väärtus: $0.00. Kasutajaliides näitab väärtust tavavaluutas. See ei tõenda tokenite kogust.
BSC-s kasutatakse võrgu omavääringu väljal ETH asemel tavaliselt BNB-d. Nullväärtusega omavääringut sisaldav lepingukutse võib tokeneid üle kanda, kulutamisõigusi muuta või muid toiminguid käivitada. Omavääringu väärtus on eraldi tehingu sisendandmetest.
Väike positiivne kogus võidakse ümardada väärtuseni $0.00. Usaldusväärse hinnata vara tavavaluutas kuvatud väärtus võib samuti olla väheinformatiivne. Ava tokenikogus täieliku täpsusega; isegi kuvatud 0.00 tokenit võib varjata väiksemat positiivset kogust. Portfelli muutuv rahaline väärtus ei ole usaldusväärne arvestus kontole lisandunud või sealt lahkunud ühikute kohta.
Null on lubatud tokenikogus, nii et null üksi ei tõenda rünnakut. Sarnased aadressid ja kopeeritud makseandmed on vihjed, mida tasub uurida.
Miks kaks välja From võivad erineda?
Rahakoti ajalugu võib ühendada eri tasandite teavet:
- Tehing: võrku saadetud allkirjastatud korraldus. Tavalises Ethereumi tehingus näitab põhiline väli From allkirjastavat kontot.
- Tokenisündmus: lepingu täitmise ajal väljastatud kirje. Transfer-sündmusel on oma väljad From, To ja kogus.
- Ajaloorida: rahakoti või plokiahela uurija esitus sellest teabest. Sündmus võidakse märkida kui OUT, sest sündmuses on saatjaks märgitud sinu aadress.
Need kaks From-välja ei ole samaväärsed. Sinu aadress sündmuse sees ei ole sinu rahakoti allkiri. Pahatahtlik leping võib lisada sündmuse andmetesse sinu aadressi, kuid see ei muuda tema logi ehtsa tokenilepingu logiks. Seetõttu on sündmuse väljastanud leping tõendite oluline osa.
Ka tehinguräsi tuvastab tehingu, kuid ei tõenda sinu nõusolekut. Plokiahelasse lisatud tehing, mille olek on Success, näitab, et selle väline täitmine ei pöördunud tagasi. See ei kinnita tokeni, saaja ega eesmärgi usaldusväärsust.
Viis selgitustega näidet tehinguajaloost
Näide 1: Väljaminev nullkogusega tokeniülekanne, mida sa ei allkirjastanud
Ajalookirje: OUT · 0 USDC · Sinu aadressilt tundmatule sarnasele aadressile.
- Tehingu From: tehingu esitas seosetu konto.
- Tokenisündmuse From: sündmus nimetab sinu aadressi.
- Sündmuse väljastanud tokenileping: selle võrgu ehtne USDC leping.
- Täpne tokenikogus: null.
Mida see tõendab: ehtne tokenileping registreeris nullkogusega ülekande, mille juures on sinu aadress. Selle ülekandega ei liikunud USDC-d. See ei tõenda, et sinu rahakott tehingu allkirjastas, et väljakutsujal on õigus kulutada positiivset kogust või et sinu võti varastati.
Kuidas see juhtub: levinud tokenistandard ERC-20 nõuab, et nullkogusega ülekanded väljastaksid Transfer-sündmuse. Tavalistes teostustes kontrollib delegeeritud ülekande funktsioon transferFrom, kas taotletud kogus ületab väljakutsuja lubatud kululimiidi. Null ei ületa nullist limiiti. Lepingu muid reegleid arvestades võib kutse õnnestuda ilma eelneva heakskiiduta.
See ei ole kõigi tokenite puhul universaalne lubadus. Üksikud lepingud võivad kehtestada täiendavaid piiranguid.
Mida järgmisena kontrollida: uuri ülejäänud tehingut. Nulliga rida kirjeldab ainult seda rida; teine toiming võis avaldada teistsugust mõju. Kui tegu on üksiku aadressimürgituse kirjega, millega ei kaasne kahtlast kulutamist ega õiguste muutumist, on õige vältida lisatud aadressi, mitte eeldada, et rahakott tuleb välja vahetada.
Näide 2: Võltstehing, mis näitab suurt tokenikogust
Ajalookirje: OUT · 2,500 USDC · Sinu aadressilt tundmatule aadressile.
- Kuvatud tokenisümbol: USDC.
- Sündmuse väljastanud leping: seosetu leping, mitte ehtne USDC.
- Sündmuses teatatud kogus: 2,500.
- Ehtsa USDC liikumine selles tehingus: puudub.
Mida see tõendab: teine leping väljastas kirje, mida esitatakse USDC nime all. See ei tõenda, et sinu kontolt lahkus 2,500 ehtsat USDC-d.
Rahakotis näidatav võltstehing võib olla ehtne plokiahela andmestik, mida tõlgendatakse eksitavalt. Ründajad võivad kopeerida tokeni nime ja sümboli ning väljastada sündmusi, mis matkivad sinu varasemaid makseid, sealhulgas summasid. Mittestandardsed lepingud võivad väljastada ka ülekandekirjeid, millele ei vasta muutused nende endi saldodes.
Mida järgmisena kontrollida: tuvasta võrk ja täpne sündmuse väljastanud leping. Võrdle selle aadressi sõltumatult hangitud teabega tokeni väljastaja lepingu kohta selles võrgus. Tuttav tähis, logo või lähtekoodi kontrollimise märgis ei tõenda väljastaja identiteeti.
Näide 3: Üliväike tegelik makse sarnaselt aadressilt
Ajalookirje: IN · 0.000001 USDC · Tundmatult aadressilt sinu aadressile.
Oletame, et ehtne tokenileping kinnitab ülekande ja sinu tokenisaldo kasvab selle imeväikese koguse võrra. Siis saabusid päris tokenid. Nende vastuvõtmiseks ei olnud vaja saatjat heaks kiita ning see ei anna saatjale kulutamisõigust.
Lõks peitub aadressis. Vaata neid väljamõeldud näiteid, kus tühikud teevad iga märgi nähtavaks. Tegelikes aadressides tühikuid pole; paksus kirjas keskmised rühmad erinevad:
Kontrollitud saaja: 0x7a2f 1111 2222 3333 4444 5555 6666 7777 8888 9c4d
Ette söödetud aadress: 0x7a2f aaaa bbbb cccc dddd eeee ffff 0000 1111 9c4d
Ainult algust ja lõppu näitav liides võib mõlemad kuvada kujul 0x7a2f...9c4d.
Mida see tõendab: keegi saatis sulle sellelt aadressilt väikese koguse. See ei tõenda, et saatja on sinu tavapärane saaja või sinu kontrollitav konto. Samasugused nähtavad märgid ei kinnita omandiõigust.
Mida järgmisena kontrollida: hangi soovitud sihtaadress eraldi kontrollitud kontaktist või saaja usaldusväärselt kontolehelt. Võrdle kogu aadressi. Aadressimürgitus püüab muuta ajalukku lisatud kirje aadressiks, mille valid hilisema makse jaoks. Kahju võib tekkida hiljem, kui kinnitad täiesti kehtiva ülekande valele aadressile.
Näide 4: Null ETH-d, kuid välja liigub 2,500 ehtsat tokenit
Tehingu päis: Value · 0 ETH.
- Kutsele lisatud omavääringu väärtus: 0 ETH.
- Ehtsa tokeni ülekanne: 2,500 USDC sinu aadressilt.
- Selle tehingu põhjustatud USDC saldo muutus: vähenemine 2,500 USDC võrra.
- Täitmise olek: Success.
Mida see tõendab: näites liikus ehtne USDC välja. Null kirjeldab kutsele lisatud ETH-d. See ei kirjelda USDC ülekannet ega välista gaasitasu.
Mis jääb teadmata: miks makse toimus ja kas sa soovisid seda. Tegu võis olla vahetuse, sissemakse, ajastatud toimingu, valele aadressile tehtud makse või loata kulutamisega. Enne liigitamist võrdle seda oma tehtud toimingu ja kavandatud sihtaadressiga.
Näide 5: Ehtsad tokenid lahkuvad, kuid tehingu esitas teine konto
Ajalookirje: OUT · 500 ehtsat USDC-d · Tundmatu sihtaadress.
Oletame, et edukas tehing vähendas sinu ehtsa USDC saldot 500 võrra, kuid põhiline From-väli nimetab kedagi teist.
Mida see tõendab: tokenid liikusid. Teistsugune tehingu saatja ei muuda seda liikumist võltsiks.
Varem heaks kiidetud kulutaja saab kasutada tokeni kululimiiti ilma, et peaksid iga väljavõtte jaoks uue tehingu allkirjastama. Mõned tokenid toetavad ka permit-allkirju, millega antakse allkirjastatud sõnumi kaudu kululimiit, mille saab esitada teine osapool. Nutikontod ja delegeeritud rahakotid pakuvad lisavõimalusi, et keegi teine esitaks lubatud toimingu.
Mida järgmisena kontrollida: uuri kulutajat, asjakohast limiiti või allkirjastatud luba ning rahakoti toimingut. Kui mahakandmine jääb seletamatuks, käsitle seda turvaintsidendina. Tõendid võivad viidata kahjulikule heakskiidule, eksitavale allkirjale või konto kontrolli kaotamisele; üks rida neid ei erista.
Tavalise otse allkirjastatud tehingu puhul tõendab sinu aadress tehingu põhilisel From-väljal selle konto kehtivat allkirja. See ei tõenda siiski, et mõistsid toimingut, kavatsesid maksta sellele saajale või algatasid tehingu isiklikult. Tokenisündmuse From-väli annab palju nõrgema tõendi.
Mida 270 miljonit aadressimürgituse katset tegelikult mõõtsid
Kaheaastane Ethereumi ja BSC tegevuse analüüs ajavahemikus 1. juuli 2022 kuni 30. juuni 2024 tuvastas ligikaudu 270 miljonit mürgitavat ülekandekirjet, mis olid suunatud 17 miljonile aadressile.
Kirjed jagunesid kolme kategooriasse:
- 147.7 miljonit nullväärtusega ülekannet.
- 118.4 miljonit võltstokeni ülekannet.
- 4.0 miljonit üliväikest ülekannet.
Need olid ülekandekirjed ligikaudu 18.2 miljonis tehingus, sest ründajad saavad kirjeid koondada. Sihtmärgiks olevad aadressid ei võrdu inimeste, ohustatud rahakottide või raha kaotanud ohvrite arvuga.
Analüüs tuvastas 6,633 õnnestunud makset ründajatele kogusummas vähemalt $83.8 miljonit. Mõned ohvrid maksid rohkem kui korra. Tuvastamine keskendus valitud stabiilsetele müntidele, seega on kahjuhinnang selle ulatuse alumine piir, mitte kõigi tokenite ja ahelate kogusumma.
Praktiliselt tähendab see, et ainult nullkoguste kontrollimine jätab olulise osa rünnakutest märkamata. Võltskirjed võivad matkida märkimisväärseid makseid ja üliväike laekumine võib tuua ehtsaid tokeneid, lisades samas ohtliku aadressi.
Kuidas oma tundmatut kirjet kontrollida
- Ava tehing õiges võrgus. Kasuta rahakoti plokiahela uurija valikut või tuntud uurijat, näiteks Etherscani või BscScani. Kontrolli tehingu olekut. Avalike tehinguandmete lugemiseks ei ole vaja rahakotti ühendada, tokeneid heaks kiita, sõnumit allkirjastada ega taastamisfraasi sisestada.
- Tuvasta tegelik vara. Erista võrgu enda ETH-d või BNB-d samanimelisest tokenist. Tokenite puhul võrdle täpset võrku ja sündmust väljastanud lepingut usaldusväärse väljastajaviitega.
- Loe kogust täieliku täpsusega. Erista tokenikogust tehingu omavääringu väärtusest ja hinnangust tavavaluutas.
- Erista tehingu saatja sündmuse saatjast. Nutikonto korral kontrolli ka rahakoti toimingut ja selle õigusi. See, et keegi teine maksis gaasitasu, ei tõenda, et sinu varad ei saanud liikuda.
- Vaata läbi kogu tehing. Uuri kõiki tokeniliikumisi, omavääringu ülekandeid ja asjakohaseid õigusemuudatusi. Kui uurija näitab tehingupõhiseid saldomuutusi, kasuta neid tulemuse võrdlemiseks. Tänane muutumatu saldo on nõrgem tõend: hilisemad sissemaksed või vastassuunalised ülekanded võivad varasemat liikumist varjata.
- Kontrolli sihtaadressi sõltumatult. Kasuta saaja usaldusväärseid makseandmeid või varem kontrollitud aadressiraamatu kirjet. Hiljutine ajaloorida on uurimist vajav tõend, mitte kinnitus õigele sihtaadressile.
Kui uurija ei anna selget vastust, edasta rahakoti pakkuja ametlikule klienditoele võrk ja avalik tehinguräsi. Kirjelda, millist toimingut ootasid, kui üldse. Need andmed aitavad eristada tundmatut, kuid soovitud toimingut seletamatust kulutamisest ilma rahakoti salajasi juurdepääsuandmeid avaldamata.
Mida pärast kontrollimist teha
Kui leidsid ainult üksiku mürgituskirje
Peida rämpskirje või teata sellest, kui rahakott seda võimaldab, ning väldi selle aadresside kasutamist. Rea peitmine muudab kasutajaliidest; see ei kustuta plokiahela ajalugu ega tühista õigusi.
Nullülekanne võib toimuda ka nullise kululimiidiga, seega pole see kirje üksi põhjus kõiki heakskiite tühistada või kogu raha teisaldada. Selle kirjega ei pruugi olla seotud ühtegi kulutamisõigust, mida eemaldada. Ära kunagi kasuta tokeni reklaamitud veebisaiti ega võõra taastamislinki oma rahakoti „puhastamiseks”.
Kui leidsid kahtlase kulutamisõiguse
Kasuta oma rahakoti usaldusväärset lubade haldamise võimalust, et asjakohane limiit üle vaadata ja tühistada. Veebisaidi lahtiühendamine rahakotist ei tühista olemasolevaid plokiahelas salvestatud tokenilubasid. Tühistamine lahendab selle loa küsimuse, kuid ei paranda varastatud privaatvõtme olukorda.
Kui ehtsad varad liikusid ilma sinu tahteta
Säilita tehinguräsi, võrk, mõjutatud vara ja seotud aadressid. Vaata hiljutised allkirjad, heakskiidud ja rahakotitoimingud üle ametlike tugikanalite kaudu.
Kui on tõendeid, et sinu taastamisfraas või privaatvõti on avalikuks saanud, loo usaldusväärses seadmes uus rahakott uue taastamisfraasiga ja järgi allesjäänud varade teisaldamiseks hoolikat plaani. Veel üks ohustatud fraasist tuletatud konto ei kõrvalda leket. Kui raha kaob automaatselt, ära lisa jätkuvalt gaasiraha: automaatne tühjendaja võib selle ära võtta.
Kui allkirjastasid makse teadlikult, kuid kopeerisid mürgitatud sihtaadressi, dokumenteeri see erinevus. Makse võidi õigesti allkirjastada ja täita, kuid saata valele saajale. See tulemus üksi ei tõenda, et sinu privaatvõti varastati.
Levinud küsimused tundmatute tehingute kohta
Kas ründaja pani mind gaasitasu maksma?
Tavalise mürgitusstsenaariumi puhul esitab tehingu ründaja ja maksab ise võrgutasu. Ainuüksi sinu aadressi nimetamine tokenisündmuses ei võta sinu kontolt tasu. Sponsitud tehingute ja nutikontode puhul ei saa siiski ainuüksi tasu maksja järgi otsustada, kas toiming oli kahjutu. Kontrolli tegelikke tagajärgi.
Mis siis, kui tehing ebaõnnestus?
Tagasipööratud tokeniülekanne ei viinud seda ülekannet lõpule, kuid gaasitasu võidi siiski võtta. Kui rahakott kasutab konto delegeerimist, kontrolli seda eraldi: Ethereumis võib delegatsioon säilida ka siis, kui hilisem täitmine ebaõnnestub. Tundmatu delegatsioon vajab ülevaatamist.
Kas riistvaraline rahakott hoiaks aadressimürgituse ära?
See annab lisakoha, kus enne allkirjastamist sihtaadressi kontrollida. See ei muuda ründaja kontrollitavat aadressi õigeks, kui sa selle heaks kiidad. Võrdle usaldusväärsel allkirjastamiskuval kogu aadressi sõltumatult kontrollitud saajaandmetega.
Kas saan takistada võõrastel neid kirjeid lisamast?
Üldjuhul ei saa takistada kolmandatel osapooltel varasid saatmast ega avaliku aadressiga seotud asjakohaseid kirjeid loomast. Rahakoti ja uurija filtrid võivad nähtavat hulka vähendada. Salvesta kontrollitud saajad ja kontrolli enne maksmist kogu sihtaadressi; üksnes nullväärtusega kirjete peitmine ei taba kõiki võltstokeni või imepisikese ülekande variante.
