AktualnościKryptoZachXBT: nagroda Ripple w wysokości 250 000 USD za błąd w XRP Ledger zbyt niska jak na lukę wartą 18 bilionów tokenów

ZachXBT: nagroda Ripple w wysokości 250 000 USD za błąd w XRP Ledger zbyt niska jak na lukę wartą 18 bilionów tokenów

Autor: Cryptopolitan·

Najważniejsze informacje

  • •ZachXBT skrytykował nagrodę 250 000 USD od Ripple dla Veria Labs jako niewystarczającą, ostrzegając, że skąpe nagrody mogą skłonić przyszłych badaczy do wykorzystania luk zamiast ich ujawniania.
  • •Veria Labs odkrył przepełnienie liczby całkowitej w silniku płatności XRP Ledger, które w połączeniu z podobnie wadliwą kontrolą bezpieczeństwa pozwoliło w pojedynczej transakcji zasilić 18,45 biliona XRP — około 184 razy więcej niż sztywna podaż tokena — na 256 kontach.
  • •Agent AI firmy Veria połączył dwa błędy wprowadzone w 2015 i 2017 roku w działający proof of concept, jednak deweloperzy nie znaleźli dowodów na wykorzystanie luki w praktyce.
  • •RippleX wydał poprawkę w wersji xrpld 3.4.1 25 września, co było pierwszą od ponad dziesięciu lat zmianą przetwarzania transakcji ominiętą poza proces poprawek XRP Ledger, a w dniu wydania ponad 80% walidatorów uruchamiało już poprawiony kod.
  • •ZachXBT wskazał na nagrodę 1,5 miliona USD od Zcash dla Taylora Hornby'ego za wspierany przez AI błąd fałsz, który naraził na ryzyko około 2,3 miliarda USD w ZEC, podczas gdy współzałożyciel Verii nazwał wypłatę od Ripple maksymalną kwotą programu i największą kiedykolwiek przyznaną za lukę odkrytą przez agenta AI.
ZachXBT: nagroda Ripple w wysokości 250 000 USD za błąd w XRP Ledger zbyt niska jak na lukę wartą 18 bilionów tokenów

Śledczy ds. blockchaina ZachXBT oświadczył w poniedziałek, że 250 000 USD, które Ripple wypłacił firmie bezpieczeństwa Veria Labs za odkrycie luki pozwalającej na wyemitowanie bilionów XRP, było zdecydowanie zbyt niskie — wypłata ta ponownie rozpaliła jego wieloletnią krytykę sposobu, w jaki firma traktuje badaczy bezpieczeństwa.

ZachXBT: Badacze są traktowani po królewsku niedobrze

W poście na X z 12 października ZachXBT skrytykował kwotę 250 000 USD przyznaną firmie Veria Labs, pisząc, że za takie odkrycie „powinna przypadać wypłata z siedmiocyfrowa jako minimum” dla firmy i jej współzałożyciela Caydena Liao.

Opisał tę wypłatę jako element trendu, w którym „dobrze skapitalizowane organizacje” oszukują etycznych badaczy bezpieczeństwa (white hat). Ćwierć miliona dolarów to za mało, argumentował, gdy „skarbiec” płaccej organizacji „liczy miliardy”, i ostrzegł, że skąpe nagrody mogą skłonić kolejną osobę, która znajdzie taką lukę, do jej wykorzystania zamiast ujawnienia.

Liao przedstawił inną perspektywę, mówiąc, że Ripple wypłacił firmie Veria maksymalną nagrodę programu bug bounty w wysokości 250 000 USD i nazwał ją największą kwotą jaką kiedykolwiek przyznano za lukę odkrytą w całości przez agenta AI.

Błąd, który mógł stworzyć 18,45 biliona XRP

Veria Labs odkrył krytyczne przepełnienie liczby całkowitej (integer overflow) w silniku płatności XRP Ledger — kodzie, który rozlicza transakcje w oparciu o wbudowany arkusz zleceń sieci. Gdy pojedyncza płatność zaspokajała wiele ofert jednocześnie, silnik sumował kwoty bez sprawdzania przepełnienia. Wystarczająco duża suma „zawijała się” do bardzo małej liczby, co oznaczało, że sprzedający otrzymywali pełną zapłatę, a kupującemu naliczano jedynie znikomą resztę.

