Coinnoti
☰
Српскиsr
Назад на блог

Зашто ваш новчаник приказује трансфер који никада нисте послали: трансакције нулте вредности и тровање адреса

Непозната одлазна трансакција не значи аутоматски да је ваш новчаник хакован. Сазнајте шта записи нулте вредности, сличне адресе и стварно кретање средстава заиста доказују.

Шта овај запис доказује о мом новчанику?

Ако историја одједном показује да сте послали 0 USDT на непознату адресу, сам тај запис не доказује да је неко приступио вашем приватном кључу. Трећа страна може да направи одређене записе о преносу нула токена који наводе вашу адресу, без вашег потписа или дозволе да потроши износ већи од нуле. Запис може постојати на блокчејну иако га никада нисте покренули.

Кориснија су конкретнија питања: Које је ово средство? Колико је стварно пренето? Ко је послао трансакцију? Шта је одобрило било какво стварно трошење?

  • Догађај токена са нултим износом не доказује да сте било шта потписали или потрошили. Код стварног токена тачно нулти износ значи да тај пренос није преместио ниједан токен.
  • Пренос под познатим именом токена не идентификује средство. Неповезани уговор може користити исто име и симбол.
  • Сићушна долазна уплата може бити стварна, а ипак убацити обмањујућу адресу пошиљаоца у вашу историју.
  • Потврђено, необјашњено одлазно кретање стварних средстава захтева истрагу. Немојте га одбацити зато што неко друго поље приказује нулу.

Овај водич обухвата Ethereum, BNB Smart Chain (BSC) и сличне мреже које користе уговоре о токенима у стилу Ethereum-а. Примери су намерно поједностављени, измишљени записи, а не снимци екрана или налази о одређеном новчанику.

Прво утврдите које поље показује нулу

Израз трансакција нулте вредности људи користе за неколико различитих ствари. Само један од ових приказа каже да је количина токена нула:

  • Износ токена: 0 USDC. За прави уговор USDC, тачно нулти износ значи да тај пренос не премешта USDC.
  • Вредност трансакције: 0 ETH. Уз главну трансакцију није приложен ETH. Токени и даље могу бити пренети, а радње уговора извршене.
  • Процењена вредност: $0.00. Интерфејс приказује вредност у фиат валути. То не утврђује количину токена.

На BSC-у поље изворног новчића обично користи BNB уместо ETH. Интеракција са уговором чија је изворна вредност нула може пренети токене, променити овлашћења за трошење или покренути друге операције. Изворна вредност је одвојена од улазних података трансакције.

Мали позитивни износ може се заокружити на $0.00. Средство без поуздане цене може такође имати некористан приказ у фиат валути. Прикажите количину токена са пуном прецизношћу; чак и приказ од 0.00 токена може сакрити мањи позитивни износ. Променљива вредност портфолија није поуздан запис о јединицама које улазе на рачун или га напуштају.

Нула је дозвољена количина токена, па сама по себи не доказује напад. Сличне адресе и копирани подаци за плаћање јесу трагови које треба испитати.

Зашто два поља „Од“ могу да се разликују

Историја новчаника може комбиновати информације из различитих слојева:

  1. Трансакција: потписано упутство послато мрежи. Код уобичајене Ethereum трансакције главно поље „Од“ означава налог који је потписао.
  2. Догађај токена: запис који уговор емитује током извршења. Догађај Transfer има сопствена поља „Од“, „За“ и износ.
  3. Ред у историји: начин на који новчаник или блокчејн претраживач приказује те информације. Може означити догађај као OUT јер он наводи вашу адресу као пошиљаоца.

Ова два поља „Од“ нису заменљива. Појављивање ваше адресе у догађају није потпис вашег новчаника. Злонамерни уговор може уписати вашу адресу у податке догађаја, али то не значи да његов запис потиче од стварног уговора токена. Уговор који емитује догађај зато је кључни део доказа.

Слично томе, хеш трансакције идентификује трансакцију, али не доказује ваш пристанак. Укључена трансакција означена као Success показује да њено спољашње извршење није поништено. То није потврда исправности токена, примаоца или сврхе.

Пет објашњених примера из историје трансакција

