En gang hyllet som unhackable, blir blokkjeder nå hacket

En åpen blokk som avslører digitale mynter inni

En åpen blokk som avslører digitale mynter inni Ms. Tech





Tidlig i forrige måned la sikkerhetsteamet på Coinbase merke til at noe rart skjedde i Ethereum Classic, en av kryptovalutaene folk kan kjøpe og selge ved å bruke Coinbase sin populære utvekslingsplattform. Dens blokkjede, historien til alle transaksjonene, var under angrep.

En angriper hadde på en eller annen måte fått kontroll over mer enn halvparten av nettverkets datakraft og brukte den til å omskrive transaksjonshistorikken. Det gjorde det mulig å bruke den samme kryptovalutaen mer enn én gang – kjent som doble forbruk. Angriperen ble sett når han tok dette til en verdi av 1,1 millioner dollar. Coinbase hevder at ingen valuta faktisk ble stjålet fra noen av kontoene. Men en annen populær utveksling, Gate.io, har innrømmet det var ikke så heldig, og tapte rundt $200 000 til angriperen (som merkelig nok, returnerte halvparten dager senere).

For bare et år siden var dette marerittscenarioet stort sett teoretisk. Men det såkalte 51%-angrepet mot Ethereum Classic var bare det siste i en rekke nylige angrep på blokkjeder som har økt innsatsen for den begynnende industrien.



Totalt har hackere stjålet kryptovaluta for nesten 2 milliarder dollar siden begynnelsen av 2017, hovedsakelig fra børser, og det er bare det som har blitt avslørt offentlig. Dette er ikke bare opportunistiske ensomme angripere heller. Sofistikerte nettkriminalitetsorganisasjoner gjør det nå også: analysefirmaet Chainalysis sa nylig at bare to grupper, som begge tilsynelatende fortsatt er aktive, kan ha stjålet til sammen 1 milliard dollar fra børser.

Vi burde ikke bli overrasket. Blokkjeder er spesielt attraktive for tyver fordi uredelige transaksjoner ikke kan reverseres slik de ofte kan være i det tradisjonelle finansielle systemet. I tillegg har vi lenge visst at på samme måte som blokkjeder har unike sikkerhetsfunksjoner, har de unike sårbarheter. Markedsføringslagord og overskrifter som kalte teknologien unhackable var død feil.

Det har blitt forstått, i det minste i teorien, siden Bitcoin dukket opp for et tiår siden. Men i det siste året, midt i en kambrisk eksplosjon av nye kryptovalutaprosjekter, har vi begynt å se hva dette betyr i praksis – og hva disse iboende svakhetene kan bety for fremtiden til blokkjeder og digitale eiendeler.



Hvordan hacker du en blokkjede?

Før vi går videre, la oss få noen begreper rett.

TIL blokkjede er en kryptografisk database vedlikeholdt av et nettverk av datamaskiner, som hver lagrer en kopi av den mest oppdaterte versjonen. En blokkjede protokoll er et sett med regler som dikterer hvordan datamaskinene i nettverket kalles noder , bør verifisere nye transaksjoner og legge dem til i databasen. Protokollen bruker kryptografi, spillteori og økonomi for å skape insentiver for nodene til å jobbe mot å sikre nettverket i stedet for å angripe det for personlig vinning. Hvis det er satt opp riktig, kan dette systemet gjøre det ekstremt vanskelig og dyrt å legge til falske transaksjoner, men relativt enkelt å verifisere gyldige.



Det er det som har gjort teknologien så attraktiv for mange bransjer, som begynner med finans. Snart lanserte tjenester fra store institusjoner som Fidelity Investments og Intercontinental Exchange, eieren av New York Stock Exchange, vil begynne å slå inn blokkjeder i det eksisterende finansielle systemet. Selv sentralbanker ser nå på å bruke dem til nye digitale former for nasjonal valuta.

Men jo mer komplekst et blokkjedesystem er, jo flere måter er det å gjøre feil på mens du setter det opp. Tidligere denne måneden avslørte selskapet med ansvar for Zcash – en kryptovaluta som bruker ekstremt komplisert matematikk for å la brukere foreta private transaksjoner – at de i all hemmelighet hadde fikset en subtil kryptografisk feil ved et uhell bakt inn i protokollen. En angriper kunne ha utnyttet det til å lage ubegrenset falske Zcash. Heldigvis ser det ut til at ingen faktisk har gjort det.

Protokollen er ikke det eneste som må være sikker. For å handle kryptovaluta på egen hånd, eller kjøre en node, må du kjøre en programvare klient , som også kan inneholde sårbarheter. I september måtte utviklere av Bitcoins hovedklient, kalt Bitcoin Core, rykke ut for å fikse en feil ( også i hemmelighet ) som kunne ha latt angripere prege flere bitcoins enn systemet er ment å tillate.



