Svindlere retter seg mot kryptobrukere med et nytt «nullverdi TransferFrom»-triks

Data fra Etherscan viser at noen kryptosvindlere retter seg mot brukere med et nytt triks som lar dem bekrefte en transaksjon fra offerets lommebok, men uten å ha offerets private nøkkel. Angrepet kan bare utføres for transaksjoner med 0 verdi. Det kan imidlertid føre til at enkelte brukere ved et uhell sender tokens til angriperen som et resultat av å klippe og lime inn fra en kapret transaksjonshistorikk.

Blockchain-sikkerhetsfirmaet SlowMist oppdaget den nye teknikken i desember og avslørte den i et blogginnlegg. Siden den gang har både SafePal og Etherscan tatt i bruk avbøtende teknikker for å begrense effekten på brukerne, men noen brukere kan fortsatt være uvitende om eksistensen.

Ifølge innlegget fra SlowMist fungerer svindelen ved å sende en transaksjon på null tokens fra offerets lommebok til en adresse som ligner på en som offeret tidligere hadde sendt tokens til.

For eksempel, hvis offeret sendte 100 mynter til en vekslingsinnskuddsadresse, kan angriperen sende null mynter fra offerets lommebok til en adresse som ligner, men som faktisk er under kontroll av angriperen. Offeret kan se denne transaksjonen i sin transaksjonshistorikk og konkludere med at adressen som vises er riktig innskuddsadresse. Som et resultat kan de sende myntene sine direkte til angriperen.

Sender en transaksjon uten eiertillatelse 

Under normale omstendigheter trenger en angriper offerets private nøkkel for å sende en transaksjon fra offerets lommebok. Men Etherscans "contract tab"-funksjon avslører at det er et smutthull i noen token-kontrakter som kan tillate en angriper å sende en transaksjon fra hvilken som helst lommebok.

For eksempel koden for USD Coin (USDC) på Etherscan viser at "TransferFrom"-funksjonen lar enhver person flytte mynter fra en annen persons lommebok så lenge mengden mynter de sender er mindre enn eller lik beløpet tillatt av eieren av adressen.

Dette betyr vanligvis at en angriper ikke kan foreta en transaksjon fra en annen persons adresse med mindre eieren godkjenner en kvote for vedkommende.

Det er imidlertid et smutthull i denne begrensningen. Det tillatte beløpet er definert som et tall (kalt "uint256-typen"), noe som betyr at det tolkes som null med mindre det er spesifikt satt til et annet tall. Dette kan sees i «godtgjørelse»-funksjonen.

Som et resultat, så lenge verdien av angriperens transaksjon er mindre enn eller lik null, kan de sende en transaksjon fra absolutt hvilken som helst lommebok de vil, uten å trenge den private nøkkelen eller forhåndsgodkjenning fra eieren.

USDC er ikke det eneste tokenet som lar dette gjøres. Lignende kode kan finnes i de fleste token-kontrakter. Det kan til og med være funnet i eksempelet kontrakter lenket fra Ethereum Foundations offisielle nettsted.

Eksempler på nullverdioverføringssvindel

Etherscan viser at noen lommebokadresser sender tusenvis av transaksjoner med null verdi per dag fra ulike ofres lommebøker uten deres samtykke.

For eksempel brukte en konto merket Fake_Phishing7974 en ubekreftet smart kontrakt til utføre mer enn 80 bunter med transaksjoner 12. januar, med hver bunt inneholder 50 nullverditransaksjoner for totalt 4,000 uautoriserte transaksjoner på en dag.

Villedende adresser

Å se nærmere på hver transaksjon avslører et motiv for denne søppelposten: Angriperen sender transaksjoner med null verdi til adresser som ligner veldig på de ofrene tidligere sendte penger til.

For eksempel viser Etherscan at en av brukeradressene angriperen målretter mot er følgende:

0x20d7f90d9c40901488a935870e1e80127de11d74.

Den 29. januar godkjente denne kontoen at 5,000 Tether (USDT) ble sendt til denne mottaksadressen:

0xa541efe60f274f813a834afd31e896348810bb09.

Umiddelbart etterpå sendte Fake_Phishing7974 en transaksjon med null verdi fra offerets lommebok til denne adressen:

0xA545c8659B0CD5B426A027509E55220FDa10bB09.

