Že več kot eno leto imajo napadalci možnost strmoglavljenja Bitcoin neomejeno in Bitcoin Classic vozlišča. Včeraj je to nekdo dejansko storil. Glede na spletne strani kot Ples kovancev, število vozlišč Bitcoin Unlimited se je v nekaj urah močno zmanjšalo s skoraj 800 na manj kot 250. Bitcoin Classic so zadeli kmalu zatem.

En dan prej se je obrnil varnostni raziskovalec, ki je odkril ranljivost Bitcoin Magazine.

“Sem povsem izven sebe, kako lahko projekt, ki si prizadeva za omrežje v višini 20 milijard dolarjev, naredi takšne začetniške napake.”

Ranljivosti

Bitcoin Unlimited in Bitcoin Classic sta vilice Bitcoin jedro ki nameravajo povečati omejitev velikosti blokov Bitcoinov. Oba sta bila predstavljena leta 2015 in ju od takrat vzdržujejo lastne razvojne skupine. Medtem ko je bil Bitcoin Classic lani sorazmerno priljubljena alternativa Bitcoin Coreu, je Bitcoin Unlimited v zadnjem času vse bolj zaostal. Največji rudarski bazen na svetu – AntPool napovedal prešel bi na Bitcoin Unlimited, tako kot več manjših bazenov.

Toda vsi ne verjamejo, da je to dobra ideja.

“Precej sem zaskrbljena zaradi slabe ravni kakovosti kode v Bitcoin Unlimited in sumim, da [obstaja] vrsta drugih vprašanj,” je varnostna raziskovalka označila samo “Charlotte Gardner”. Bitcoin Magazine v ponedeljek.

V komunikaciji po elektronski pošti je Gardner povedala, da programsko opremo revidira za lastno uporabo, vendar je hitro prišla do zaključka, da je zelo nevarna: “Skrbi me, da to programsko opremo zdaj uporablja velik del rudarskega ekosistema Bitcoin.”

Gardnerjeva je razkrila, da je dvema ranljivima točkama – natančneje “kritične oddaljene ranljivosti” – predložila razvojni skupini Bitcoin Unlimited.

Prvi je znan kot „Odstopanje kazalca NULL,”Drugi a”dosegljiva trditev.”V obeh primerih lahko napadalci na vozlišča Bitcoin Unlimited ali Bitcoin Classic pošljejo posebej izdelana sporočila, da se ta vozlišča zrušijo. V odprtem omrežju peer-to-peer, kot je Bitcoin, to pomeni, da lahko napadalec iz javno dostopnih virov dobi seznam vozlišč Bitcoin Unlimited in Bitcoin Classic. Bitnodije, in preprosto potrkajte vsakega izmed njih brez povezave.

“Presenečen sem, da jih še nihče ni opazil,” je povedal Gardner Bitcoin Magazine en dan pred napadom. »Mislim, da malo ljudi dejansko uporablja programsko opremo Bitcoin Unlimited. Toda s svojim “vzponom” se napadalci morda bolj zanimajo. “

Razkritje

Ob stiku Bitcoin Magazine v ponedeljek Gardner ranljivosti ni želel takoj objaviti. To bi bilo neodgovorno, je pojasnila, saj je napake še vedno mogoče izkoristiti, preden je razvojna skupina Bitcoin Unlimited imela priložnost to odpraviti..

Toda tudi ranljivosti je predložila Mitreova zbirka podatkov o skupnih ranljivostih in izpostavljenosti (CVE). To zagotavlja, da Mitre razkrije napake v enem mesecu, kar pritiska na razvijalce, da težavo dejansko odpravijo pravočasno.

Vendar je tudi po tem odgovornem razkritju Gardner menil, da obstaja nevarnost, da bodo ranljivosti zlorabljene takoj, ko bodo odpravljene v skladišču kod Bitcoin Unlimited. Konec koncev na tej točki težava v resnici ni rešena: kdorkoli, ki uporablja sproščeno programsko opremo Bitcoin Unlimited, je še vedno ranljiv, dokler ne prenese in zažene nove, popravljene različice. To odpre okno za napadalce.

“Težava je v tem, da so napake tako očitno očitne, da jih bo pri odpravljanju lahko opaziti vsak, ki spremlja njihov razvojni proces,” je dejala.