Пример 1: Одлазни пренос нула токена који никада нисте потписали

Запис у историји: OUT · 0 USDC · Ваша адреса ка непознатој адреси која личи на другу.

  • Поље „Од“ трансакције: трансакцију је послао неповезан налог.
  • Поље „Од“ догађаја токена: догађај наводи вашу адресу.
  • Уговор токена који емитује догађај: стварни USDC уговор на овој мрежи.
  • Тачна количина токена: нула.

Шта то доказује: стварни уговор токена забележио је пренос нула токена уз навођење ваше адресе. Тај пренос није преместио USDC. То не доказује да је ваш новчаник потписао трансакцију, да позивалац има дозволу да потроши позитиван износ или да је ваш кључ украден.

Како се то дешава: ERC-20, уобичајени стандард токена, захтева да преноси нултог износа емитују догађаје Transfer. У честим имплементацијама функција делегираног преноса, transferFrom, проверава да ли тражени износ премашује дозвољени износ позиваоца. Нула не премашује одобрење од нуле. Ако друга правила уговора то допуштају, позив може успети и без претходног одобрења.

То није универзално обећање за сваки токен. Појединачни уговори могу увести додатна ограничења.

Шта следеће проверити: испитајте остатак трансакције. Ред са нулом описује само тај ред; друга операција је могла имати другачији ефекат. Ако је ово изолован запис тровања адресе без сумњивог трошења или промена дозвола, прави одговор је да избегавате подметнуту адресу, а не да претпоставите да треба заменити новчаник.

Пример 2: Лажна трансакција која показује велики износ токена

Запис у историји: OUT · 2,500 USDC · Ваша адреса ка непознатој адреси.

  • Приказани симбол токена: USDC.
  • Уговор који емитује догађај: неповезан уговор, не прави USDC.
  • Пријављени износ догађаја: 2,500.
  • Кретање стварног USDC у овој трансакцији: није га било.

Шта то доказује: други уговор емитовао је запис приказан под ознаком USDC. То не доказује да је 2,500 стварних USDC напустило ваш рачун.

Лажна трансакција у новчанику може бити стварни блокчејн податак који је погрешно протумачен. Нападачи могу копирати име и симбол токена и емитовати догађаје који личе на ваше раније уплате, укључујући износе. Нестандардни уговори могу емитовати и записе о преносу који не одговарају променама њихових сопствених стања.

Шта следеће проверити: утврдите мрежу и тачан уговор који је емитовао догађај. Упоредите адресу са подацима о уговору за ту мрежу које сте независно прибавили од издаваоца. Познат симбол, лого или ознака верификованог изворног кода нису довољни да потврде идентитет издаваоца.

Пример 3: Сићушна стварна уплата са сличне адресе

Запис у историји: IN · 0.000001 USDC · Непозната адреса ка вашој адреси.

Претпоставимо да стварни уговор токена потврђује пренос и да се ваш салдо токена увећава за тај сићушни износ. Овде су стварни токени примљени. За пријем није било потребно да одобрите пошиљаоца и тиме му не дајете овлашћење за трошење.

Замка је у адреси. Погледајте ове измишљене примере, груписане са размацима како би сваки знак био видљив. Праве адресе немају размаке; подебљане средишње групе се разликују:

Проверени прималац: 0x7a2f 1111 2222 3333 4444 5555 6666 7777 8888 9c4d

Подметнута адреса: 0x7a2f aaaa bbbb cccc dddd eeee ffff 0000 1111 9c4d

Интерфејс који приказује само почетак и крај могао би обе адресе да прикаже као 0x7a2f...9c4d.

Шта то доказује: неко вам је послао мали износ са те адресе. То не доказује да је пошиљалац ваш уобичајени прималац или налог који контролишете. Поклапање видљивих знакова не доказује власништво.

Шта следеће проверити: преузмите намеравану одредишну адресу од засебно провереног контакта или са поуздане странице налога примаоца. Упоредите целу адресу. Тровање адресе покушава да подметнути запис из историје претвори у адресу коју ћете изабрати за каснију уплату. Губитак може настати тек касније, када одобрите сасвим важећи пренос на погрешно одредиште.