De første fem tegnene og de siste seks tegnene i disse to mottaksadressene er nøyaktig like, men tegnene i midten er alle helt forskjellige. Angriperen kan ha tenkt at brukeren skulle sende USDT til denne andre (falske) adressen i stedet for den ekte, og gi myntene sine til angriperen.

I dette spesielle tilfellet ser det ut til at svindelen ikke fungerte, da Etherscan ikke viser noen transaksjoner fra denne adressen til en av de falske adressene svindleren har opprettet. Men gitt volumet av transaksjoner med nullverdi utført av denne kontoen, kan planen ha fungert i andre tilfeller.

Lommebøker og blokkutforskere kan variere betydelig med hensyn til hvordan eller om de viser villedende transaksjoner.

Lommebøker

Noen lommebøker viser kanskje ikke spamtransaksjonene i det hele tatt. For eksempel viser MetaMask ingen transaksjonshistorikk hvis den installeres på nytt, selv om kontoen selv har hundrevis av transaksjoner på blokkjeden. Dette innebærer at den lagrer sin egen transaksjonshistorikk i stedet for å trekke dataene fra blokkjeden. Dette bør forhindre at spam-transaksjonene vises i lommebokens transaksjonshistorikk.

På den annen side, hvis lommeboken trekker data direkte fra blokkjeden, kan spamtransaksjonene dukke opp i lommebokens skjerm. I en kunngjøring 13. desember på Twitter sa SafePal-sjef Veronica Wong advarte SafePal-brukere at lommeboken kan vise transaksjonene. For å redusere denne risikoen sa hun at SafePal endret måten adresser vises på i nyere versjoner av lommeboken for å gjøre det lettere for brukere å inspisere adresser.

I desember rapporterte en bruker også at Trezor-lommeboken deres var visning villedende transaksjoner.

Cointelegraph kontaktet via e-post til Trezor-utvikleren SatoshiLabs for kommentar. Som svar uttalte en representant at lommeboken trekker transaksjonshistorikken direkte fra blokkjeden "hver gang brukere kobler til Trezor-lommeboken."

Imidlertid tar teamet skritt for å beskytte brukere mot svindelen. I en kommende Trezor Suite-oppdatering vil programvaren "flagge de mistenkelige transaksjonene med nullverdi slik at brukere blir varslet om at slike transaksjoner potensielt er uredelige." Selskapet uttalte også at lommeboken alltid viser den fullstendige adressen til hver transaksjon, og at de "anbefaler på det sterkeste at brukere alltid sjekker hele adressen, ikke bare de første og siste tegnene."

Blokker oppdagelsesreisende

Bortsett fra lommebøker, er blokkutforskere en annen type programvare som kan brukes til å se transaksjonshistorikk. Noen utforskere kan vise disse transaksjonene på en slik måte at de utilsiktet villeder brukere, akkurat som noen lommebøker gjør.

For å redusere denne trusselen har Etherscan begynt å gråne tokentransaksjoner med nullverdi som ikke er initiert av brukeren. Den flagger også disse transaksjonene med et varsel som sier: "Dette er en tokenoverføring med null verdi initiert av en annen adresse," som det fremgår av bildet nedenfor.

Andre blokkutforskere kan ha tatt de samme trinnene som Etherscan for å advare brukere om disse transaksjonene, men noen har kanskje ikke implementert disse trinnene ennå.

Tips for å unngå "nullverdi TransferFrom"-trikset

Cointelegraph tok kontakt med SlowMist for å få råd om hvordan du unngår å bli offer for «nullverdi TransferFrom»-trikset.

En representant fra selskapet ga Cointelegraph en liste med tips for å unngå å bli et offer for angrepet:

  1. "Vær forsiktig og bekreft adressen før du utfører noen transaksjoner."
  2. "Bruk hvitelistefunksjonen i lommeboken din for å forhindre sending av penger til feil adresser."
  3. «Hold deg på vakt og informert. Hvis du møter mistenkelige overføringer, ta deg tid til å undersøke saken rolig for å unngå å bli offer for svindlere.»
  4. "Oppretthold et sunt nivå av skepsis, vær alltid forsiktig og årvåken."

Ut fra dette rådet å dømme, er det viktigste for kryptobrukere å huske å alltid sjekke adressen før du sender krypto til den. Selv om transaksjonsposten ser ut til å antyde at du har sendt krypto til adressen før, kan dette utseendet være lurt.