Ting å vite: |
- Veksten av EVM-økosystemet gjør det til et hovedmål for kryptoangrep.
– Det er mange varianter og teknikker som brukes av svindlere under Adresseforgiftningsparaplyen. – Ledger utforsker alltid innovative beskyttelsestiltak for EVM-kjedebrukere. |
Vi har i det siste sett en økning i antall angrep merket som "Adresseforgiftning", rettet mot EVM-kjeder. Dette påvirker kundene våre som kan tape penger ettersom de ender opp med å stole på og kopiere/lime inn dårlige adresser. Dette har vært diskutert ganske mye ved hoved aktører, men innholdet på nettet er både repeterende og likevel teknisk ufullstendig, og mangler klare eksempler.
Så la oss grave i de forskjellige typene adresseforgiftning! For ja, det er faktisk en familie av angrep, med variasjoner i implementeringen.
Forfengelighetsforgiftning: Kraftig tvang av adressene dine
Denne første typen adresseforgiftning er den enkleste, og den dekkes av de fleste artikler på nettet. For å forstå det, må vi først snakke om Vanity-adresser, og våre egne menneskelige begrensninger.
Vanity-adresser
På EVM-kjeder oppnås adresser ved å hashe den offentlige nøkkelen til kontoen, og bare beholde de siste (lengst til høyre) 20 bytene. Disse 20 bytene blir deretter formatert som en heksadesimal streng på 40 tegn, og det er det vi alle manipulerer når vi sender/mottar ETH eller tokens.
Når folk nå var mennesker, begynte de å lete etter adresser etter et visst heksadesimalt mønster, fordi det hadde et mer slankere utseende. Et kjent eksempel er 1INCHs symbolske kontrakt som har adressen 0x111111111117dc0aa78b770fa6a738034120c302
, starter med mange 1-ere 😍. Det er det vi kaller a Vanity-adresse.
1-tommers-teamet genererte det ved å utlede og hashe mange offentlige nøkler, helt til de fikk en som så ut slik de ønsket. De brukte sannsynligvis et verktøy som Forfengelighet ETH å gjøre det, noe som ikke er vanskelig, men heller tidkrevende.
"Men vent, betyr det at jeg kan finne den private nøkkelen til en hvilken som helst Ethereum-adresse??" spør du kanskje. Som jeg vil svare: Forhåpentligvis ikke, eller jeg må raskt finne en ny jobb for å dekke boliglånet mitt.
I virkeligheten øker vanskeligheten med å generere en Vanity Address ikke-lineært med antall tegn du fikser. Ved hjelp av Forfengelighet ETH, vil det ta deg flere måneder å få en adresse med 10 faste tegn. For 12 faste tegn bobler det opp til flere hundre år. Jeg lar deg ekstrapolere hvor lang tid det vil ta for en fullstendig adresse på 40 tegn.
Så kule mine etterkommere vil se ut med denne adressen!
Nøkkelen er at det med tilstrekkelig innsats er mulig å generere en adresse som følger et bestemt mønster på noen av tegnene.
Mennesker som vurderer bytes
Som mennesker har vi en tendens til å bare delvis vurdere adresser når vi leser dem. Det vanligste mønsteret er å bare gjennomgå noen få av de første og siste tegnene i adressene. Selv om dette er mindre sikkert enn å nøyaktig sammenligne dem, karakter for karakter, er det mye lettere for øynene og er veien til minst motstand.
Det er også noe oppmuntret av verktøyene som er tilgjengelige for oss siden mange av dem skjuler de fleste adressene.
Metamask viser bare starten og slutten av adressen din
Angrepet
Gitt ovenstående har noen dårlige skuespillere innsett at de kunne:
- Se etter en aktiv brukeradresse som er i flukt med magiske internettpenger.
- Generer en Vanity Address som samsvarer med de første og siste bytene av brukeradressen.
- Send en transaksjon med et beløp på 0, eller nesten 0, fra Vanity Address til User Address. Det er selve forgiftningen: Brukeren ser nå angriperens Vanity Address i sin egen transaksjonshistorikk.
- Angriperen venter nå og håper at brukeren vil gjøre en feil og kopiere og lime inn Vanity Address når han prøver å sende penger til seg selv.
Siden håndtering av tilfeldige bytes er vanskelig for mennesker, har vi en tendens til å kopiere en hvilken som helst adresse som ser ut som vår når det haster, noe som gjør dette angrepet ganske effektivt.
Generering av Vanity-adresser er imidlertid tidkrevende, noe som gjør dette angrepet vanskeligere å skalere. Det er imidlertid viktig å merke seg at prosessen kan reverseres for å gjøre det billigere:
- Angriperen genererer så mange Vanity Address som mulig som de kontrollerer.
- Angriperen ser på all aktivitet i kjeden og alle aktive brukeradresser.
- Hvis en aktiv brukeradresse samsvarer med en av Vanity-adressene, start forgiftningsprosessen.
På denne måten gir angriperen opp å målrette mot en spesifikk konto, men utvider angrepsflaten.
Nullverdi-tokenoverføringsangrep: Lurer kjeden
Denne andre typen forgiftning er enda mer lumsk ettersom den er avhengig av å lage ERC20s-transaksjoner på dine vegne, og uten ditt samtykke!
For å forstå det, må du være kjent med hendelser i kjeden, tokengodtgjørelse og litt soliditet.
Arrangementer i kjeden
På EVM-kjeder kan en transaksjon påvirke tilstanden til kjeden på flere måter. Den vanligste er å flytte ETH mellom adresser, og effektivt endre kjedebalansen til de involverte kontoene.
En annen tilstandsendring er publisering av Events. Når du ser på en transaksjon på Etherscan, kan du se hendelsene som er generert. Disse hendelsene er hvordan overføringer av tokens (ERC20s, NFTs, ...) materialiseres på kjede.
Når du ser på ERC20-transaksjonshistorikken din, ser du virkelig på alle Overfør (adresse indeksert _fra, adresse indeksert _til, uint256 _verdi) hendelser som involverer adressen din.
Om symbolgodtgjørelse
Mange avansert bruk av ERC20-tokens er avhengig av at tredjepartskontrakter får lov til å flytte midler på vegne av en bruker. Dette håndteres gjennom et kart over kvoter der nøkkelen er den tillatte adressen, og verdien er det maksimale beløpet som adressen kan flytte.
I standarden ERC-20: Token Standard godtgjørelse kan kun endres av brukeren ved å kalle opp funksjonen godkjenne(adresse _spender, uint256 _value).
Overfør i ditt navn
Den eneste måten for en angriper å sende X
antall tokens på vegne av en annen bruker er å kalle funksjonen transferFrom(adresse _fra, adresse _til, uint256 _verdi). For å kunne gjøre det, må målbrukeren imidlertid allerede ha ringt approve({_spender: <attacker_address>, _value: X})
, og gir dem den nødvendige godtgjørelsen.
Ved første øyekast virker det som en vanskelig grense å overkomme.
Men gitt hvordan tilordninger og standardverdier fungerer i Solidity, har hver adresse en verdigodkjenning 0
på annenhver adresse i standardimplementeringen av ERC20-kontrakter. Så i disse implementeringene har alle lov til å utføre følgende overføring, uavhengig av om målbrukeren aktivt har gitt dem tillatelse:
transferFrom({from: <user_address>, to: <attacker_address>, _value: 0})
Enda bedre, ERC20-standarden sier at:
Overføringer av 0 verdier MÅ behandles som normale overføringer og utløse "Transfer"-hendelsen.
Dette garanterer at denne tomme overføringen alltid vil generere en gyldig Transfer
hendelse som vil ende opp med å bli vist i brukerens transaksjonshistorikk.
Angrepet
Ved å bruke den nyfunne kunnskapen ovenfor, kan vi utføre følgende angrep:
- Anrop
transferFrom
med en verdi på0
på velkjente ERC20-kontrakter som USDC, Matic, Uniswap... - Gjør det til en overføring fra brukeradressen til angriperadressen.
- Dette vil generere en legitim overføringshendelse på kjede fra brukeradresse til angriperadresse.
- Denne hendelsen vil da bli synkronisert av brukerens lommebok, og vises som en gyldig overføring.
Angriperen har nådd målet sitt: opprette en legitim ERC20-transaksjon fra et måls konto til sin egen.
I enhver standard lommebok vil adressen deres nå vises i målets transaksjonshistorikk som en del av en gyldig handel. Brukeren har blitt forgiftet. Med litt flaks (for angriperen) kan målet feilaktig bruke den dårlige adressen i fremtidige handler.
Her er noen eksempler på slike angrep på kjeden:
Beskytte brukere
Angrepene vi har beskrevet har en reell innvirkning på kryptobrukere der ute. De er også bare toppen av isfjellet. I deres søken etter å få brukere til å samhandle med ondsinnede adresser, vil svindlere utnytte enhver form for teknisk eller menneskelig feil. De er også veldig raske til å tilpasse strategiene sine til eventuelle mottiltak som lommebokprodusenter kan ta i bruk.
Som vedlikeholdere av Ledger Live, har vi et ansvar for å tilby løsninger som er sikre og forbedrer brukeropplevelsen. Gitt arten av angrepene, er det svært vanskelig å forhindre at de skjer helt. I stedet er det lommebokenes rolle å håndtere de giftige transaksjonene annerledes for å unngå eventuelle brukerfeil.
Så hva er den beste veien videre?
Det enkle svaret for oss er at du aldri bør kopiere en adresse fra lommeboken, uten først verifisere det på den pålitelige skjermen på maskinvareenheten din. Dette mottiltaket har vært tilgjengelig siden den første Nano S ble kommersialisert, og den har ingen kjent teknisk feil.
Men å la det ligge ved det ville være en feil. Mennesker er ikke maskiner: vi kan være late, vi kan ha det travelt, kanskje vi ikke har Nanoen vår med oss, noen mennesker eier ikke engang en Ledger-enhet 😱. I hverdagen følger vi alltid minst motstands vei. I dette tilfellet vil det være å kopiere en adresse uten å verifisere den grundig.
I denne sammenhengen har teamene våre på produkt-, utvikler- og kundestøttesiden utforsket flere løsninger. Den enkleste, men mest effektive av dem, ble lagt til den siste Ledger Live-utgivelsen: Skjul transaksjoner med absolutte nullbeløp.
Nå er det mest ondsinnede angrepet (Zero-Value Token Transfer Attack) gjort tannløst ettersom beløpet må være absolutt null for å utføre det. Det er også en trygg endring ettersom 99.9 % av brukerne aldri med vilje bruker absolutte null-transaksjoner. For de resterende 0.1 % er det selvfølgelig mulig å fortsette å vise transaksjonene ved å justere de avanserte innstillingene til Ledger Live.
Totalt sett har denne endringen stor innvirkning, svært få ulemper og svært kort tid til markedet. For andre versjoner av adresseforgiftningsangrepene utforsker vi forskjellige løsninger som sikre adressebøker, gjenkjenning av svindeladresser og mange flere!
Sikre fremtiden
Mens kryptoverdenen fortsetter å utvikle seg, søker dårlige aktører nådeløst nye måter å utnytte sårbarheter og målrette mot intetanende brukere. Adresseforgiftning er et godt eksempel på slike ondsinnede angrep som tærer på begrensningene til både teknologi og menneskelig natur. Ved å kaste lys over de forskjellige typene adresseforgiftningsangrep og dissekere deres underliggende mekanismer, tar vi sikte på å øke bevisstheten og gi deg mulighet til å ta informerte beslutninger i kryptoreisen din.
For å bekjempe disse stadig utviklende truslene, er det avgjørende for lommebokleverandører, som Ledger Live, og det bredere kryptosamfunnet å holde seg på vakt, samarbeide og utvikle innovative løsninger for å beskytte brukere. Ettersom vi kontinuerlig forbedrer sikkerhetstiltak og brukeropplevelse, oppfordrer vi brukere til å holde seg informert, utvise forsiktighet og ta i bruk anbefalte beste fremgangsmåter.
Akkurat som forsøk fra svindlere på å svindle deg, er den grupperte innsatsen til Ledger-teamene for å beskytte deg alltid pågående. Det vil gi regelmessige forbedringer av din daglige opplevelse på Ledger Live, så se opp for endringer i fremtidige utgivelser!
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoAiStream. Web3 Data Intelligence. Kunnskap forsterket. Tilgang her.
- Minting the Future med Adryenn Ashley. Tilgang her.
- Kjøp og selg aksjer i PRE-IPO-selskaper med PREIPO®. Tilgang her.
- kilde: https://www.ledger.com/blog/address-poisoning
- : har
- :er
- :ikke
- :hvor
- $OPP
- 10
- 12
- 1inch
- 20
- 22
- 250
- 40
- a
- I stand
- Om oss
- ovenfor
- Absolute
- Logg inn
- kontoer
- aktivt
- aktivitet
- aktører
- faktiske
- faktisk
- tilpasse
- la til
- adresse
- adresser
- adoptere
- avansert
- påvirke
- sikte
- Alle
- allerede
- også
- alltid
- beløp
- beløp
- an
- og
- En annen
- besvare
- Antidote
- noen
- noen
- ER
- artikler
- AS
- At
- angripe
- Angrep
- forsøk
- tilgjengelig
- unngå
- bevissthet
- borte
- dårlig
- Balansere
- BE
- fordi
- vært
- være
- BEST
- beste praksis
- Bedre
- mellom
- binance
- Bit
- bøker
- både
- bredere
- men
- by
- ring
- ringer
- CAN
- forsiktighet
- viss
- kjede
- kjeder
- endring
- endret
- Endringer
- endring
- karakter
- tegn
- billigere
- fjerne
- klienter
- samarbeide
- bekjempe
- Felles
- samfunnet
- sammenligne
- fullføre
- innhold
- kontekst
- fortsetter
- kontinuerlig
- kontrakt
- kontrakter
- kontroll
- Kul
- kopiering
- kunne
- Kurs
- dekke
- dekket
- Opprette
- avgjørende
- krypto
- kryptomiljøet
- kryptobrukere
- kryptoverden
- kunde
- Kundeservice
- dag til dag
- avgjørelser
- Misligholde
- utplassere
- beskrevet
- Gjenkjenning
- utvikle
- Utvikler
- forskjellig
- vanskelig
- Vanskelighetsgrad
- DIG
- do
- gjør
- ikke
- ulemper
- enklere
- lett
- økosystem
- Effektiv
- effektivt
- effektiv
- innsats
- bemyndige
- oppmuntre
- oppfordret
- slutt
- fullstendig
- ERC20
- ERC20-symboler
- ETH
- ethereum
- eterskanning
- Selv
- Event
- hendelser
- Hver
- hverdagen
- EVM
- utvikle seg
- nøyaktig
- eksempel
- eksempler
- henrette
- erfaring
- Exploit
- Utforske
- øyne
- kjent
- familie
- Noen få
- Finn
- Brann
- Først
- Fix
- fikset
- feil
- følge
- etter
- følger
- Til
- Forward
- funnet
- fra
- midler
- framtid
- generere
- generert
- genererer
- genererer
- få
- gitt
- gir
- Giving
- mål
- flott
- Vekst
- garantier
- HAD
- håndtere
- Håndtering
- Skjer
- Hard
- maskinvare
- hashing
- Ha
- Gjemme seg
- historie
- forhåpentligvis
- håper
- Hvordan
- Men
- http
- HTTPS
- menneskelig
- Mennesker
- hundre
- i
- JEG VIL
- Påvirkning
- Konsekvenser
- gjennomføring
- viktig
- forbedre
- forbedringer
- in
- Øke
- øker
- informert
- innovative
- f.eks
- i stedet
- samhandle
- Internet
- inn
- involvere
- involvert
- IT
- DET ER
- Jobb
- reise
- Hold
- holde
- nøkkel
- nøkler
- Type
- Vet
- kunnskap
- kjent
- Siste
- siste
- minst
- forlater
- Ledger
- Ledger Live
- venstre
- legitim
- mindre
- la
- Life
- lett
- i likhet med
- BEGRENSE
- begrensninger
- lite
- leve
- Lang
- Se
- ser
- UTSEENDE
- å miste
- Lot
- flaks
- maskiner
- magi
- Magiske internettpenger
- gjøre
- Makers
- GJØR AT
- mange
- kart
- marked
- Matic
- max
- max bredde
- Kan..
- bety
- målinger
- mekanismer
- kunne
- mangler
- feil
- penger
- måneder
- mer
- Boliglån
- mest
- flytte
- flytting
- mye
- flere
- må
- my
- nano
- Natur
- Trenger
- aldri
- Ny
- NFT-er
- Nei.
- normal
- nå
- Antall
- innhentet
- of
- on
- On-Chain
- aktivitet på kjeden
- ONE
- pågående
- på nett
- bare
- or
- Annen
- vår
- ut
- Overcome
- egen
- del
- banen
- Mønster
- Ansatte
- Utfør
- plato
- Platon Data Intelligence
- PlatonData
- mulig
- praksis
- praksis
- pen
- forebygge
- Prime
- privat
- private Key
- sannsynligvis
- prosess
- Produkt
- beskytte
- Beskyttende
- gi
- tilbydere
- offentlig
- offentlig Key
- offentlige nøkler
- Utgivelse
- søken
- Rask
- raskt
- heve
- tilfeldig
- heller
- nådd
- Lesning
- ekte
- Reality
- realisert
- virkelig
- anbefales
- Uansett
- regelmessig
- slipp
- gjenværende
- repeterende
- påkrevd
- Motstand
- ansvar
- anmeldelse
- gjennomgå
- Rolle
- jag
- s
- trygge
- Skala
- Svindel
- svindlere
- Skjerm
- Sekund
- sikre
- sikkerhet
- Sikkerhetstiltak
- Søke
- synes
- sett
- Sees
- send
- innstillinger
- flere
- Kort
- bør
- Viser
- Tilbehør
- Syn
- siden
- So
- soliditet
- Solutions
- noen
- noe
- spesifikk
- Standard
- Begynn
- startet
- Start
- Tilstand
- Stater
- opphold
- strategier
- String
- slik
- tilstrekkelig
- støtte
- overflaten
- Ta
- Snakk
- Target
- rettet mot
- lag
- lag
- Teknisk
- teknikker
- Teknologi
- enn
- Det
- De
- Staten
- deres
- Dem
- seg
- deretter
- Der.
- Disse
- de
- tredjeparts
- denne
- grundig
- selv om?
- trusler
- Gjennom
- tid
- typen
- til
- token
- tokens
- verktøy
- verktøy
- handel
- handler
- Transaksjonen
- Transaksjoner
- overføre
- overføringer
- klarert
- stole på
- tweaking
- typen
- typer
- paraply
- etter
- underliggende
- forstå
- til
- us
- bruk
- USDC
- bruke
- brukt
- Bruker
- Brukererfaring
- Brukere
- verdi
- Verdier
- FORFENGELIGHET
- verifisere
- veldig
- Sikkerhetsproblemer
- vente
- lommebok
- Lommebokmakere
- Lommebøker
- ønsket
- var
- klokker
- Vei..
- måter
- we
- velkjent
- Hva
- Hva er
- når
- om
- hvilken
- mens
- HVEM
- vil
- med
- uten
- Arbeid
- ville
- år
- ja
- ennå
- Utbytte
- Du
- Din
- Zendesk
- zephyrnet
- null