Napaka visoke resnosti v programski opremi Bitcoin, razkrita dve leti po popravku

Napaka "visoke" resnosti v programski opremi Bitcoin, razkrita dve leti po odpravi - napaka Bitcoin CoreVelika napaka v programski opremi Bitcoin Core, ki je ne gre zamenjati Bitcoin sistem, bi lahko dovolil napadalcem, da ukradejo sredstva, odložijo posle ali razdelijo večje omrežje verig blokov na nasprotujoče si različice, če tega pred dvema letoma niso skrivaj odpravili.

Napaka v kodi

V članku, ki sta ga v sredo objavila Braydon Fuller, inženir protokola na spletnem mestu za kripto nakupovanje Purse, in Javed Khan, višji razvijalec protokola Handshake, piše, da so ranljivost odkrili junija 2018.

Napaki je bila dodeljena stopnja resnosti 7,8 na lestvici od 1 do 10, kar velja za "visoko" (9 in več velja za "kritično"). Težavo so povzročili "oddaljeni vozli", ki niso mogli počistiti neveljavnih transakcij iz svojega spomina, je dejal Khan.

Če takšnih transakcij ne bodo preklicali, bi lahko privedel do napada, ki naloži žrtev vozlišča z zastarelimi podatki, kar se imenuje "nenadzorovana poraba virov", s čimer se vozlišče zaustavi, navaja dokument.

Rešitve Layer 2 (L2), kot je Lightning Network, eksperimentalni plačilni sistem, zgrajen na verigi Bitcoin, so bile v nevarnosti zaradi te napake. Popolna vozlišča Bitcoina pa niso tvegala izgube sredstev.

Khan in Fuller sta zapisala, da nobenega poskusa izkoriščanja problema niso razkrili. Fuller je dejal, da ranljivost že dve leti ni bila javno razkrita, saj so operaterji vozlišč trajali dlje, kot so pričakovali.

Čeprav je bila napaka odpravljena, njeno razkritje izpostavlja težave pri gradnji svetovnega denarnega standarda na programskih jezikih, ki so jih ustvarili ljudje, da ne omenjamo visokih tehničnih ovir pri razvoju največje kriptovalute na svetu.

V dokumentu je bila težava v kodi vstavljena v Bitcoin Core novembra 2017. Približno 50% takratnih vozlišč Bitcoin je bilo potencialno izpostavljenih napadom. Prejšnje različice Bitcoin Core niso imele tovrstnih težav.

Ne samo Bitcoin Core

Khan je dejal, da bi ranljivost lahko napadalcu omogočila, da ukrade sredstva vozliščem, ki imajo odprte kanale na streli. Različice Bitcoin Core 0.16.0 in 0.16.1 je razvil razvijalec Matt Corallo po razkritju Fullerja skupini Core julija 2018.

Bitcoin Core je referenčna izvedba ali standardna različica omrežne programske opreme, iz katere izhajajo številni drugi. V skladu z dokumentom je napaka lahko vključevala tudi več drugih izvedb Bitcoina in njegovih izvedenih finančnih instrumentov:

  • Bitcoin vozli v0.16.0
  • Vse beta različice Bcoina do v1.0.0-pre
  • Vse različice Btcd do v0.20.1-beta
  • Litecoin Core v0.16.0
  • Namecoin Core v0.16.1
  • Vse različice Dcrd do v1.5.1.

Vse te izvedbe so bile popravljene.