Dingen om te weten: |
- De groei van het EVM-ecosysteem maakt het een belangrijk doelwit voor crypto-aanvallen.
– Er zijn veel variaties en technieken die worden gebruikt door oplichters onder de paraplu van Adresvergiftiging. – Ledger onderzoekt altijd innovatieve beschermingsmaatregelen voor EVM-ketengebruikers. |
We hebben de laatste tijd een toename gezien van het aantal aanvallen die worden bestempeld als “Adresvergiftiging”, gericht op EVM-ketens. Dit heeft gevolgen voor onze klanten, die mogelijk geld verliezen omdat ze uiteindelijk slechte adressen vertrouwen en kopiëren/plakken. Dit is geweest besproken heel veel Door de hoofdrolspelers, maar de inhoud online is zowel repetitief als toch technisch onvolledig, en er ontbreken duidelijke voorbeelden.
Laten we dus eens kijken naar de verschillende soorten adresvergiftiging! Want ja, het is eigenlijk een familie van aanvallen, met variaties in de implementatie ervan.
Vanity Poisoning: brute forceren van uw adressen
Dit eerste type adresvergiftiging is de eenvoudigste en wordt in de meeste online artikelen besproken. Om het te begrijpen, moeten we eerst praten over Vanity-adressen en onze eigen menselijke beperkingen.
Vanity-adressen
Op EVM-ketens worden adressen verkregen door de openbare sleutel van het account te hashen en alleen de laatste (meest rechtse) 20 bytes te behouden. Deze 20 bytes worden vervolgens geformatteerd als een hexadecimale reeks van 40 tekens, en dat is wat we allemaal manipuleren bij het verzenden/ontvangen van ETH of tokens.
Omdat mensen mensen waren, gingen ze op zoek naar adressen die een bepaald hexadecimaal patroon volgden, omdat het er gelikter uitzag. Een bekend voorbeeld is Het tokencontract van 1INCH waar het adres op staat 0x111111111117dc0aa78b770fa6a738034120c302
, beginnend met veel 1-en 😍. Dat noemen wij een Vanity-adres.
Het 1inch-team heeft het gegenereerd door veel openbare sleutels af te leiden en te hashen, totdat ze er een kregen die er uitzag zoals ze wilden. Waarschijnlijk gebruikten ze een tool als Vanity ETH om dit te doen, wat niet moeilijk is, maar eerder tijdrovend.
“Maar wacht, betekent dit dat ik de privésleutel van elk Ethereum-adres kan vinden?” zou je kunnen vragen. Waarop ik zou antwoorden: hopelijk niet, anders moet ik snel een nieuwe baan vinden om mijn hypotheek te betalen.
In werkelijkheid neemt de moeilijkheid bij het genereren van een Vanity Address niet-lineair toe met het aantal tekens dat u corrigeert. Gebruik makend van Vanity ETH, duurt het enkele maanden voordat u een adres met 10 vaste tekens krijgt. Voor 12 vaste karakters borrelt het op tot enkele honderden jaren. Ik laat je extrapoleren hoe lang het zou duren voor een volledig adres van 40 tekens.
Wat zullen mijn nakomelingen er cool uitzien met dit adres!
Het belangrijkste is dat het, met voldoende inspanning, mogelijk is om een adres te genereren dat een bepaald patroon volgt op een paar karakters.
Mensen beoordelen bytes
Als mensen hebben we de neiging om adressen slechts gedeeltelijk te beoordelen wanneer we ze lezen. Het meest voorkomende patroon is om slechts enkele van de eerste en laatste tekens van adressen te bekijken. Hoewel dit minder veilig is dan ze karakter voor karakter precies te vergelijken, is het veel prettiger voor de ogen en is het de weg van de minste weerstand.
Het wordt ook enigszins aangemoedigd door de tools die ons ter beschikking staan, aangezien veel ervan de meeste adressen verbergen.
Metamask toont alleen het begin en einde van uw adres
De aanval
Gezien het bovenstaande hebben sommige slechte acteurs zich gerealiseerd dat ze:
- Zoek naar een actief gebruikersadres dat gelijk staat met magisch internetgeld.
- Genereer een Vanity-adres dat overeenkomt met de eerste en laatste paar bytes van het gebruikersadres.
- Stuur een transactie met een bedrag van 0, of bijna 0, van het Vanity-adres naar het Gebruikersadres. Dat is de daadwerkelijke vergiftiging: de gebruiker ziet nu het Vanity Address van de aanvaller in zijn eigen transactiegeschiedenis.
- De aanvaller wacht nu en hoopt dat de gebruiker een fout zal maken en zijn Vanity-adres zal kopiëren en plakken wanneer hij probeert geld naar zichzelf te sturen.
Omdat het moeilijk is voor mensen om met willekeurige bytes om te gaan, hebben we de neiging om in geval van haast elk adres dat op het onze lijkt te kopiëren, wat deze aanval behoorlijk effectief maakt.
Het genereren van Vanity-adressen is echter tijdrovend, waardoor deze aanval moeilijker te schalen is. Het is echter belangrijk op te merken dat het proces kan worden omgekeerd om het goedkoper te maken:
- De aanvaller genereert zoveel mogelijk Vanity-adressen die hij of zij beheert.
- De aanvaller houdt alle activiteiten in de keten en alle actieve gebruikersadressen in de gaten.
- Als een actief gebruikersadres overeenkomt met een van de Vanity-adressen, start u het vergiftigingsproces.
Op deze manier geeft de aanvaller het op een specifiek account te targeten, maar vergroot hij het aanvalsoppervlak.
Aanval met nulwaarde-tokenoverdracht: de keten voor de gek houden
Dit tweede type vergiftiging is zelfs nog verraderlijker omdat het afhankelijk is van het creëren van ERC20s-transacties namens u, en zonder uw toestemming!
Om het te begrijpen, moet je bekend zijn met on-chain-evenementen, token-toelage en een beetje Solidity.
Evenementen in de keten
Bij EVM-ketens kan een transactie de toestand van de keten op meerdere manieren beïnvloeden. De meest voorkomende is door ETH tussen adressen te verplaatsen, waardoor het saldo in de keten van de betrokken accounts effectief wordt gewijzigd.
Een andere staatsverandering is de publicatie van Events. Als u naar een transactie op Etherscan kijkt, kunt u het zien de gebeurtenissen die het heeft gegenereerd. Deze gebeurtenissen zijn de manier waarop overdrachten van tokens (ERC20's, NFT's, ...) in de keten worden gematerialiseerd.
Als u naar uw ERC20-transactiegeschiedenis kijkt, kijkt u eigenlijk naar alle Overdracht (adres geïndexeerd _from, adres geïndexeerd _to, uint256 _value) gebeurtenissen waarbij uw adres betrokken is.
Over tokenvergoeding
Veel geavanceerd gebruik van ERC20-tokens is afhankelijk van contracten van derden die namens een gebruiker geld mogen overboeken. Dit wordt afgehandeld via een kaart met emissierechten waarbij de sleutel het toegestane adres is en de waarde het maximale bedrag aan geld dat dat adres kan verplaatsen.
In de standaard ERC-20: Tokenstandaard het toegestane bedrag kan alleen door de gebruiker worden gewijzigd door de functie aan te roepen goedkeuren(adres _spender, uint256 _value).
Overboeking op uw naam
De enige manier waarop een aanvaller kan sturen X
aantal tokens namens een andere gebruiker is om de functie aan te roepen transferFrom(adres _from, adres _to, uint256 _value). Om dat te kunnen doen, moet de doelgebruiker echter al gebeld hebben approve({_spender: <attacker_address>, _value: X})
, waardoor ze de vereiste vergoeding kregen.
Op het eerste gezicht lijkt het een moeilijke grens om te overwinnen.
Gezien de manier waarop toewijzingen en standaardwaarden in Solidity werken, heeft elk adres echter een toegestane waarde 0
op elk ander adres in de standaardimplementatie van ERC20-contracten. In deze implementaties mag iedereen dus de volgende overdracht uitvoeren, ongeacht of de doelgebruiker hem actief toestemming heeft gegeven:
transferFrom({from: <user_address>, to: <attacker_address>, _value: 0})
Sterker nog, de ERC20-standaard stelt dat:
Overdrachten van 0 waarden MOETEN worden behandeld als normale overdrachten en moeten de gebeurtenis 'Overdracht' activeren.
Dit garandeert dat deze lege overboeking altijd een geldige zal opleveren Transfer
gebeurtenis die uiteindelijk wordt weergegeven in de transactiegeschiedenis van de gebruiker.
De aanval
Met behulp van bovenstaande nieuw gevonden kennis kunnen we de volgende aanval uitvoeren:
- Bel
transferFrom
met een waarde van0
op bekende ERC20-contracten zoals USDC, Matic, Uniswap… - Maak er een overdracht van van het gebruikersadres naar het adres van de aanvaller.
- Dit genereert een legitieme overdrachtsgebeurtenis in de keten van het gebruikersadres naar het adres van de aanvaller.
- Deze gebeurtenis wordt vervolgens gesynchroniseerd door de portemonnee van de gebruiker en weergegeven als een geldige overdracht.
De aanvaller heeft zijn doel bereikt: het creëren van een legitieme ERC20-transactie van de account van een doelwit naar die van hemzelf.
In elke standaard portemonnee wordt het adres nu weergegeven in de transactiegeschiedenis van het doelwit als onderdeel van een geldige transactie. De gebruiker is vergiftigd. Met wat geluk (voor de aanvaller) kan het doelwit per ongeluk het slechte adres gebruiken in toekomstige transacties.
Hier zijn enkele voorbeelden van dergelijke aanvallen op de keten:
Gebruikers beschermen
De aanvallen die we hebben beschreven hebben een reële impact op crypto-gebruikers. Ze vormen ook slechts het topje van de ijsberg. In hun zoektocht om gebruikers te laten communiceren met kwaadaardige adressen, zullen oplichters elke vorm van technische of menselijke fout uitbuiten. Ze passen hun strategieën ook zeer snel aan aan eventuele tegenmaatregelen die portemonneemakers kunnen inzetten.
Als beheerders van de Grootboek Livehebben we de verantwoordelijkheid om oplossingen te bieden die veilig zijn en de gebruikerservaring verbeteren. Gezien de aard van de aanvallen is het zeer moeilijk om ze volledig te voorkomen. In plaats daarvan is het de rol van portemonnees om de giftige transacties anders af te handelen om mogelijke gebruikersfouten te voorkomen.
Dus wat is de beste weg vooruit?
Het eenvoudige antwoord voor ons is dat u nooit een adres uit uw portemonnee moet kopiëren, zonder eerst verifieer het op het vertrouwde scherm van uw hardwareapparaat. Deze tegenmaatregel is beschikbaar sinds de eerste Nano S op de markt werd gebracht en kent geen technische tekortkomingen.
Maar het daarbij laten zou een vergissing zijn. Mensen zijn geen machines: we kunnen lui zijn, we kunnen haast hebben, misschien hebben we onze Nano niet bij ons, sommige mensen heb niet eens een Ledger-apparaat 😱. In het dagelijks leven volgen we altijd de weg van de minste weerstand. In dit geval zou dat het kopiëren van een adres zijn zonder het grondig te verifiëren.
In deze context hebben onze teams aan de product-, ontwikkelaars- en klantenondersteuningskant meerdere oplossingen onderzocht. De eenvoudigste, maar toch meest efficiënte, is toegevoegd aan de nieuwste Ledger Live-release: transacties met absolute nulbedragen verbergen.
Nu wordt de meest snode aanval (Zero-Value Token Transfer Attack) tandeloos gemaakt, omdat het bedrag absoluut nul moet zijn om deze uit te voeren. Het is ook een veilige verandering, aangezien 99.9% van de gebruikers nooit doelbewust gebruik maakt van absolute nultransacties. Voor de overige 0.1% is het uiteraard mogelijk om de transacties te blijven tonen door de geavanceerde instellingen van Ledger Live aan te passen.
Over het geheel genomen heeft deze verandering een grote impact, zeer weinig nadelen en een zeer korte time-to-market. Voor andere versies van de Adresvergiftigingsaanvallen onderzoeken we verschillende oplossingen, zoals beveiligde adresboeken, detectie van oplichtingsadressen en nog veel meer!
Het veiligstellen van de toekomst
Terwijl de cryptowereld zich blijft ontwikkelen, zoeken slechte actoren meedogenloos naar nieuwe manieren om kwetsbaarheden te misbruiken en zich op nietsvermoedende gebruikers te richten. Adresvergiftiging is een goed voorbeeld van dergelijke kwaadaardige aanvallen die misbruik maken van de beperkingen van zowel de technologie als de menselijke natuur. Door een licht te werpen op de verschillende soorten Adresvergiftigingsaanvallen en hun onderliggende mechanismen te ontleden, willen we het bewustzijn vergroten en u in staat stellen weloverwogen beslissingen te nemen tijdens uw crypto-reis.
Om deze steeds evoluerende bedreigingen te bestrijden, is het van cruciaal belang dat portemonnee-aanbieders, zoals Ledger Live, en de bredere cryptogemeenschap waakzaam blijven, samenwerken en innovatieve oplossingen ontwikkelen om gebruikers te beschermen. Terwijl we voortdurend de beveiligingsmaatregelen en de gebruikerservaring verbeteren, moedigen we gebruikers aan om op de hoogte te blijven, voorzichtig te zijn en aanbevolen best practices toe te passen.
Net als pogingen van oplichters om u te bedriegen, zijn de gezamenlijke inspanningen van de Ledger-teams om u te beschermen altijd aan de gang. Het zal regelmatig verbeteringen opleveren voor uw dagelijkse ervaring op Ledger Live, dus houd rekening met wijzigingen in toekomstige releases!
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoAiStream. Web3 gegevensintelligentie. Kennis versterkt. Toegang hier.
- De toekomst slaan met Adryenn Ashley. Toegang hier.
- Koop en verkoop aandelen in PRE-IPO-bedrijven met PREIPO®. Toegang hier.
- Bron: https://www.ledger.com/blog/address-poisoning
- : heeft
- :is
- :niet
- :waar
- $UP
- 10
- 12
- 1inch
- 20
- 22
- 250
- 40
- a
- in staat
- Over
- boven
- absoluut
- Account
- accounts
- actief
- activiteit
- actoren
- daadwerkelijk
- werkelijk
- aanpassen
- toegevoegd
- adres
- adressen
- adopteren
- vergevorderd
- invloed hebben op
- streven
- Alles
- al
- ook
- altijd
- bedragen
- hoeveelheden
- an
- en
- Nog een
- beantwoorden
- Tegengif
- elke
- iedereen
- ZIJN
- artikelen
- AS
- At
- aanvallen
- Aanvallen
- pogingen
- Beschikbaar
- vermijd
- bewustzijn
- weg
- slecht
- Balance
- BE
- omdat
- geweest
- wezen
- BEST
- 'best practices'
- Betere
- tussen
- binance
- Beetje
- Boeken
- zowel
- bredere
- maar
- by
- Bellen
- bellen
- CAN
- voorzichtigheid
- zeker
- keten
- ketens
- verandering
- veranderd
- Wijzigingen
- veranderende
- karakter
- tekens
- goedkoper
- duidelijk
- klanten
- samenwerken
- tegen te gaan
- Gemeen
- gemeenschap
- vergelijken
- compleet
- content
- verband
- blijft
- doorlopend
- contract
- contracten
- onder controle te houden
- Coole
- kopiëren
- kon
- Type cursus
- deksel
- bedekt
- Wij creëren
- cruciaal
- crypto
- crypto-gemeenschap
- crypto gebruikers
- crypto-wereld
- klant
- Klantenservice
- dagelijks
- beslissingen
- Standaard
- implementeren
- beschreven
- Opsporing
- ontwikkelen
- Ontwikkelaar
- anders
- moeilijk
- Moeilijkheid
- DIG
- do
- doet
- Dont
- nadelen
- gemakkelijker
- En het is heel gemakkelijk
- ecosysteem
- effectief
- effectief
- doeltreffend
- inspanning
- machtigen
- aanmoedigen
- aangemoedigd
- einde
- geheel
- ERC20
- ERC20-tokens
- ETH
- ethereum
- Etherscan
- Zelfs
- Event
- EVENTS
- Alle
- alledaags
- EVM
- ontwikkelen
- precies
- voorbeeld
- voorbeelden
- uitvoeren
- ervaring
- Exploiteren
- Verkennen
- Ogen
- vertrouwd
- familie
- weinig
- VIND DE PLEK DIE PERFECT VOOR JOU IS
- Brand
- Voornaam*
- Bepalen
- vast
- fout
- volgen
- volgend
- volgt
- Voor
- Naar voren
- gevonden
- oppompen van
- fondsen
- toekomst
- voortbrengen
- gegenereerde
- genereert
- het genereren van
- krijgen
- gegeven
- geeft
- Vrijgevigheid
- doel
- groot
- garanties
- HAD
- handvat
- Behandeling
- Happening
- Hard
- Hardware
- hashing
- Hebben
- Verbergen
- geschiedenis
- Hopelijk
- hoopt
- Hoe
- Echter
- http
- HTTPS
- menselijk
- Mensen
- honderd
- i
- ZIEK
- Impact
- Effecten
- uitvoering
- belangrijk
- verbeteren
- verbeteringen
- in
- Laat uw omzet
- Verhoogt
- op de hoogte
- innovatieve
- instantie
- verkrijgen in plaats daarvan
- interactie
- Internet
- in
- betrekken
- betrokken zijn
- IT
- HAAR
- Jobomschrijving:
- Houden
- houden
- sleutel
- toetsen
- Soort
- blijven
- kennis
- bekend
- Achternaam*
- laatste
- minst
- verlaten
- Grootboek
- Grootboek Live
- links
- rechtmatig
- minder
- laten
- Life
- licht
- als
- LIMIT
- beperkingen
- Elke kleine stap levert grote resultaten op!
- leven
- lang
- Kijk
- op zoek
- LOOKS
- kwijt te raken
- lot
- geluk
- Machines
- magie
- Magisch internetgeld
- maken
- Makers
- MERKEN
- veel
- kaart
- Markt
- Matic
- max
- max-width
- Mei..
- gemiddelde
- maatregelen
- mechanismen
- macht
- vermist
- fout
- geld
- maanden
- meer
- Hypotheek
- meest
- beweging
- bewegend
- veel
- meervoudig
- Dan moet je
- my
- nano
- NATUUR
- Noodzaak
- nooit
- New
- NFT's
- geen
- een
- nu
- aantal
- verkregen
- of
- on
- Aan de ketting
- activiteit in de keten
- EEN
- lopend
- online.
- Slechts
- or
- Overige
- onze
- uit
- Overwinnen
- het te bezitten.
- deel
- pad
- Patronen
- Mensen
- Uitvoeren
- Plato
- Plato gegevensintelligentie
- PlatoData
- mogelijk
- praktijk
- praktijken
- mooi
- voorkomen
- Prime
- privaat
- private Key
- waarschijnlijk
- Product
- beschermen
- Beschermend
- zorgen voor
- providers
- publiek
- public Key
- openbare sleutels
- Publicatie
- zoektocht
- Quick
- snel
- verhogen
- willekeurige
- liever
- bereikt
- lezing
- vast
- Realiteit
- realiseerde
- werkelijk
- aanbevolen
- achteloos
- regelmatig
- los
- resterende
- herhalende
- nodig
- Weerstand
- verantwoordelijkheid
- beoordelen
- herzien
- Rol
- haast
- s
- veilig
- Scale
- Oplichterij
- Oplichters
- scherm
- Tweede
- beveiligen
- veiligheid
- Veiligheidsmaatregelen
- Zoeken
- lijkt
- gezien
- ziet
- sturen
- settings
- verscheidene
- Bermuda's
- moet
- Shows
- Sides
- Zicht
- sinds
- So
- stevigheid
- Oplossingen
- sommige
- enigszins
- specifiek
- standaard
- begin
- gestart
- Start
- Land
- Staten
- blijven
- strategieën
- Draad
- dergelijk
- voldoende
- ondersteuning
- Oppervlak
- Nemen
- Talk
- doelwit
- targeting
- team
- teams
- Technisch
- technieken
- Technologie
- neem contact
- dat
- De
- De Staat
- hun
- Ze
- zich
- harte
- Er.
- Deze
- ze
- van derden
- dit
- grondig
- toch?
- bedreigingen
- Door
- niet de tijd of
- type
- naar
- teken
- tokens
- tools
- tools
- handel
- trades
- transactie
- Transacties
- overdracht
- transfers
- vertrouwde
- vertrouwen
- tweaken
- type dan:
- types
- paraplu
- voor
- die ten grondslag liggen
- begrijpen
- tot
- us
- Gebruik
- USDC
- .
- gebruikt
- Gebruiker
- Gebruikerservaring
- gebruikers
- waarde
- Values
- VANITY
- het verifiëren
- zeer
- kwetsbaarheden
- wachten
- Portemonnee
- Portemonnee makers
- Portemonnees
- gezocht
- was
- horloges
- Manier..
- manieren
- we
- bekend
- Wat
- Wat is
- wanneer
- of
- welke
- en
- WIE
- wil
- Met
- zonder
- Mijn werk
- zou
- jaar
- ja
- nog
- Opbrengst
- You
- Your
- Zendesk
- zephyrnet
- nul