Ting at vide: |
- Væksten i EVM-økosystemet gør det til et primært mål for kryptoangreb.
– Der er mange variationer og teknikker, der bruges af svindlere under Adresseforgiftningsparaplyen. – Ledger udforsker altid innovative beskyttelsesforanstaltninger for EVM-kædebrugere. |
Vi har på det seneste set en stigning i antallet af angreb mærket som "Adresseforgiftning", rettet mod EVM-kæder. Dette påvirker vores kunder, som kan miste penge, da de ender med at stole på og kopiere/indsætte dårlige adresser. Dette har været drøftet helt en masse ved hovedaktører, men indholdet online er både gentaget og alligevel teknisk ufuldstændigt, og mangler klare eksempler.
Så lad os grave i de forskellige typer adresseforgiftning! For ja, det er faktisk en familie af angreb, med variationer i deres implementering.
Forfængelighedsforgiftning: Tvinger dine adresser brutalt
Denne første type adresseforgiftning er den enkleste, og den er dækket af de fleste artikler online. For at forstå det, skal vi først tale om Vanity-adresser og vores egne menneskelige begrænsninger.
Vanity adresser
På EVM-kæder opnås adresser ved at hashe den offentlige nøgle til kontoen og kun beholde de sidste (længst til højre) 20 bytes. Disse 20 bytes formateres derefter som en hexadecimal streng på 40 tegn, og det er det, vi alle manipulerer, når vi sender/modtager ETH eller tokens.
Nu, når folk var mennesker, begyndte de at lede efter adresser efter et bestemt hexadecimalt mønster, fordi det havde et mere glat udseende. Et velkendt eksempel er 1INCHs symbolske kontrakt som har adressen 0x111111111117dc0aa78b770fa6a738034120c302
, starter med mange 1'ere 😍. Det er det, vi kalder a Forfængelighed Adresse.
1 tommer-teamet genererede det ved at udlede og hash masser af offentlige nøgler, indtil de fik en til at se ud, som de ønskede. De brugte sikkert et værktøj som Forfængelighed ETH at gøre det, hvilket ikke er svært, men snarere tidskrævende.
"Men vent, betyder det, at jeg kan finde den private nøgle til enhver Ethereum-adresse??" spørger du måske. Hvortil jeg ville svare: Forhåbentlig ikke, ellers bliver jeg nødt til hurtigt at finde et nyt job til at dække mit realkreditlån.
I virkeligheden stiger vanskeligheden ved at generere en Vanity Address ikke-lineært med antallet af tegn, du retter. Ved brug af Forfængelighed ETH, vil det tage dig flere måneder at få en adresse med 10 faste tegn. For 12 faste tegn bobler det op til flere hundrede år. Jeg vil lade dig ekstrapolere, hvor lang tid det ville tage for en komplet adresse på 40 tegn.
Hvor vil mine efterkommere se seje ud med denne adresse!
Det vigtigste er, at det med tilstrækkelig indsats er muligt at generere en adresse, der følger et bestemt mønster på nogle få af dens tegn.
Mennesker, der anmelder bytes
Som mennesker har vi en tendens til kun delvist at gennemgå adresser, når vi læser dem. Det mest almindelige mønster er kun at gennemgå nogle få af de første og sidste tegn i adresser. Selvom dette er mindre sikkert end nøjagtigt at sammenligne dem, karakter for karakter, er det meget lettere for øjnene og er vejen til mindst modstand.
Det er også noget opmuntret af de værktøjer, vi har til rådighed, da mange af dem gemmer de fleste adresser væk.
Metamask viser kun starten og slutningen af din adresse
Angrebet
I betragtning af ovenstående har nogle dårlige skuespillere indset, at de kunne:
- Se efter en aktiv brugeradresse, der er flydende med magiske internetpenge.
- Generer en vanity-adresse, der matcher de første og sidste par bytes af brugeradressen.
- Send en transaktion med et beløb på 0, eller næsten 0, fra Vanity-adressen til Brugeradressen. Det er den egentlige forgiftning: Brugeren ser nu angriberens Vanity Address i deres egen transaktionshistorik.
- Angriberen venter nu og håber, at brugeren vil begå en fejl og copy-paste deres Vanity Address, når han forsøger at sende penge til sig selv.
Da håndtering af tilfældige bytes er svært for mennesker, har vi en tendens til at kopiere enhver adresse, der ligner vores, når vi har travlt, hvilket gør dette angreb ret effektivt.
Generering af Vanity-adresser er dog tidskrævende, hvilket gør dette angreb sværere at skalere. Det er dog vigtigt at bemærke, at processen kan vendes for at gøre det billigere:
- Angriberen genererer så mange Vanity Address som muligt, som de kontrollerer.
- Angriberen ser al aktivitet på kæden og al den aktive brugeradresse.
- Hvis en aktiv brugeradresse matcher en af Vanity-adresserne, skal du starte forgiftningsprocessen.
På denne måde opgiver angriberen at målrette mod en bestemt konto, men udvider angrebsfladen.
Nul-værdi token-overførselsangreb: Trick kæden
Denne anden type forgiftning er endnu mere lumsk, da den er afhængig af at skabe ERC20s-transaktioner på dine vegne og uden dit samtykke!
For at forstå det, skal du være bekendt med on-chain events, token-godtgørelse og en lille smule soliditet.
On-chain begivenheder
På EVM-kæder kan en transaktion påvirke kædens tilstand på flere måder. Den mest almindelige er ved at flytte ETH mellem adresser, hvilket effektivt ændrer kædebalancen på de involverede konti.
En anden tilstandsændring er offentliggørelsen af begivenheder. Når du ser på en transaktion på Etherscan, kan du se de hændelser, der er genereret. Disse hændelser er, hvordan overførsler af tokens (ERC20'er, NFT'er, …) materialiseres på kæden.
Når du ser på din ERC20-transaktionshistorik, ser du virkelig på alle de Overfør (adresse indekseret _fra, adresse indekseret _to, uint256 _værdi) begivenheder, der involverer din adresse.
Om symbolsk godtgørelse
Mange avancerede brug af ERC20-tokens afhænger af, at tredjepartskontrakter får lov til at flytte penge på vegne af en bruger. Dette håndteres gennem et kort over kvoter, hvor nøglen er den tilladte adresse, og værdien er det maksimale beløb, som adressen kan flytte.
I standarden ERC-20: Token Standard godtgørelse kan kun ændres af brugeren, ved at kalde funktionen godkende (adresse _spender, uint256 _value).
Overfør i dit navn
Den eneste måde for en angriber at sende X
mængden af tokens på vegne af en anden bruger er at kalde funktionen overførFrom(adresse _fra, adresse _til, uint256 _værdi). For at kunne gøre det skal målbrugeren dog allerede have ringet approve({_spender: <attacker_address>, _value: X})
, hvilket giver dem den nødvendige godtgørelse.
Ved første øjekast virker det som en svær grænse at overvinde.
Men i betragtning af hvordan kortlægninger og standardværdier fungerer i Solidity, har hver adresse en værditilførsel 0
på hver anden adresse i standardimplementeringen af ERC20-kontrakter. Så i disse implementeringer har enhver lov til at udføre følgende overførsel, uanset om målbrugeren aktivt har givet dem tilladelse:
transferFrom({from: <user_address>, to: <attacker_address>, _value: 0})
Endnu bedre, ERC20-standarden siger, at:
Overførsler af 0-værdier SKAL behandles som normale overførsler og udløse 'Overførsel'-hændelsen.
Dette garanterer, at denne tomme overførsel altid vil generere en gyldig Transfer
hændelse, der ender med at blive vist i brugerens transaktionshistorik.
Angrebet
Ved at bruge ovenstående nyfundne viden kan vi udføre følgende angreb:
- Ring til os på
transferFrom
med en værdi på0
på velkendt ERC20-kontrakt som USDC, Matic, Uniswap... - Gør det til en overførsel fra brugeradressen til angriberadressen.
- Dette vil generere en legitim overførselsbegivenhed på kæde fra brugeradresse til angriberadresse.
- Denne hændelse vil derefter blive synkroniseret af brugerens tegnebog og vist som en gyldig overførsel.
Angriberen har nået sit mål: oprettelse af en legitim ERC20-transaktion fra et måls konto til deres egen.
I enhver standard tegnebog vil deres adresse nu blive vist i målets transaktionshistorik som en del af en gyldig handel. Brugeren er blevet forgiftet. Med lidt held (for angriberen) kan målet fejlagtigt bruge den dårlige adresse i fremtidige handler.
Her er et par eksempler på sådanne angreb på kæden:
Beskyttelse af brugere
De angreb, vi har beskrevet, har en reel indflydelse på kryptobrugere derude. De er også kun toppen af isbjerget. I deres søgen efter at få brugere til at interagere med ondsindede adresser, vil svindlere udnytte enhver form for teknisk eller menneskelig fejl. De er også meget hurtige til at tilpasse deres strategier til eventuelle modforanstaltninger, som tegnebogsproducenter måtte implementere.
Som vedligeholdere af Ledger Live, har vi et ansvar for at levere løsninger, der er sikre og forbedrer brugeroplevelsen. I betragtning af angrebenes karakter er det meget svært at forhindre dem i at ske helt. I stedet er det tegnebøgernes rolle at håndtere de giftige transaktioner anderledes for at undgå enhver mulig brugerfejl.
Så hvad er den bedste vej frem?
Det nemme svar for os er, at du aldrig bør kopiere en adresse fra din pung uden først bekræfter det på den betroede skærm på din hardwareenhed. Denne modforanstaltning har været tilgængelig siden den første Nano S blev kommercialiseret, og den har ingen kendte tekniske fejl.
Men at lade det blive ved det ville være en fejl. Mennesker er ikke maskiner: vi kan være dovne, vi kan have travlt, måske har vi ikke vores Nano med os, nogle mennesker ejer ikke engang en Ledger-enhed 😱. I hverdagen følger vi altid den mindste modstands vej. I dette tilfælde ville det være at kopiere en adresse uden at bekræfte den grundigt.
I denne sammenhæng har vores teams på produkt-, udvikler- og kundesupportsiden udforsket flere løsninger. Den enkleste, men alligevel mest effektive af dem, blev tilføjet til den seneste Ledger Live-udgivelse: Skjul transaktioner med absolutte nulbeløb.
Nu er det mest uhyggelige angreb (Zero-Value Token Transfer Attack) gjort tandløst, da mængden skal være absolut nul for at udføre det. Det er også en sikker ændring, da 99.9% af brugerne aldrig bevidst bruger absolutte nul-transaktioner. For de resterende 0.1 % er det selvfølgelig muligt at blive ved med at vise transaktionerne ved at justere de avancerede indstillinger i Ledger Live.
Samlet set har denne ændring en stor effekt, meget få ulemper og en meget kort tid til markedet. For andre versioner af adresseforgiftningsangrebene udforsker vi forskellige løsninger såsom sikre adressebøger, registrering af svindeladresser og mange flere!
Sikring af fremtiden
Mens kryptoverdenen fortsætter med at udvikle sig, søger dårlige aktører ubønhørligt nye måder at udnytte sårbarheder og målrette mod intetanende brugere. Adresseforgiftning er et glimrende eksempel på sådanne ondsindede angreb, der forgriber sig på begrænsningerne af både teknologi og menneskelig natur. Ved at kaste lys over de forskellige typer adresseforgiftningsangreb og dissekere deres underliggende mekanismer, sigter vi mod at øge bevidstheden og give dig mulighed for at træffe informerede beslutninger i din kryptorejse.
For at bekæmpe disse stadigt udviklende trusler er det afgørende for tegnebogsudbydere, som Ledger Live, og det bredere kryptofællesskab at forblive på vagt, samarbejde og udvikle innovative løsninger til at beskytte brugerne. Da vi løbende forbedrer sikkerhedsforanstaltninger og brugeroplevelse, opfordrer vi brugerne til at holde sig informeret, udvise forsigtighed og vedtage anbefalede bedste fremgangsmåder.
Ligesom forsøg fra svindlere på at bedrage dig, er den grupperede indsats fra Ledger-holdene for at beskytte dig altid i gang. Det vil give regelmæssige forbedringer til din daglige oplevelse på Ledger Live, så hold øje med ændringer i fremtidige udgivelser!
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- PlatoAiStream. Web3 Data Intelligence. Viden forstærket. Adgang her.
- Udmøntning af fremtiden med Adryenn Ashley. Adgang her.
- Køb og sælg aktier i PRE-IPO-virksomheder med PREIPO®. Adgang her.
- Kilde: https://www.ledger.com/blog/address-poisoning
- :har
- :er
- :ikke
- :hvor
- $OP
- 10
- 12
- 1inch
- 20
- 22
- 250
- 40
- a
- I stand
- Om
- over
- absolutte
- Konto
- Konti
- aktivt
- aktivitet
- aktører
- faktiske
- faktisk
- tilpasse
- tilføjet
- adresse
- adresser
- vedtage
- fremskreden
- påvirke
- sigte
- Alle
- allerede
- også
- altid
- beløb
- beløb
- an
- ,
- En anden
- besvare
- Antidote
- enhver
- nogen
- ER
- artikler
- AS
- At
- angribe
- Angreb
- Forsøg på
- til rådighed
- undgå
- bevidsthed
- væk
- Bad
- Balance
- BE
- fordi
- været
- være
- BEDSTE
- bedste praksis
- Bedre
- mellem
- binance
- Bit
- Bøger
- både
- bredere
- men
- by
- ringe
- ringer
- CAN
- forsigtighed
- vis
- kæde
- kæder
- lave om
- ændret
- Ændringer
- skiftende
- karakter
- tegn
- billigere
- klar
- kunder
- samarbejde
- bekæmpe
- Fælles
- samfund
- sammenligne
- fuldføre
- indhold
- sammenhæng
- fortsætter
- kontinuerligt
- kontrakt
- kontrakter
- kontrol
- Cool
- kopiering
- kunne
- Kursus
- dæksel
- dækket
- Oprettelse af
- afgørende
- krypto
- crypto samfund
- kryptobrugere
- krypto-verden
- kunde
- Kunde support
- dag til dag
- afgørelser
- Standard
- indsætte
- beskrevet
- Detektion
- udvikle
- Udvikler
- forskellige
- svært
- Vanskelighed
- DIG
- do
- gør
- Dont
- ulemper
- lettere
- let
- økosystem
- Effektiv
- effektivt
- effektiv
- indsats
- bemyndige
- tilskynde
- tilskyndes
- ende
- helt
- ERC20
- ERC20-tokens
- ETH
- ethereum
- etherscan
- Endog
- begivenhed
- begivenheder
- Hver
- hverdagen
- EVM
- udvikle sig
- præcist nok
- eksempel
- eksempler
- udføre
- erfaring
- Exploit
- Udforskning
- Øjne
- bekendt
- familie
- få
- Finde
- Brand
- Fornavn
- Fix
- fast
- fejl
- følger
- efter
- følger
- Til
- Videresend
- fundet
- fra
- fonde
- fremtiden
- generere
- genereret
- genererer
- generere
- få
- given
- giver
- Give
- mål
- stor
- Vækst
- garantier
- havde
- håndtere
- Håndtering
- Happening
- Hård Ost
- Hardware
- hashing
- Have
- Skjule
- historie
- Forhåbentlig
- håber
- Hvordan
- Men
- http
- HTTPS
- menneskelig
- Mennesker
- hundrede
- i
- SYG
- KIMOs Succeshistorier
- Påvirkninger
- implementering
- vigtigt
- Forbedre
- forbedringer
- in
- Forøg
- Stigninger
- informeret
- innovativ
- instans
- i stedet
- interagere
- Internet
- ind
- involvere
- involverede
- IT
- ITS
- Job
- rejse
- Holde
- holde
- Nøgle
- nøgler
- Venlig
- Kend
- viden
- kendt
- Efternavn
- seneste
- mindst
- forlader
- Ledger
- Ledger Live
- til venstre
- legitim
- mindre
- lad
- Livet
- lys
- ligesom
- GRÆNSE
- begrænsninger
- lidt
- leve
- Lang
- Se
- leder
- UDSEENDE
- miste
- Lot
- held
- Maskiner
- Magic
- Magiske internetpenge
- lave
- Makers
- maerker
- mange
- kort
- Marked
- Matic
- max
- max-bredde
- Kan..
- betyde
- foranstaltninger
- mekanismer
- måske
- mangler
- fejltagelse
- penge
- måned
- mere
- Pant
- mest
- bevæge sig
- flytning
- meget
- flere
- skal
- my
- nano
- Natur
- Behov
- aldrig
- Ny
- NFT'er
- ingen
- normal
- nu
- nummer
- opnået
- of
- on
- On-Chain
- on-chain aktivitet
- ONE
- igangværende
- online
- kun
- or
- Andet
- vores
- ud
- Overvind
- egen
- del
- sti
- Mønster
- Mennesker
- Udfør
- plato
- Platon Data Intelligence
- PlatoData
- mulig
- praksis
- praksis
- smuk
- forhindre
- Prime
- private
- private nøgle
- sandsynligvis
- behandle
- Produkt
- beskytte
- Beskyttende
- give
- udbydere
- offentlige
- offentlig nøgle
- offentlige nøgler
- Offentliggørelse
- Quest
- Hurtig
- hurtigt
- rejse
- tilfældig
- hellere
- nået
- Læsning
- ægte
- Reality
- gik op for
- virkelig
- anbefales
- Uanset
- fast
- frigive
- resterende
- repetitiv
- påkrævet
- Modstand
- ansvar
- gennemgå
- gennemgå
- roller
- haste
- s
- sikker
- Scale
- Fup
- Snydere
- Skærm
- Anden
- sikker
- sikkerhed
- Sikkerhedsforanstaltninger
- Søg
- synes
- set
- Sees
- send
- indstillinger
- flere
- Kort
- bør
- Shows
- sider
- Syn
- siden
- So
- soliditet
- Løsninger
- nogle
- noget
- specifikke
- standard
- starte
- påbegyndt
- Starter
- Tilstand
- Stater
- forblive
- strategier
- String
- sådan
- tilstrækkeligt
- support
- overflade
- Tag
- Tal
- mål
- rettet mod
- hold
- hold
- Teknisk
- teknikker
- Teknologier
- end
- at
- Staten
- deres
- Them
- selv
- derefter
- Der.
- Disse
- de
- tredjepart
- denne
- grundigt
- selvom?
- trusler
- Gennem
- tid
- tip
- til
- token
- Tokens
- værktøj
- værktøjer
- handle
- handler
- transaktion
- Transaktioner
- overførsel
- overførsler
- betroet
- tillidsfuld
- tweaking
- typen
- typer
- paraply
- under
- underliggende
- forstå
- indtil
- us
- Brug
- USDC
- brug
- anvendte
- Bruger
- Brugererfaring
- brugere
- værdi
- Værdier
- FORFÆNGELIGHED
- verificere
- meget
- Sårbarheder
- vente
- tegnebog
- Tegnebøger
- Punge
- ønskede
- var
- ure
- Vej..
- måder
- we
- Kendt
- Hvad
- Hvad er
- hvornår
- hvorvidt
- som
- mens
- WHO
- vilje
- med
- uden
- Arbejde
- ville
- år
- Ja
- endnu
- Udbytte
- Du
- Din
- Zendesk
- zephyrnet
- nul