Chyba vysokej závažnosti v bitcoinovom softvéri sa odhalila 2 roky po oprave

„Vysoká“ chyba závažnosti v bitcoinovom softvéri sa odhalila 2 roky po oprave - chyba Bitcoin CoreHlavná chyba v softvéri Bitcoin Core, s ktorou si nemožno zamieňať Bitcoinový systém, mohlo útočníkom umožniť ukradnúť finančné prostriedky, oddialiť obchody alebo rozdeliť väčšiu blockchainovú sieť na konfliktné verzie, ak by to nebolo tajne opravené pred dvoma rokmi.

Chyba v kóde

V článku zverejnenom v stredu Braydonom Fullerom, protokolovým inžinierom na kryptoobchodnom webe Purse, a Javed Khanom, hlavným vývojárom protokolu Handshake, sa uvádza, že zraniteľnosť odhalili v júni 2018.

Chyby bola priradená úroveň závažnosti 7,8 na stupnici od 1 do 10, ktorá sa považuje za „vysokú“ (9 a vyššia sa považuje za „kritickú“). Problém spôsobili "vzdialené uzly", ktoré nedokázali vymazať neplatné transakcie z pamäte, uviedol Khan.

Ak takéto transakcie nezrušíte, môže to viesť k útoku, ktorý načíta uzlu obete zastarané dáta, ktoré sa označujú ako „nekontrolovaná spotreba zdrojov“, a nakoniec spôsobia vypnutie uzla, uvádza sa v dokumente.

Riešenie vrstvy 2 (L2), ako napríklad Lightning Network, experimentálny platobný systém postavený na bitcoinovom blockchaine, bolo touto chybou ohrozené. Plné uzly bitcoinu naopak neriskovali stratu finančných prostriedkov.

Neboli odhalené žiadne pokusy o využitie problému, napísali Khan a Fuller. Zraniteľnosť nebola zverejnená už viac ako dva roky, pretože aktualizácia operátorov uzlov trvala dlhšie, ako sa očakávalo, uviedol Fuller.

Aj keď bola chyba opravená, jej zverejnenie zdôrazňuje ťažkosti pri budovaní globálneho peňažného štandardu pre programovacie jazyky vytvorené ľuďmi, nehovoriac o vysokých technických prekážkach pri vývoji najväčšej kryptomeny na svete.

Problém v kóde bol vložený do Bitcoin Core v novembri 2017. Asi 50% bitcoinových uzlov v tom čase bolo podľa dokumentu potenciálne vystavených útoku. Predchádzajúce verzie Bitcoin Core tento problém nezažili.

Nielen bitcoinové jadro

Khan uviedol, že zraniteľnosť mohla útočníkovi umožniť ukradnúť prostriedky z uzlov, ktoré mali otvorené kanály na blesku. Bitcoinové verzie 0.16.0 a 0.16.1 analyzoval a opravil vývojár Matt Corallo po Fullerovom odhalení tímu Core v júli 2018.

Bitcoin Core je referenčná implementácia alebo štandardná verzia sieťového softvéru, od ktorého sa odvíja mnoho ďalších. Podľa dokumentu sa chyba mohla týkať aj niekoľkých ďalších implementácií bitcoinu a jeho derivátov:

  • Bitcoinové uzly v0.16.0
  • Všetky beta verzie Bcoinov až do verzie 1.0.0-pre
  • Všetky verzie Btcd až v0.20.1-beta
  • Litecoin Core v0.16.0
  • Namecoin Core v0.16.1
  • Všetky verzie Dcrd až po v1.5.1.

Všetky tieto implementácie boli opravené.