Likevel var de fleste av de siste overskriftsfangende hackene ikke angrep på blokkjedene selv, men på utveksling , nettstedene der folk kan kjøpe, handle og holde kryptovalutaer. Og mange av disse ranene kan skyldes på dårlig grunnleggende sikkerhetspraksis. Det endret seg i januar med 51% angrepet mot Ethereum Classic.

51%-regelen

Mottakelighet for 51 % angrep er iboende for de fleste kryptovalutaer. Det er fordi de fleste er basert på blokkjeder som bruker bevis på arbeid som deres protokoll for å bekrefte transaksjoner. I denne prosessen, også kjent som gruvedrift , bruker noder enorme mengder datakraft for å bevise at de er pålitelige nok til å legge til informasjon om nye transaksjoner til databasen. En gruvearbeider som på en eller annen måte får kontroll over et flertall av nettverkets gruvekraft kan svindle andre brukere ved å sende dem betalinger og deretter lage en alternativ versjon av blokkjeden der betalingene aldri skjedde. Denne nye versjonen kalles en gaffel . Angriperen, som kontrollerer det meste av gruvekraften, kan gjøre gaffelen til den autoritative versjonen av kjeden og fortsette å bruke den samme kryptovalutaen igjen.

For populære blokkjeder vil det sannsynligvis være ekstremt dyrt å forsøke denne typen ran. I følge nettstedet Krypto51 , vil leie nok gruvekraft til å angripe Bitcoin for øyeblikket koste mer enn $260 000 per time. Men det blir mye billigere ettersom du beveger deg nedover listen over de mer enn 1500 kryptovalutaene der ute. Fallende myntpriser gjør det enda rimeligere, siden de får gruvearbeidere til å slå av maskinene sine, og etterlater nettverk med mindre beskyttelse.

Mot midten av 2018 begynte angripere å angripe 51 % på en serie med relativt små, lett omsatte mynter, inkludert Verge, Monacoin og Bitcoin Gold, og stjal anslagsvis 20 millioner dollar totalt. I høst stjal hackere rundt 100 000 dollar ved å bruke en rekke angrep på en valuta kalt Vertcoin. Slaget mot Ethereum Classic, som ga mer enn 1 million dollar, var det første mot en topp-20-valuta.

David Vorick, medgründer av den blokkjedebaserte fillagringsplattformen Sia, spår det 51 % angrep vil fortsette å øke i frekvens og alvorlighetsgrad, og at utvekslinger vil ta hovedtyngden av skaden forårsaket av dobbeltforbruk. En ting som driver denne trenden, sier han, har vært fremveksten av såkalte hashrate-markedsplasser, som angripere kan bruke til å leie datakraft for angrep. Utvekslinger vil til slutt måtte være mye mer restriktive når de skal velge hvilke kryptovalutaer som skal støttes, skrev Vorick etter Ethereum Classic-hakket.

En helt ny boks med ormedyr

Bortsett fra 51 % angrep, er det et helt nytt nivå av blokkjedesikkerhetssvakheter hvis implikasjoner forskere akkurat har begynt å utforske: smartkontrakt-feil. Tilfeldigvis er Ethereum Classic – nærmere bestemt historien bak opprinnelsen – et godt utgangspunkt for å forstå dem også.

TIL smart kontrakt er et dataprogram som kjører på et blokkjedenettverk. Den kan brukes til å automatisere bevegelsen av kryptovaluta i henhold til foreskrevne regler og betingelser. Dette har mange potensielle bruksområder, for eksempel å legge til rette for ekte juridiske kontrakter eller kompliserte økonomiske transaksjoner. En annen bruk - det aktuelle tilfellet her - er å lage en stemmemekanisme der alle investorene i et venturekapitalfond kollektivt kan bestemme hvordan de skal allokere pengene.

Akkurat et slikt fond, kalt den decentraliserte autonome organisasjonen (DAO), ble opprettet i 2016 ved å bruke blokkjedesystemet kalt Ethereum. Kort tid etter stjal en angriper kryptovaluta verdt 60 millioner dollar ved å utnytte en uforutsett feil i en smart kontrakt som styrte DAO. I hovedsak tillot feilen hackeren å fortsette å be om penger fra kontoer uten at systemet registrerte at pengene allerede var trukket ut.

Som hacket illustrerte, kan en feil i en live smart kontrakt skape en unik form for nødsituasjon. I tradisjonell programvare kan en feil fikses med en oppdatering. I blockchain-verdenen er det ikke så enkelt. Fordi transaksjoner på en blokkjede ikke kan angres, er å distribuere en smart kontrakt litt som å skyte opp en rakett, sier Petar Tsankov, en forsker ved ETH Zürich og medgründer av en smart-kontrakt sikkerhetsoppstart kalt Kjedesikkerhet . Programvaren kan ikke gjøre en feil.

