Již více než rok mají útočníci schopnost padat Bitcoin neomezeně a Bitcoin Classic uzly. Včera to někdo skutečně udělal. Podle webových stránek jako Coin Dance, počet uzlů Bitcoin Unlimited prudce poklesl z téměř 800 na méně než 250 během několika hodin. Bitcoin Classic byl zasažen krátce poté.
O den dříve se bezpečnostní výzkumník, který tuto chybu zabezpečení zjistil, obrátil na Bitcoin Magazine.
“Jsem docela sám sebou v tom, jak projekt, jehož cílem je napájet síť 20 miliard dolarů, může udělat takové chyby začátečníka.”
Zranitelnosti
Bitcoin Unlimited a Bitcoin Classic jsou vidlice Bitcoinové jádro které mají v úmyslu zvýšit limit velikosti bitcoinu. Oba byly spuštěny v roce 2015 a od té doby jsou udržovány jejich vlastními vývojovými týmy. Zatímco v loňském roce byla bitcoinová klasika relativně populární alternativou k bitcoinovému jádru, bitcoin neomezeně se v poslední době prosazuje. Největší těžební fond na světě – AntPool – oznámil přeplo by to na Bitcoin Unlimited, stejně jako několik menších fondů.
Ale ne každý věří, že je to dobrý nápad.
“Jsem poněkud zděšen špatnou úrovní kvality kódu v Bitcoin Unlimited a mám podezření, že existuje spousta dalších problémů,” řekla bezpečnostní výzkumnice, která se identifikovala pouze jako “Charlotte Gardner” Bitcoin Magazine v Pondělí.
Gardner, který komunikoval prostřednictvím e-mailu, uvedla, že provádí audit softwaru pro vlastní potřebu, ale rychle dospěla k závěru, že je velmi nebezpečný: „Co mě znepokojuje, je, že tento software nyní využívá velká část těžebního ekosystému bitcoinů.“
Gardner odhalila, že vývojovému týmu Bitcoin Unlimited podrobila dvě chyby zabezpečení – přesněji „kritické chyby vzdáleného selhání“..
První je známý jako „NULL dereference ukazatele,„Druhý a“dosažitelné tvrzení.„V obou případech mohou útočníci posílat speciálně vytvořené zprávy na uzly Bitcoin Unlimited nebo Bitcoin Classic, aby se tyto uzly zhroutily. V otevřené síti typu peer-to-peer, jako je bitcoin, to znamená, že útočník může získat seznam uzlů Bitcoin Unlimited a Bitcoin Classic z veřejně dostupných zdrojů, například Bitnody, a jednoduše všechny z nich zaklepejte do režimu offline.
“Překvapuje mě, že si je zatím nikdo nevšiml,” řekl Gardner Bitcoin Magazine den před útokem. “Myslím, že jen málo lidí skutečně používá software Bitcoin Unlimited.” Ale s jejich ‚vzestupem ‘se mohou útočníci více zajímat.“
Zveřejnění
Při kontaktu Bitcoin Magazine v pondělí Gardner nechtěl zranitelnosti okamžitě zveřejnit. To by bylo nezodpovědné, vysvětlila, protože chyby mohly být ještě využity, než měl vývojový tým Bitcoin Unlimited šanci to opravit.
Ale také zranitelnosti podrobila Databáze Mitre’s Common Vulnerabilities and Exposures (CVE). Tím je zajištěno, že Mitre odhalí chyby za jeden měsíc, což tlačí na vývojáře, aby problém včas opravili.
I po tomto odpovědném zveřejnění si však Gardner myslel, že existuje riziko zneužití zranitelností, jakmile budou opraveny v úložišti kódů Bitcoin Unlimited. Koneckonců, v tomto okamžiku problém není skutečně vyřešen: kdokoli, kdo používá vydaný software Bitcoin Unlimited, je stále zranitelný, dokud si nestáhne a nespustí novou revidovanou verzi. Otevře se okno pro útočníky.
“Problém je v tom, že chyby jsou tak zjevně zřejmé, že při opravě si každý, kdo sleduje jejich vývojový proces, snadno všimne,” řekla.
Nyní se zdá, že přesně to se stalo. Zatímco vývojáři Bitcoin Unlimited skutečně problém vyřešili krátce poté, co jim bylo poukázáno, učinili tak s příliš nápadným GitHubem potvrzení zprávy, Řekl Gardner Bitcoin Magazine jakmile se to ukázalo, chyby se zdály opravené a než začaly útoky.
“Jejich zpráva o potvrzení zvoní poplašné zvony.” Nejsem si jistý, jestli si toho někdo všimne, ale pravděpodobně měl tu zprávu trochu více zamaskovat. Znění by mohlo přilákat bližší kontrolu. Ale pokud to tak dlouho zůstalo bez povšimnutí, možná to zůstane bez povšimnutí. “
Je zřejmé, že ne.
Jak varoval Gardner, útočníkům netrvalo dlouho a využili jednu ze zranitelných míst: první útoky Stalo krátce poté, co byly chyby opraveny. O něco později uživatel „shinobimonkey“ vzal problém Reddit, Vývojář bitcoinových jader Peter Todd tweetoval o chybě a sociálních médiích vybuchlo.
Někdo pak dokonce publikoval zneužít kód kdokoli používat, a zanedlouho byla většina uzlů Bitcoin Unlimited nefunkční, následována mnoha uzly Bitcoin Classic.
“To je přesně důvod, proč má existovat protokol„ odpovědného zveřejnění “,” řekl Gardner Bitcoin Magazine poté, co došlo k útokům. “Ale pak to nepomůže, pokud softwarový projekt není diskrétní ohledně řešení kritických problémů, jako je tento.”
Kvalita kódu
Není to poprvé, co byla zkoumána kvalita kódu Bitcoin Unlimited nebo Bitcoin Classic.
Nejznámějším příkladem je bitcoin.com těžební fond, který provozuje Bitcoin Unlimited, těžil an neplatný blok způsobená chybou loni v lednu. Veškerá energie investovaná do výroby bloku byla zbytečná, zatímco těžební bazény, které špehovaly těžené na neplatném bloku, také zbytečně ztrácely energii.
Předtím vývojáři Bitcoin Core již několikrát varovali před chybovým kódem. V seznamu adresátů pro vývoj bitcoinů Matt Corallo řekl že našel pružnou transakční kódovou základnu Bitcoin Classic „prošpikovanou do očí bijícími a obrovskými bezpečnostními dírami“. Na Redditu Gregory Maxwell vypíchnut že uzly Bitcoin Unlimited havarovaly, protože vývojový tým odstranil kód, který neměl být odstraněn.
Oslovení hlavního vývojáře Bitcoin Unlimited Andrew Stone v reakci na včerejší události, Maxwell navrhl s kódovou základnou Bitcoin Unlimited existují další problémy, které dosud nebyly zneužity:
“V Unlimited existují chyby zabezpečení, které vám soukromě nahlásili v Unlimited lidé z Bitcoin Core, o kterých jste bohužel nejednali.” Ve skutečnosti přísnější než tenhle. “
Snad hlavní problém pro Bitcoin Unlimited, as vypíchnut odborníkem na informační bezpečnost Andreasem Antonopoulosem je, že mu chybí významná vývojová komunita, která by prováděla náležitou analýzu kvality. Počet vývojářů pracujících na Bitcoin Unlimited a Bitcoin Classic je relativně malý a kód, který zahrnoval zneužitou zranitelnost, byl sloučen poté, co byl zkontrolován pouze jednou osobou – pro bezpečnostní kód chránící peníze lidí to není moc.
Gardner souhlasil s tímto hodnocením:
“V tomto případě jsou zranitelnosti tak zjevně zřejmé, že je jasné, že nikdo jejich kód neauditoval, protože ty vyčnívají jako bolavý palec,” řekla. “Jsem ohromen, že těžební průmysl tento software používá.” Ale protože jsou a spousta lidí by se mohla poškodit, to nejlepší, co můžu udělat, kromě doporučení, že nepoužívají Bitcoin Unlimited, je zveřejnit problémy a doufat, že jsou dostatečně kompetentní, aby to napravili. “
Bitcoin Magazine oslovil vývojáře Bitcoin Unlimited Andrewa Stonea a Andrea Suisani, ale v době zveřejnění nedostal žádnou odpověď.