Den här säkerhetsforskaren hittade felet som slog ut Bitcoin Unlimited

Why The Government Shouldn't Break WhatsApp (April 2019).

Anonim

Bugg Finder

I över ett år har attackerna haft möjlighet att krascha Bitcoin Unlimited och Bitcoin Klassiska noder. Igår gjorde det faktiskt någon. Enligt webbplatser som Coin Dance föll antalet Bitcoin Unlimited noder kraftigt från nästan 800 till mindre än 250 på några timmar. Bitcoin Classic slogs strax efter.

Säkerhetsforskaren som upptäckte sårbarheten hade en dag tidigare nått Bitcoin Magazine .

"Jag är ganska bredvid mig själv hur ett projekt som syftar till att driva ett 20 miljarder dollar nätverk kan göra nybörjarens misstag så här. "

Sårbarheterna

Bitcoin Unlimited och Bitcoin Classic är gafflar av Bitcoin Core som avser att öka Bitcoins blockstorlek. Båda lanserades 2015 och har bibehållits av egna utvecklingsgrupper sedan. Medan Bitcoin Classic var ett relativt populärt alternativ till Bitcoin Core förra året har Bitcoin Unlimited vunnit dragkraft nyligen. Världens största gruvpool - AntPool - meddelade att det skulle byta till Bitcoin Unlimited, liksom flera mindre pooler.

Men inte alla tror att det är en bra idé.

"Jag är ganska upprörd över den dåliga nivån av kodkvalitet i Bitcoin Unlimited och jag misstänker att det finns en rad andra problem", berättade en säkerhetsforskare som bara identifierade sig som "Charlotte Gardner" Bitcoin Magazine på måndag.

Kommunicerar via e-post, sade Gardner att hon granskar programvaran för egen användning men kom snabbt till slutsatsen att det är mycket osäkert: "Vad gäller mig är att den här mjukvaran nu används av en stor del av Bitcoin-gruvan ekosystem. "

Gardner avslöjade att hon hade lämnat in två sårbarheter -" kritiska fjärrkrasch sårbarheter "för att vara exakt - till Bitcoin Unlimited utvecklingsteamet.

Den första är känd som en "NULL pekare dereference", den andra en "nåbar påstående. "I båda fallen kan angripare skicka särskilt utformade meddelanden till Bitcoin Unlimited eller Bitcoin Classic noder för att göra dessa noder kraschar. På ett öppet peer-to-peer-nätverk som Bitcoins betyder det att en angripare kan få en lista med Bitcoin Unlimited och Bitcoin Classic-noder från allmänt tillgängliga källor, som Bitnodes, och bara knacka var och en av dem offline.

"Jag är förvånad att ingen har märkt dem ännu", berättade Gardner Bitcoin Magazine en dag innan attacken ägde rum. "Jag antar att inte många människor använder faktiskt Bitcoin Unlimited-programvaran. Men med deras "uppgång" kan angripare ta mer intresse. "

Upplysningen

När man kontaktar Bitcoin Magazine på måndag vill Gardner inte omedelbart göra sårbarheterna offentliga. Det skulle ha varit oansvarigt, förklarade hon, eftersom buggarna fortfarande kunde utnyttjas innan Bitcoin Unlimited utvecklingslag hade chansen att fixa det.

Men hon lämnade även sårbarheterna till Miters gemensamma säkerhetsfaktorer och exponeringar (CVE) -databasen. Detta säkerställer att Mitre avslöjar buggarna inom en månad från och med, vilket pressar utvecklarna att faktiskt lösa problemet i tid.

Men även efter detta ansvariga upplysningar trodde Gardner att det fanns en risk för att sårbarheterna skulle missbrukas så snart de var fixade i Bitcoin Unlimited-kodförvaret. Trots allt är problemet inte riktigt löst på den tiden: vem som kör den frigjorda Bitcoin Unlimited-programvaran är fortfarande sårbar tills de laddar ner och kör den nya, reviderade versionen. Detta öppnar ett fönster för angripare.

