Greška velike ozbiljnosti u Bitcoin softveru otkrivena dvije godine nakon popravka

"Visoka" ozbiljnost programske pogreške u Bitcoin softveru otkrivena dvije godine nakon popravka - Bitcoin Core bugVelika greška u softveru Bitcoin Core, s kojom se ne smije brkati Bitcoin sustav, mogao je dopustiti napadačima da kradu sredstva, odgađaju poslove ili dijele veću blockchain mrežu na proturječne verzije da to nije potajno popravljeno prije dvije godine.

Greška u kodu

Članak koji su u srijedu objavili Braydon Fuller, inženjer protokola na web mjestu za kripto kupovinu Purse i Javed Khan, stariji programer protokola Handshake, kažu da su ranjivost otkrili u lipnju 2018. godine.

Bug je dodijeljen stupnju ozbiljnosti od 7,8 na skali od 1 do 10, što se smatra "visokim" (9 i više smatra se "kritičnim"). Problem su uzrokovali "udaljeni čvorovi" koji nisu uspjeli očistiti nevaljane transakcije iz svoje memorije, rekao je Khan.

Neuspjeh otkazivanja takvih transakcija mogao bi dovesti do napada koji oštećeni čvor opterećuje zastarjelim podacima u onome što se naziva "nekontroliranom potrošnjom resursa", što na kraju dovodi do isključivanja čvora, navodi se u dokumentu.

Rješenja sloja 2 (L2) kao što je Lightning Network, eksperimentalni sustav plaćanja izgrađen na Bitcoin blockchainu, bila su izložena riziku zbog ove programske pogreške. Puni čvorovi Bitcoina, s druge strane, nisu riskirali gubitak sredstava.

Nisu otkriveni pokušaji iskorištavanja problema, napisali su Khan i Fuller. Ranjivost nije javno otkrivena više od dvije godine jer su operaterima čvorova trebale više vremena nego što se očekivalo da se ažuriraju, rekao je Fuller.

Iako je greška ispravljena, njezino otkrivanje naglašava poteškoće izgradnje globalnog monetarnog standarda na programskim jezicima koje su stvorili ljudi, a da se ne spominju visoke tehničke prepreke u razvoju najveće kriptovalute na svijetu.

Problem u kodu umetnut je u Bitcoin Core u studenom 2017. Oko 50% tadašnjih čvorova Bitcoin potencijalno je bilo izloženo napadu, navodi se u dokumentu. Prethodne verzije Bitcoin Corea nisu imale ovu vrstu problema.

Ne samo Bitcoin Core

Khan je rekao da je ranjivost mogla dopustiti napadaču da krade sredstva s čvorova koji su imali otvorene kanale na Lightningu. Bitcoin Core verzije 0.16.0 i 0.16.1 analizirao je i ispravio programer Matt Corallo nakon što je Fuller otkrio Core timu u srpnju 2018.

Bitcoin Core je referentna implementacija, ili standardna verzija, mrežnog softvera iz kojeg proizlaze mnogi drugi. Prema dokumentu, greška je također mogla uključivati ​​nekoliko drugih implementacija Bitcoina i njegovih derivata:

  • Bitcoin čvorovi v0.16.0
  • Sve beta verzije Bcoina do v1.0.0-pre
  • Sve verzije Btcd-a do v0.20.1-beta
  • Litecoin Core v0.16.0
  • Namecoin Core v0.16.1
  • Sve verzije Dcrd-a do v1.5.1.

Sve su ove implementacije zakrpane.