Zano’s Blockchain Incident
Zano har afsløret en fejl, der tvang dem til en ekstraordinær 30-dages blockchain-tilbageførsel i et nyligt postmortem. En angriber udnyttede en manglende verifikation i Gateway Addresses til at præge cirka 18,4 millioner ZANO i en enkelt transaktion og gentog derefter tricket med fUSD.
Den første udnyttelse forblev uopdaget i næsten en måned, mens Zanos egne privatlivsmekanismer gjorde det stadig sværere at skelne mellem de falske mønter og legitime. Zanos 30-dages blockchain-tilbageførsel lød allerede drastisk. Nu har teamet forklaret, hvad der lurede under overfladen, og mekanikken er uden tvivl mere kompleks.
Fejlens Oprindelse
En fejl, der blev introduceret med Hard Fork 6, tillod en angriber at skabe mønter, som netværket accepterede som ægte, begyndende den 29. august. Ifølge udviklingsteamet prægede den første reelle udnyttelse 2^64 basisenheder, cirka 18,4 millioner ZANO, i en enkelt transaktion. Ingen opdagede det i næsten en måned.
“Kort sagt, hver Zano-transaktion skal bevise, at mønter blev skabt i overensstemmelse med konsensusreglerne,” forklarede teamet.
Problemerne begyndte med Gateway Addresses, en ny adresstype, der blev introduceret i Hard Fork 6 for at gøre Zano lettere at integrere med centraliserede udvekslingsplatforme (CEX), broer og andre tjenester. Gateway-udgange afslører et beløb og aktiv-ID, i modsætning til Zanos standard fortrolige udgange, hvor begge er skjult. Implementeringen manglede dog en kritisk verifikation.
Angrebets Forløb
Zano afslørede, at en angriber kunne konstruere en specielt beregnet aktividentifikator, der stadig opfyldte netværkets transaktionsbeviser, mens der blev skjult et vilkårligt beløb i en skjult udgang. Disse mønter var ikke blot dekorative regnskabsposter. Teamet sagde:
“Disse mønter fungerede som ægte ZANO og kunne bruges normalt.”
Angriberen registrerede en Gateway Address den 28. august og betalte det krævede gebyr på 100 ZANO og testede tilsyneladende, om Zano ville acceptere et konstrueret, ikke-eksisterende aktiv. Dagen efter blev handskerne taget af. En transaktion prægede cirka 18,4 millioner ZANO, der i øjeblikket er værd omkring 102 millioner dollars.
Næsten en måned senere, den 24. september, foretog angriberen to legitime indskud på blot 0,05 ZANO hver, tilsyneladende for at teste den almindelige indskudsvej. Den 25. september blev endnu 18,4 millioner ZANO skabt, efterfulgt af den samme 2^64-basisenhed manøvre ved hjælp af fUSD stablecoin. I alt er det mere end 200 millioner dollars værd af ulovlige kryptotokens.
Konsekvenser og Løsninger
Her er det interessante: Zano havde udført AI-assisteret testning, teamrevisioner og bug bounty-programmer før Hard Fork 6. Ingen opdagede sårbarheden. Teamet sagde:
“Den første udnyttelse forblev uopdaget i næsten en måned, fordi den øgede udgang så ud som enhver anden privat udgang.”
Når de falske mønter kom ind i Zanos fortrolige transaktionssystem, blev det en anden opgave at identificere præcist, hvor de gik hen. Zano scannede hver udgang, der potentielt var forbundet med de tre prægnings-transaktioner. Ved blok 3.878.388 berørte sporet 117.941 udgange, der blev skabt gennem 65.301 transaktioner.
Det efterlod projektet i en klemme. De meget privatlivsegenskaber, som brugerne forventede fra Zano, forhindrede udviklerne i at adskille legitime mønter fra uautoriserede. Zano sagde:
“Den eneste måde at verificere forsyningsintegritet på er at fortsætte kæden fra et punkt før den første udnyttelse.”
Det punkt var blok 3.833.000, før Hard Fork 6. Hard Fork 7 genstartede kæden derfra og deaktiverede Gateway Addresses, hvilket betød, at transaktioner, staking-belønninger og mined blokke fra den berørte periode ikke længere eksisterer i det opdaterede register.
Zano sagde yderligere, at berørte saldi vil blive genoprettet fuldt ud uden at ændre ZANOs forsyning eller emissionsplan. Finansieringen vil komme fra udviklingsfonden, teammedlemmers personlige penge og eksterne bidragydere. Udvekslinger skal nu gennemgå en måneds aktivitet, transaktion for transaktion, før de genåbner adgangen.
“Ingen handling er nødvendig lige nu,” sagde teamet til brugerne på deres sociale mediekanaler. Zano-teamet annoncerede tirsdag, at en hotfix er blevet anvendt, og “netværket er stabilt.”