Bitcoini tarkvara kõrge tõsidusega viga ilmnes 2 aastat pärast parandust

"Kõrge" raskusastmega viga Bitcoini tarkvaras ilmnes 2 aastat pärast parandamist - Bitcoin Core'i vigaBitcoin Core'i tarkvara peamine viga, mida ei tohi segi ajada Bitcoini süsteem, oleks võinud lubada ründajatel varastada raha, viivitada tehingutega või jagada suurem plokiahelavõrk vastuolulisteks versioonideks, kui seda ei oleks kaks aastat tagasi salaja parandatud.

Viga koodis

Krüptopoodide saidi Purse protokolliinsener Braydon Fulleri ja protokolli Handshake vanema arendaja Javed Khani kolmapäeval avaldatud artikkel väidavad, et nad avastasid haavatavuse 2018. aasta juunis.

Veale on määratud raskusaste 7,8 skaalal 1 kuni 10, mida peetakse "kõrgeks" (9 ja rohkem peetakse "kriitiliseks"). Probleemi põhjustas see, et "kaugsõlmed" ei suutnud kehtetuid tehinguid oma mälust kustutada, ütles Khan.

Selliste tehingute tühistamata jätmine võib põhjustada rünnaku, mis laadib ohvrisõlmesse aegunud andmeid, mida nimetatakse "kontrollimatuks ressursitarbimiseks", mis lõpuks põhjustab sõlme sulgemise, seisab dokumendis.

Selle vea tõttu ohustasid 2. kihi (L2) lahendusi nagu Bitcoini plokiahelale ehitatud eksperimentaalne maksesüsteem Lightning Network. Bitcoini täielikud sõlmed seevastu ei riskinud raha kaotada.

Probleemi ärakasutamise katseid pole avaldatud, kirjutasid Khan ja Fuller. Haavatavust ei ole avalikustatud enam kui kahe aasta jooksul, kuna sõlmeoperaatorite värskendamine võttis oodatust kauem aega, ütles Fuller.

Kuigi viga on parandatud, toob selle avalikustamine välja raskused inimese loodud programmeerimiskeeltele ülemaailmse rahanduse standardi loomisel, rääkimata kõrgetest tehnilistest tõketest maailma suurima krüptoraha arendamisel.

Koodis sisalduv probleem lisati Bitcoin Core'i novembris 2017. Dokumendi kohaselt võis rünnakule kokku puutuda umbes 50% tolleaegsetest Bitcoini sõlmedest. Bitcoin Core'i eelmistes versioonides pole seda tüüpi probleeme esinenud.

Mitte ainult Bitcoin Core

Khan ütles, et haavatavus oleks võinud lubada ründajal varastada vahendeid sõlmedest, millel olid välgul avatud kanalid. Bitcoin Core'i versioone 0.16.0 ja 0.16.1 analüüsis ja parandas arendaja Matt Corallo pärast Fulleri avalikustamist põhimeeskonnale 2018. aasta juulis.

Bitcoin Core on võrgutarkvara võrdlusrakendus ehk standardversioon, millest pärinevad paljud teised. Dokumendi kohaselt võis viga hõlmata ka mitmeid teisi Bitcoini ja selle derivaatide rakendusi:

  • Bitcoin Knots v0.16.0
  • Kõik Bcoini beetaversioonid kuni v1.0.0-pre
  • Kõik Btcd versioonid kuni v0.20.1-beeta
  • Litecoin Core v0.16.0
  • Namecoin Core v0.16.1
  • Kõik Dcrd versioonid kuni versioonini 1.5.1.

Kõik need rakendused on lappitud.