Błąd Coldcarda umożliwił kradzież 1 367 BTC

Błąd w firmware Coldcard z marca 2021 roku obniżył entropię seedów. Atakujący wyprowadzili 1 367 BTC z adresów utworzonych po aktualizacji; jeden użytkownik stracił 2 BTC.
Błąd w oprogramowaniu portfela sprzętowego Coldcard doprowadził do wyprowadzenia 1 367 BTC z adresów utworzonych po wprowadzeniu wadliwej zmiany. Użytkownik Reddita podpisujący się DuckDuckMoss napisał, że stracił 2 BTC, które odkładał przez osiem lat. Jego relacja jest jednym z wielu zgłoszeń pojawiających się po 30 lipca.
Przyczyną była jedna linijka kodu umieszczona w repozytorium 1 marca 2021 roku, a wprowadzona do wersji firmware 4.0.0 z 17 marca. Biblioteka libngu sprawdzała jedynie, czy flaga wyłączenia generatora sprzętowego istnieje, ale nie weryfikowała jej wartości. W efekcie proces kompilacji kierował generowanie seedów do programowego generatora MicroPythona.
Zapasowy generator inicjalizuje się na podstawie numeru seryjnego układu i stanów zegarów. Te wartości nie są tajne i dają ograniczoną liczbę możliwych stanów. Analizy wskazują, że seedy z modeli Mk3 miały około 40 bitów entropii, a z modeli Mk4, Mk5 i Q około 72 bity, zamiast przyjętych 128 bitów. Wszystkie zaatakowane adresy powstały po marcu 2021 roku.
Atakujący odtworzył możliwe strumienie losowości, wygenerował odpowiadające im adresy i porównał je z publicznym łańcuchem bloków. Nie był wymagany fizyczny dostęp do urządzeń. Przeszukanie portfeli odbyło się w trzech falach obejmujących łącznie 4 585 adresów. Pierwsza fala miała miejsce 30 lipca rano i trwała około 40 minut. Szacunki wskazują 1 367 BTC skradzionych łącznie; środki pozostają na adresach kontrolowanych przez napastnika.
Producent Coldcard, firma Coinkite, opublikowała ostrzeżenie 30 lipca i udostępniła poprawkę 31 lipca dla wszystkich modeli i ścieżek wydawniczych. Aktualizacja chroni jednak jedynie seed tworzone po instalacji poprawki; seedy wygenerowane wcześniej nie są naprawiane. Firma zaleca migrację środków na nowe portfele. Zaznaczono również, że multisig zapewnia ochronę tylko wtedy, gdy kworum podpisów nie składa się wyłącznie z podatnych urządzeń. Portfele oparte na innym kodzie, takie jak TAPSIGNER, OPENDIME i SATSCARD, nie są objęte problemem.
Rodolfo Novak, szef Coinkite, przeprosił użytkowników i przyjął odpowiedzialność za błąd. Wskazał, że wewnętrzne przeglądy nie wykryły problemu, i zasugerował, że próbki starszego firmware’u mogły zostać sprawdzone przez modele sztucznej inteligencji. Część badaczy odrzuciła hipotezę o AI i wskazała na błąd inżynierski, który powinien zostać wykryty podczas audytu generatora kluczy.
Komentarze z branży opisują skalę zdarzenia. Guy Swann określił je jako „najboleśniejszy cios w historii Bitcoina wymierzony w ludzi, którzy zabezpieczali się poprawnie”. Lorenzo Valente zwrócił uwagę, że klienci przenoszą ryzyko na oprogramowanie, sprzęt i łańcuch dostaw. Nick Neuman skrytykował zalecenie producenta, by przy tworzeniu portfela dodać co najmniej 50 uczciwych rzutów kostką, jako mało praktyczne dla większości użytkowników. David Lawrence przewiduje, że część inwestorów może teraz wybierać fundusze ETF i regulowanych powierników.
Redakcje zabezpieczające analizę łańcucha bloków i zespoły badawcze opublikowały techniczne rekonstrukcje działania awaryjnego generatora i zestawienia strat. Użytkownicy zostali wezwani do natychmiastowej weryfikacji modelu urządzenia i wersji firmware oraz do migracji środków z portfeli utworzonych po marcu 2021 roku. Część właścicieli podatnych seedów nadal nie przeniosła środków, co może prowadzić do kolejnych strat.
Treści publikowane na GNcrypto mają wyłącznie charakter informacyjny i nie stanowią porady finansowej. Dokładamy starań, aby informacje były rzetelne i aktualne, jednak nie gwarantujemy ich pełnej poprawności, kompletności ani niezawodności. GNcrypto nie ponosi odpowiedzialności za ewentualne błędy, pominięcia ani straty finansowe wynikające z polegania na tych treściach. Wszystkie działania podejmujesz na własne ryzyko. Zawsze prowadź własne badania i korzystaj z pomocy profesjonalistów. Szczegóły znajdziesz w naszych Warunkach, Polityce prywatności i Zastrzeżeniach.