Zdi se, da se je zgodilo točno to. Medtem ko so razvijalci Bitcoin Unlimited resnično odpravili težavo kmalu po tem, ko je bila nanje opozorjena, so to storili s preveč opaznim GitHubom sporočilo objave, Je povedal Gardner Bitcoin Magazine ko se je zdelo, da so bile napake odpravljene in preden so se napadi začeli.

»Njihovo sporočilo o obveščanju zazvoni alarmno. Nisem prepričan, ali bo kdo opazil, verjetno pa bi moral sporočilo še nekoliko zamegliti. Besedilo bi lahko pritegnilo podrobnejši nadzor. Če pa je ostalo tako dolgo neopaženo, bo morda ostalo neopaženo. “

Jasno je, da ni.

Kot je opozoril Gardner, napadalci niso kmalu izkoristili ene od ranljivosti: prvih napadov zgodilo kmalu po odpravi napak. Nekoliko kasneje je uporabnik “shinobimonkey” izdal težavo Reddit, Razvijalec Bitcoin Core Peter Todd tvitnil o hrošču in razstrelili so se družbeni mediji.

Nekdo je nato celo objavil koda za izkoriščanje za vsakogar, in kmalu je večina vozlišč Bitcoin Unlimited padla, sledilo pa jim je veliko vozlišč Bitcoin Classic.

“Ravno zaradi tega naj bi obstajal protokol” odgovornega razkritja “,” je dejal Gardner Bitcoin Magazine po napadih. “Ampak potem ne pomaga, če projekt programske opreme ni diskreten pri odpravljanju kritičnih težav, kot je ta.”

Koda kakovosti

To ni prvič, da se preverja kakovost kode Bitcoin Unlimited ali Bitcoin Classic.

Kot najbolj znan primer je bitcoin.com rudarski bazen, ki poganja Bitcoin Unlimited, je izkopal neveljaven blok povzročila napaka januarja lani. Vsa energija, vložena v proizvodnjo bloka, je bila zapravljena, medtem ko so rudarski bazeni, ki so vohunili na vrhu neveljavnega bloka, zapravili tudi nekaj energije.

Pred tem so razvijalci Bitcoin Core že večkrat opozorili na napako. Na poštnem seznamu za razvoj Bitcoinov je Matt Corallo rekel da je ugotovil, da je prilagodljiva baza transakcijskih kod Bitcoin Classic “prežeta z očitnimi in velikimi varnostnimi luknjami”. Na Redditu Gregory Maxwell izpostavljeno da se vozlišča Bitcoin Unlimited sesujejo, ker je razvojna skupina odstranila kodo, ki je ne bi smeli odstraniti.

Nagovor vodilnega razvijalca Bitcoin Unlimited Andrewa Stone kot odgovor na včerajšnje dogodke, Maxwell predlagal obstaja še več težav s kodno bazo Bitcoin Unlimited, ki še niso bile zlorabljene:

„V Unlimited obstajajo ranljivosti, ki so vam jih v Unlimited sporočili zasebniki Bitcoin Core, na katere pa žal niste ukrepali. Pravzaprav hujša od te. “

Morda glavna težava za Bitcoin Unlimited, kot izpostavljeno Andreasa Antonopoulosa, strokovnjaka za informacijsko varnost, je, da nima ustrezne razvojne skupnosti za izvedbo ustrezne analize kakovosti. Število razvijalcev, ki delajo na Bitcoin Unlimited in Bitcoin Classic, je razmeroma majhno, koda, ki je vključevala izkoriščeno ranljivost, pa je bila združena po pregledu samo ene osebe – za varnostno kritično kodo, ki ščiti denar ljudi, ni veliko.

Gardner se je strinjal s to oceno:

“V tem primeru so ranljivosti tako očitno očitne, jasno je, da nihče ni revidiral njihove kode, ker se ti držijo kot boleč palec,” je dejala. »Presenečen sem, da rudarska industrija uporablja to programsko opremo. Ker pa so in bi se lahko veliko ljudi poškodovalo, je najbolje, da ne priporočam, da ne uporabljajo Bitcoin Unlimited, razkriti težave in upati, da so dovolj usposobljeni, da to odpravijo. “

Bitcoin Magazine je stopil v stik z razvijalci Bitcoin Unlimited Andrewom Stoneom in Andreo Suisani, vendar ob objavi ni prejel nobenega odgovora.