"Problemet är att buggarna är så uppenbart uppenbara att det blir lätt att märka för alla som tittar på deras utvecklingsprocess när man fixar det," sa hon.

Det verkar nu som det är exakt vad som hänt. Medan Bitcoin Unlimited-utvecklarna verkligen fixade problemet strax efter det påpekades, gjorde de det med alltför iögonfallande ett GitHub-budskap, berättade Gardner Bitcoin Magazine när det visade sig att buggarna var fasta och före attackerna började.

"Deras budskap ger ringarmblock. Jag är inte säker på om någon kommer att märka, men de borde antagligen ha förvirrat budskapet lite mer. Ordalydelsen kan locka närmare granskning. Men om det gick obemärkt så länge kanske det kommer att bli obemärkt. "

Det visade sig klart inte.

Som Gardner varnade tog det inte lång tid för angripare att utnyttja en av sårbarheterna: de första attackerna inträffade strax efter att buggarna hade åtgärdats. Lite senare tog användaren "shinobimonkey" frågan till Reddit, Bitcoin Core-utvecklaren Peter Todd tweeted om buggen och sociala medier blåste upp.

Någon publicerade även ens utnyttjande kod för alla att använda, och för länge var de flesta Bitcoin Obegränsade noder nere, följda av många Bitcoin Classic noder.

"Detta är exakt varför det skulle vara ett" ansvarigt upplysningsprotokoll ", berättade Gardner Bitcoin Magazine efter attackerna ägde rum. "Men det hjälper inte om programvaruprojektet inte är diskret för att lösa kritiska problem som detta. "

Kodkvalitet

Det här är inte första gången som kodkvaliteten för Bitcoin Unlimited eller Bitcoin Classic har granskats.

Som det mest kända exemplet, bitcoin. com-minebassängen, som kör Bitcoin Unlimited, minskade ett ogiltigt block som orsakades av en bugg i januari. All energi som investerades för att producera kvarteret slösades bort, medan gruvpooler som spionerades ovanpå det ogiltiga kvarteret slösade bort viss energi också.

Innan det hade Bitcoin Core-utvecklare redan varnat för varningskod vid flera tillfällen. På postlistan Bitcoin-utveckling sa Matt Corallo att han hade hittat Bitcoin Classics flexibla transaktionskodbas för att vara "riddled med blatant och massiva säkerhetshål. "På Reddit påpekade Gregory Maxwell att Bitcoin Obegränsade noder kraschar eftersom utvecklingslaget tog bort koden som inte borde ha tagits bort.

Adressering Bitcoin Obegränsad leadutvecklare Andrew Stone som svar på igårens händelser, föreslog Maxwell att det finns fler problem med Bitcoin Unlimiteds codebase som ännu inte har missbrukats:

"Det finns sårbarheter i obegränsat antal som har rapporterats privat för dig i Obegränsat av Bitcoin Core folk som du inte har handlat på, tyvärr. Mer allvarligt än den här, faktiskt. "

Kanske är huvudproblemet för Bitcoin Unlimited, som påpekats av informationssäkerhetsexpert Andreas Antonopoulos, att det saknar en betydande utvecklingssamhälle för att utföra en korrekt kvalitetsanalys. Antalet utvecklare som arbetar med Bitcoin Unlimited och Bitcoin Classic är relativt litet och koden som inkluderade det utnyttjade sårbarheten slogs samman efter att ha granskats av endast en person - inte mycket för säkerhetskritisk kod som skyddar människors pengar.

Gardner överens med denna bedömning:

I så fall är sårbarheterna så klart uppenbara, det är uppenbart att ingen har granskat sin kod eftersom de sticker ut som en öm tumme, "sa hon. "Jag är förvånad över att gruvindustrin kör denna programvara. Men eftersom de är, och många människor kan bli skadade, kan det bästa jag kan göra, förutom att rekommendera att de inte använder Bitcoin Unlimited, att avslöja problemen och hoppas att de är kompetenta nog att fixa det. "

Bitcoin Magazine nådde ut till Bitcoin Unlimited-utvecklarna Andrew Stone och Andrea Suisani, men fick inget svar vid tidpunkten för offentliggörandet.