Ta różnica stanowiła nowo wytworzone XRP, które można było wydawać jak każde inne. Księga posiada kontrolę bezpieczeństwa „XRPNotCreated”, zaprojektowaną by blokować każdą transakcję tworzącą nowe coiny, jednak kontrola ta zawierała podobny błąd i nie wykryła rozbieżności. Incydent dotyczył zatem zarówno obliczeń płatności, jak i zabezpieczenia mającego zapobiegać nieautoryzowanej emisji.

Według Veria, jego agent AI połączył oba błędy — wprowadzone odpowiednio w listopadzie 2015 i lutym 2017 — w działający proof of concept. W ramach pojedynczej transakcji zasilił 18,45 biliona XRP na 256 kont, czyli około 184 razy więcej niż sztywna podaż XRP wynosząca 100 miliardów tokenów. Veria oszacował, że środki zagrożone były niemal w całości całkowitej wartości rynkowej tokena wynoszącej94 miliardy USD, przy cenie 1,59 USD.

Deweloperzy nie znaleźli śladów wykorzystania luki w praktyce. Raport ujawnienia firmy Ripple wyjaśniał, że przeprowadzenie ataku wymagałoby setek ofert wycenionych w sposób, jakiego żaden prawdziwy trader by nie użył.

Veria zgłosił lukę 22 września w ramach programu bug bounty XRPL i otrzymał nagrodę w wysokości 250 000 USD.

Precedens o wartości 1,5 miliona USD w Zcash

Argumentując przeciwko wypłacie od Ripple, ZachXBT wskazał na 1,5 miliona USD, które Zcash przyznał badaczowi Taylorowi Hornby'emu. Hornby ujawnił błąd pozwalający na fałszowanie środków w chronionej puli Orchard w Zcash — lukę, która naraziła na ryzyko około 2,3 miliarda USD w ZEC — i otrzymał nagrodę 750 000 USD oraz równowartość w postaci grantu bonusowego 750 000 USD, zatwierdzonego przez posiadaczy coinów w trzecim kwartale w rundzie retroaktywnego finansowania, która rozdzieliła łącznie około 8,39 miliona USD.

Dyrektor wykonawczy Shielded Labs Jason McGee, który złożył nominację bonusową, argumentował, że pierwotna nagroda stanowiła jedynie około 0,033% zagrożonych środków, wobec najniższego precedensu wynoszącego 0,24%. Wyższa nagroda, napisał, to dla protokołu „tania polisa ubezpieczeniowa”. Podobnie jak odkrycie Verii, odkrycie Hornby'ego było wspierane przez AI.

Poprawka wydana poza procesem poprawek

RippleX, dział inżynieryjny Ripple, potwierdził lukę tego samego dnia, gdy Veria ją zgłosił, a po ustaleniu, że XRP utworzone dzięki luce faktycznie można było wydawać, ocenił ją jako krytyczną. Poprawka została scalona 23 września, a 25 września wydana w wersji xrpld 3.4.1.

W normalnych okolicznościach taka zmiana przechodziłaby przez proces poprawek (amendment process) XRP Ledger, który wymaga wsparcia ponad 80% zaufanych walidatorów przez dwa kolejne tygodnie. Tym razem jednak poprawka weszła w życie wraz z aktualizacją każdego serwera. W dniu wydania ponad 80%idatorów na domyślnej Unique Node List uruchamiało już poprawiony kod.

Raport Ripple stwierdził, że była to pierwsza zmiana w przetwarzaniu transakcji od ponad dziesięciu lat, która ominęła system poprawek — krok podjęty dlatego, że w przeciwnym razie luka pozostałaby narażona na atak przez tygodnie, zanim poprawka weszłaby w życie. Reakcja ta poddała więc pod nadzór zarówno adopcję przez walidatory, jak i proces poprawek — oprócz samej nagrody.

Decyzja o opóźnieniu publicznego udostępnienia kodu źródłowego jednakże spotkała się z krytyką. Justin Bons, założyciel Cyber Capital, oświadczył, że XRP był „uruchamiany na kodzie zamkniętym”, dopóki nie opublikowano pełnego kodu 3.4.1. Inżynier RippleX Mayukha Vadari odpowiedziała na krytykę, twierdząc, że stare podejście już nie działa, i wyjaśniła, że krytycznej poprawki nie można włączyć do rutynowego publicznego wydania, ponieważ atakujący natychmiast by ją wykryli i poddali inżynierii odwrotnej.