Podpis na zaledwie 3 tysiące tokenów zamienił się w zgodę na wypłatę 203 milionów. Tak właśnie 21 lipca hakerzy obeszli most Wanchain łączący Cardano z BNB Chain, wyprowadzając około 515 milionów tokenów NIGHT o wartości blisko 13 mln dolarów.
NIGHT to token sieci Midnight, prywatnego łańcucha partnerskiego Cardano, zbudowanego przez założyciela Cardano Charlesa Hoskinsona w odpowiedzi na rosnący popyt na poufne transakcje. Most Wanchain przenosił aktywa — w tym stablecoin RLUSD — między Cardano a BNB Chain, i to właśnie w jego kodzie ukrywała się luka.
Firma bezpieczeństwa BlockSec Phalcon rozłożyła atak na czynniki pierwsze, aż do poziomu bajtów. Walidator TreasuryCheck budował podpisaną wiadomość, sklejając 14 pól o zmiennej długości bez separatorów i bez wskazania długości każdego z nich. Różne kombinacje danych mogły dawać dokładnie ten sam ciąg bajtów i ten sam hash. Legalny podpis autoryzujący zaledwie 3110 NIGHT posłużył do odblokowania ponad 203 milionów tokenów — wzmocnienie 65 tysięcy razy. Własna funkcja serializacji Cardano, która zapobiegłaby takiej kolizji, po prostu nie została użyta przy budowaniu hasha podpisu.
Cena NIGHT spadła o ponad 30%, ustanawiając historyczne minimum w okolicach 0,016-0,019 dolara. Skradzione tokeny to około 2% całkowitej podaży 24 mld NIGHT, ale niemal cała skarbnica samego mostu. Wanchain natychmiast wstrzymał działanie mostu i rozpoczął śledztwo, a fundacja Midnight pospieszyła z uspokojeniem posiadaczy tokenów: incydent, jak twierdzą, był całkowicie odizolowany w infrastrukturze zewnętrznego mostu i nie dotknął walidatorów, mechanizmu konsensusu ani głównego protokołu sieci.
Formalnie to prawda — sama sieć Midnight nie została zhakowana. Ale to właśnie mosty drugi rok z rzędu pozostają najsłabszym ogniwem infrastruktury multichain: w czerwcu podobna historia spotkała Humanity Protocol na 31 mln dolarów, a w zeszłym tygodniu wyrocznię Ostium na 18 mln. Atakujący coraz rzadziej łamią same blockchainy, a coraz częściej szukają błędu na styku między nimi — tam, gdzie różne systemy powinny zgadzać się co do formatu danych, ale nie zawsze robią to poprawnie.



