Wintermute-hack replikert på en enkel bærbar datamaskin på under 48 timer ved å utnytte ukvemsfeil

Amber Group, en leverandør av blokkjedeteknologi, replikerte Wintermute-hacket på mindre enn 48 timer ved å bruke en grunnleggende bærbar PC. En rapport fra Amber Group sa,

"Vi brukte en Macbook M1 med 16 GB RAM for å forhåndsberegne et datasett på mindre enn 10 timer… Vi fullførte implementeringen og var i stand til å knekke den private nøkkelen til 0x0000000fe6a514a32abdcdfcc076c85243de899b på mindre enn 48 timer.»

De hack ble tilskrevet forfengelighetsadresser opprettet med Profanity-verktøyet, som lar brukere generere spesifikke ethereum-adresser med bestemte tegn. Når det gjelder Wintermute, inneholdt adressen syv innledende nuller. Vanity-adresser lar kontoer ha lignende tegn, noe som gjør det lettere å identifisere de offentlige adressene på blokkjeden.

En annen effekt av en Ethereum-adresse med flere ledende nuller er en reduksjon i gassavgifter på grunn av den reduserte plassen som trengs for å lagre informasjonen på blokkjeden. Å fjerne et element av tilfeldighet fra den kryptografiske prosessen som brukes til å generere adressen, går imidlertid på bekostning av redusert sikkerhet.

Innledende analyse antydet at det ville ta 1,000 GPUer bare 50 dager å generere alle mulige private nøkkeler for adresser som starter med syv innledende nuller. Imidlertid hevder Amber Group nå at det kan oppnås med bare en enkelt bærbar datamaskin på under 48 timer.

Kryptografien forklart

Banning er et adressegenereringsverktøy for Ethereum-økosystemet. Kodebasen kan enkelt lastes ned fra GitHub og har vært tilgjengelig siden 2017. Den nåværende kodebaseversjonen inkluderer imidlertid en advarsel som fraråder bruk av verktøyet. Verktøyets skaper, Johguse, la til følgende melding i readme.md-filen 15. september 2022.

«Jeg fraråder på det sterkeste å bruke dette verktøyet i dets nåværende tilstand. Dette depotet vil snart bli ytterligere oppdatert med tilleggsinformasjon om dette kritiske problemet."

Videre ble kjernebinærfiler fjernet for å hindre brukere i å kunne kompilere kodebasen "for å forhindre ytterligere usikker bruk av dette verktøyet."

Profanity bruker lokal "GPU-kraft med OpenCL gjennom en enkel algoritme" for å generere Ethereum private og offentlige nøkler til den finner en adresse som samsvarer med reglene satt av brukeren. For eksempel, hvis en bruker ønsker å opprette en Ethereum-adresse som slutter på 'AAA', vil den fortsette å fungere til den genererer en adresse med disse tegnene som suffiks.

Når en adresse genereres som ikke samsvarer med betingelsene som er beskrevet i regelsettet, "legger Profanity 1 til den private nøkkelen og utleder en ny Ethereum-adresse til den finner den som samsvarer med reglene."

Ethereum-adresser genereres vanligvis lokalt ved hjelp av elliptisk kurvekryptografi. Når du genererer en Ethereum-adresse, er det ingen beregning for å sjekke om den private nøkkelen har blitt brukt tidligere for en annen adresse. Dette er imidlertid på grunn av det store antallet mulige Ethereum-adresser.

Denne videoen forklarer den sanne størrelsen på 256bit kryptering brukt i Ethereums kryptografi. En enkel sammenligning kan også gjøres ved at det finnes omtrent 2^76 sandkorn i verden, men 2^160 mulige Ethereum-adresser.

Men når noen av tegnene i Ethereum-adressene er forhåndsbestemt, blir beregningen for å generere den private nøkkelen betydelig mer enkel, og antallet mulige adresser reduseres dramatisk.

Utnyttelsen

Amber Grouped forklarte at profanity-metodens feil kommer fra å bruke et 32-bits frø for å generere adresser.

"For å generere en tilfeldig privat nøkkel, bruker Profanity først den tilfeldige enheten til å generere et frø. Men dessverre er frøet 32-bit, som ikke kan brukes som en privat nøkkel direkte.»

32-bits frøet mates gjennom en pseudo-tilfeldig tallgenerator (PRNG) som bruker en deterministisk funksjon. Denne PRNG-metoden resulterer i en enkel måte å bestemme alle levedyktige offentlige nøkkelfrø som brukes i banning.

"Siden det bare er 2^32 mulige innledende nøkkelpar (d_0,0, Q_0,0) og iterasjonen på hver runde er reversibel, er det mulig å knekke den private nøkkelen fra en hvilken som helst offentlig nøkkel generert av Profanity.»

Metoden som ble brukt av Amber Group var å skaffe den offentlige nøkkelen til adressen, forhåndsberegne mulige Profanity-offentlige nøkler, beregne de offentlige nøklene ved hjelp av OpenCL, sammenligne de beregnede offentlige nøklene og deretter rekonstruere den private nøkkelen når et samsvar er funnet.

På grunn av metodens enkelhet anbefaler Amber Group at "pengene dine ikke er trygge hvis adressen din ble generert av banning."

Amber Group fortalte CryptoSlate at, i forhold til om en bedre kryptografisk algoritme er nødvendig, "svaret er åpenbart ja ... industrien kan se hvor sårbar denne typen design er."

Kilde: https://cryptoslate.com/wintermute-hack-replicated-on-simple-laptop-in-under-48-hours-by-exploiting-profanity-flaw/