Пример 4: Нула ETH, али 2,500 стварних токена одлази

Заглавље трансакције: Value · 0 ETH.

  • Изворна вредност приложена позиву: 0 ETH.
  • Пренос стварних токена: 2,500 USDC са ваше адресе.
  • Промена салда USDC изазвана трансакцијом: смањење за 2,500 USDC.
  • Статус извршења: Success.

Шта то доказује: у овом примеру стварни USDC је отишао са рачуна. Нула описује ETH приложен позиву. Не описује пренос USDC нити искључује трошкове гаса.

Шта остаје непознато: зашто се уплата догодила и да ли сте је намеравали. Може одговарати замени, депозиту, заказаној операцији, уплати на погрешну адресу или неовлашћеном трошењу. Пре него што је класификујете, упоредите је са радњом коју сте предузели и намераваним одредиштем.

Пример 5: Стварни токени одлазе, али трансакцију шаље други налог

Запис у историји: OUT · 500 стварних USDC · Непознато одредиште.

Претпоставимо да је успешна трансакција смањила ваш салдо стварног USDC за 500, а да њено главно поље „Од“ наводи неког другог.

Шта то доказује: токени су премештени. То што је пошиљалац трансакције другачији не чини кретање лажним.

Раније одобрени потрошач може искористити дозволу за токене, а да од вас не тражи нов потпис за свако повлачење. Неки токени подржавају и permit потписе, којима се дозвола даје потписаном поруком коју може послати друга страна. Паметни налози и делегирани новчаници омогућавају додатне начине да неко други пошаље овлашћену операцију.

Шта следеће проверити: испитајте овлашћеног потрошача, релевантну дозволу или потписано овлашћење и операцију новчаника. Ако задужење остаје необјашњено, третирајте га као безбедносни инцидент. Докази могу указивати на штетно одобрење, обмањујући потпис или компромитовану контролу над налогом; сам ред не прави разлику.

Код обичне директно потписане трансакције, ваша адреса у главном пољу „Од“ доказ је важећег потписа за тај налог. То и даље не доказује да сте разумели радњу, намеравали тог примаоца или је лично покренули. Поље „Од“ у догађају токена пружа много слабији доказ.

Шта је заиста измерено у 270 милиона покушаја тровања адреса

Двогодишња анализа активности на Ethereum-у и BSC-у, од 1. јула 2022. до 30. јуна 2024, идентификовала је приближно 270 милиона записа о тровању преноса усмерених на 17 милиона адреса.

Записи су подељени у три категорије:

  • 147.7 милиона преноса нулте вредности.
  • 118.4 милиона преноса лажних токена.
  • 4.0 милиона сићушних преноса.

То су били записи о преносима у оквиру око 18.2 милиона трансакција, јер нападачи могу груписати више записа у једној трансакцији. Циљане адресе нису исто што и људи, компромитовани новчаници или жртве које су изгубиле новац.

Анализа је идентификовала 6,633 успешна преноса који су нападачима донели укупно најмање $83.8 милиона. Неке жртве су платиле више пута. Откривање се фокусирало на одабране стабилне токене, па је процена губитака доња граница у том обухвату, а не укупан износ за сваки токен или ланац.

Практична последица је да се провером само нултих износа пропушта значајан део напада. Лажни записи могу опонашати значајну уплату, а сићушни долазни пренос може померити стварне токене и истовремено увести опасну адресу.

Како да испитате конкретан запис

  1. Отворите трансакцију на исправној мрежи. Користите опцију истраживача у свом новчанику или познати истраживач као што су Etherscan или BscScan. Проверите статус трансакције. Читање јавних података о трансакцији не захтева повезивање новчаника, одобравање токена, потписивање поруке нити унос фразе за опоравак.
  2. Идентификујте стварно средство. Разликујте изворни ETH или BNB од токена који користи то име. За токене проверите тачну мрежу и уговор који емитује догађај према поузданим подацима издаваоца.
  3. Прочитајте износ са пуном прецизношћу. Раздвојите количину токена од изворне вредности трансакције и фиат процене.
  4. Раздвојите пошиљаоца трансакције од пошиљаоца догађаја. Код паметног налога испитајте и операцију новчаника и њена овлашћења. То што неко други плаћа гас не доказује да ваша средства нису могла бити премештена.
  5. Прегледајте целу трансакцију. Погледајте сва кретања токена, преносе изворних новчића и релевантне промене дозвола. Ако истраживач приказује промене стања по трансакцији, употребите их за усаглашавање резултата. Данашњи непромењени салдо је слабији доказ: каснији депозити или супротни преноси могу сакрити ранија кретања.
  6. Независно проверите одредиште. Користите поуздане податке за плаћање примаоца или раније проверен унос у адресару. Скорашњи ред историје јесте траг за проверу, а не доказ исправног одредишта.

