Un bug de severitate ridicată în software-ul Bitcoin a fost dezvăluit la 2 ani de la remediere

Eroare de severitate „înaltă” în software-ul Bitcoin a fost dezvăluită la 2 ani după remediere – eroare Bitcoin CoreO eroare majoră în software-ul Bitcoin Core, care nu trebuie confundat Sistemul Bitcoin, ar fi putut permite atacatorilor să fure fonduri, să întârzie tranzacții sau să împartă cea mai mare rețea blockchain în versiuni conflictuale dacă nu ar fi fost corectată în secret în urmă cu doi ani.

Bug din cod

Un articol publicat miercuri de Braydon Fuller, un inginer de protocol la site-ul de cumpărături cripto Purse, și Javed Khan, un dezvoltator senior al protocolului Handshake, spune că au detectat vulnerabilitatea în iunie 2018.

Bugului i s-a atribuit un nivel de severitate de 7,8 pe o scară de la 1 la 10, care este considerat „înalt” (9 și mai sus este considerat „critic”). Problema a fost cauzată de „noduri la distanță” care nu au reușit să ștergă tranzacțiile nevalide din memoria lor, a spus Khan.

Eșecul de a șterge astfel de tranzacții ar putea duce la un atac care încarcă nodul victimă cu date învechite în ceea ce se numește „consum necontrolat de resurse”, determinând în cele din urmă închiderea nodului în sine, se arată în document.

Soluțiile de nivel 2 (L2) precum Lightning Network, sistemul de plată experimental construit pe blockchain-ul Bitcoin, erau în pericol din cauza acestui bug. Cu toate acestea, nodurile complete Bitcoin nu erau expuse riscului de a pierde fonduri.

Nu au fost dezvăluite încercări de a exploata problema, au scris Khan și Fuller. Vulnerabilitatea nu a fost dezvăluită public timp de mai mult de doi ani, deoarece operatorii de noduri au durat mai mult decât se aștepta să se actualizeze, a spus Fuller.

Deși eroarea a fost remediată, dezvăluirea sa evidențiază dificultățile construirii unui standard monetar global pe limbaje de programare create de oameni, ca să nu mai vorbim de barierele tehnice ridicate în dezvoltarea celei mai mari criptomonede din lume.

Defectul codului a fost introdus în Bitcoin Core în noiembrie 2017. Aproximativ 50% din nodurile Bitcoin la acea vreme au fost potențial expuse unui atac, conform documentului. Versiunile anterioare ale Bitcoin Core nu s-au confruntat cu acest tip de problemă.

Nu doar Bitcoin Core

Khan a spus că vulnerabilitatea ar fi putut permite unui atacator să fure fonduri de la nodurile care aveau canale deschise către Lightning. Versiunile Bitcoin Core 0.16.0 și 0.16.1 au fost analizate și corectate de dezvoltatorul Matt Corallo în urma dezvăluirii lui Fuller către echipa Core în iulie 2018.

Bitcoin Core este implementarea de referință, sau versiunea standard, a software-ului de rețea din care sunt derivate multe altele. Potrivit documentului, bug-ul ar fi putut afecta și alte câteva implementări ale Bitcoin și derivatele sale:

  • Bitcoin Knots v0.16.0
  • Toate versiunile beta de Bcoin până la v1.0.0-pre
  • Toate versiunile de Btcd până la v0.20.1-beta
  • Litecoin Core v0.16.0
  • Namecoin Core v0.16.1
  • Toate versiunile de Dcrd până la v1.5.1.

Toate aceste implementări au fost corectate.