Det finnes en slags rettelser. Selv om de ikke kan lappes, kan noen kontrakter oppgraderes ved å distribuere flere smarte kontrakter for å samhandle med dem. Utviklere kan også bygge sentraliserte kill-svitsjer inn i et nettverk for å stoppe all aktivitet når et hack er oppdaget. Men for brukere hvis penger allerede er stjålet, vil det være for sent.

Den eneste måten å hente pengene på er å omskrive historien – å gå tilbake til punktet på blokkjeden før angrepet skjedde, lage en gaffel til en ny blokkjede, og få alle på nettverket til å gå med på å bruke den i stedet. Det er det Ethereums utviklere valgte å gjøre. De fleste, men ikke alle, i samfunnet byttet til den nye kjeden, som vi nå kjenner som Ethereum. En mindre gruppe holdouts holdt seg til den originale kjeden, som ble Ethereum Classic.

Forrige måned reddet Tsankovs team hos ChainSecurity Ethereum fra en mulig gjentakelse av DAO-katastrofen. Bare en dag før en større planlagt programvareoppgradering fortalte selskapet Ethereums ledende utviklere at det ville ha den utilsiktede konsekvensen av å la noen kontrakter på blokkjeden være sårbare for samme type feil som førte til DAO-hacket. Utviklerne utsatte oppgraderingen umiddelbart og vil gi den en ny sjanse senere denne måneden.

Ikke desto mindre var hundrevis av verdifulle Ethereum-smartkontrakter allerede sårbare for denne såkalte reentrancy-feilen, ifølge Victor Fang, medgründer og administrerende direktør for blokkjedesikkerhetsfirmaet AnChain.ai. Titusenvis av kontrakter kan inneholde en annen form for sårbarhet, ifølge forskning utført i fjor. Og selve naturen til offentlige blokkjeder betyr at hvis en smartkontraktsfeil eksisterer, vil hackere finne den, siden kildekoden ofte er synlig på blokkjeden. Dette er veldig annerledes enn tradisjonell cybersikkerhet, sier Fang, som tidligere har jobbet for cybersikkerhetsfirmaet FireEye.

Buggy-kontrakter, spesielt de som holder tusenvis eller millioner av dollar, har tiltrukket seg hackere like avanserte som den typen som angriper banker eller myndigheter. I august identifiserte AnChain fem Ethereum-adresser bak et ekstremt sofistikert angrep som utnyttet en kontraktsfeil i et populært gamblingspill for å stjele $4 millioner.

Kan hackerne bli beseiret?

AnChain.ai er en av flere nyere oppstarter som er opprettet for å adressere trusselen om blockchain-hacking. Den bruker kunstig intelligens for å overvåke transaksjoner og oppdage mistenkelig aktivitet, og den kan skanne smartkontraktskode for kjente sårbarheter.

Andre selskaper, inkludert Tsankovs ChainSecurity, utvikler revisjonstjenester basert på en etablert informatikkteknikk kalt formell verifikasjon. Målet er å bevise matematisk at en kontrakts kode faktisk vil gjøre det skaperne hadde til hensikt. Disse revisjonsverktøyene, som har begynt å dukke opp i løpet av det siste året eller så, har gjort det mulig for skapere av smarte kontrakter å eliminere mange av feilene som hadde vært lavthengende frukt, sier Tsankov. Men prosessen kan være dyr og tidkrevende.

Det kan også være mulig å bruke flere smarte kontrakter for å sette opp blokkjedebaserte bug-premier. Disse vil oppmuntre folk til å rapportere feil i retur for en kryptovaluta-belønning, sier Philip Daian , en forsker ved Cornell University's Initiative for Cryptocurrencies and Contracts.

Men å sørge for at koden er ren vil bare gå så langt. En blokkjede er tross alt et komplekst økonomisk system som avhenger av den uforutsigbare oppførselen til mennesker, og folk vil alltid være på jakt etter nye måter å spille det på. Daian og kollegene hans har vist hvordan angripere allerede har funnet ut hvordan å tjene penger ved å spille populære Ethereum-smartkontrakter , for eksempel.

Kort sagt, mens blokkjedeteknologi lenge har vært kjent for sin sikkerhet, kan den under visse forhold være ganske sårbar. Noen ganger kan du få skylden på dårlig utførelse eller utilsiktede programvarefeil. Andre ganger er det mer en gråsone – det kompliserte resultatet av interaksjoner mellom koden, økonomien til blokkjeden og menneskelig grådighet. Det har vært kjent i teorien siden teknologiens begynnelse. Nå som så mange blokkjeder er ute i verden, lærer vi hva det faktisk betyr – ofte på den harde måten.

gjemme seg