Ако резултат није јасан у истраживачу, званичној подршци пружаоца новчаника доставите мрежу и јавни хеш трансакције. Опишите радњу коју сте очекивали, ако је било такве радње. Ови подаци помажу да се разликује непозната али намеравана операција од необјашњеног трошења, без откривања тајни које контролишу ваш новчаник.

Шта урадити после провере

Ако сте нашли само изолован запис тровања адресе

Сакријте или пријавите нежељени запис ако ваш новчаник то омогућава и избегавајте коришћење његових адреса. Скривање реда мења интерфејс; не брише историју блокчејна нити опозива дозволе.

Пренос са нулом може се десити и уз дозволу од нуле, па сам запис није разлог да опозовете сва одобрења или преместите сва средства. Можда не постоји никаква дозвола за трошење повезана с тим записом коју треба уклонити. Никада не користите рекламирани сајт токена или линк за опоравак који шаље странац да бисте „очистили“ новчаник.

Ако сте пронашли сумњиву дозволу за трошење

Користите поуздану функцију свог новчаника за управљање одобрењима да прегледате и опозовете релевантну дозволу. Прекидање везе између сајта и новчаника не опозива постојећа одобрења токена на ланцу. Опозив решава ту дозволу, али не може поправити украдени приватни кључ.

Ако су стварна средства премештена без ваше намере

Сачувајте хеш трансакције, мрежу, погођено средство и релевантне адресе. Прегледајте недавне потписе, одобрења и операције новчаника преко званичних канала подршке.

Ако постоје докази да су ваша фраза за опоравак или приватни кључ откривени, направите нов новчаник са новом фразом за опоравак на поузданом уређају и пажљиво испланирајте пренос преосталих средстава. Други налог изведен из компромитоване фразе не решава проблем. Ако средства нестају аутоматски, немојте стално додавати новац за гас: аутоматски програм за пражњење може га узети.

Ако сте свесно потписали уплату, али копирали затровану одредишну адресу, забележите ту разлику. Уплата је можда исправно потписана и извршена, али је отишла погрешном примаоцу. Такав исход сам по себи не доказује да је ваш приватни кључ украден.

Честа питања о непознатим трансакцијама

Да ли ме је нападач натерао да платим гас?

У уобичајеном сценарију тровања нападач шаље трансакцију и плаћа мрежну накнаду. Само навођење ваше адресе у догађају токена не наплаћује ништа са вашег рачуна. Међутим, спонзорисане трансакције и паметни налози значе да се само на основу платиоца накнаде не може утврдити да ли је операција била безопасна. Проверите стварне ефекте.

Шта ако трансакција није успела?

Поништени пренос токена није довршио тај пренос, иако гас и даље може бити наплаћен. Ако новчаник користи делегирање налога, проверите га засебно: Ethereum може задржати делегирање чак и када касније извршење не успе. Непознато делегирање заслужује проверу.

Да ли би хардверски новчаник спречио тровање адресе?

Он пружа још једно место за проверу одредишта пре потписивања. Не може учинити адресу под контролом нападача исправном ако је одобрите. Упоредите целу адресу на поузданом екрану за потписивање са независно провереним подацима примаоца.

Могу ли спречити странце да додају овакве записе?

Углавном не можете спречити треће стране да шаљу средства или праве применљиве записе који укључују јавну адресу. Филтери новчаника и истраживача могу смањити број приказаних ставки. Сачувајте проверене примаоце и проверите цело одредиште пре плаћања; само скривање записа нулте вредности не може открити све варијанте са лажним токенима или ситним преносима.