Pięcioletnia wada generowania ziarna w Coldcard ponownie wywołała apele o niezależne testowanie oprogramowania sprzętowego portfeli sprzętowych po tym, jak podejrzewane ataki wyssały Bitcoiny o wartości prawie 90 milionów dolarów z tysięcy portfeli.
Podsumowanie
- Dyrektor ds. bezpieczeństwa w Kraken wezwał do niezależnego testowania generowania ziarna w portfelach sprzętowych po wykryciu wady w Coldcard.
- Podejrzewane ataki wyssały Bitcoiny o wartości prawie 90 milionów dolarów, a Galaxy Research śledzi ponad 5200 potencjalnych adresów ofiar.
- Coinkite wydało poprawione oprogramowanie sprzętowe, ale twierdzi, że dotknięci użytkownicy muszą utworzyć nowe frazy początkowe, ponieważ aktualizacje nie mogą naprawić istniejących portfeli.
- Badacze bezpieczeństwa prześledzili problem do błędu w oprogramowaniu sprzętowym, który używał słabszego generatora liczb losowych podczas tworzenia portfela.
Dyrektor ds. bezpieczeństwa w Kraken, Nick Percoco, powiedział w poście na X w niedzielę, że incydent powinien być ostrzeżeniem dla branży portfeli sprzętowych, argumentując, że producenci nie powinni być jedynymi stronami weryfikującymi sposób generowania fraz początkowych portfela.
Powiedział, że produkcyjne oprogramowanie sprzętowe powinno przechodzić niezależne testy, aby potwierdzić, że zatwierdzone źródło losowości jest tym faktycznie używanym podczas tworzenia tajemnic portfela.
Według najnowszej analizy blockchain Galaxy Research, podejrzewani atakujący wyssali już ponad 1800 BTC z ponad 5200 potencjalnych adresów ofiar w czterech obserwowanych falach ataków, chociaż firma podkreśliła, że te liczby są szacunkami on-chain, a nie potwierdzonymi stratami. Coinkite nie zweryfikowało każdego dotkniętego portfela, a same dane blockchain nie mogą określić, czy pojedynczy podmiot przeprowadził wszystkie ataki.
Wada Coldcard umknęła przeglądowi przez ponad pięć lat
Coinkite ujawniło w czwartek, że podatność pochodzi z marca 2021 roku, kiedy firma migrowała część swojego oprogramowania sprzętowego podczas integracji nowej biblioteki kryptograficznej.
Zamiast używać zamierzonego, opartego na sprzęcie prawdziwego generatora liczb losowych Coldcard do tworzenia ziaren portfela, zaktualizowane oprogramowanie sprzętowe przypadkowo wywołało słabszy deterministyczny generator pseudolosowy dostarczany przez MicroPython.
Według analizy pośmiertnej Coinkite, zamierzony generator liczb losowych pozostał aktywny w innym miejscu oprogramowania sprzętowego, co pozwoliło przeglądom kodu zweryfikować jego obecność bez ujawniania, że tworzenie portfela opierało się na innym źródle entropii.
Firma powiedziała, że nie wiedziała o istnieniu generatora MicroPython w odpowiedniej ścieżce kodu aż do dochodzenia. Podczas gdy sprzętowy generator liczb losowych nadal działał dla innych funkcji, nie był już odpowiedzialny za generowanie nowych tajemnic portfela.
Zespół inżynierii Bitcoin i bezpieczeństwa Block niezależnie doszedł do tego samego wniosku podczas swojego przeglądu technicznego. Firma powiedziała, że dotknięte oprogramowanie sprzętowe wywoływało deterministyczny fallback MicroPython zamiast sprzętowego generatora liczb losowych STM32 podczas tworzenia ziaren portfela. Chociaż Block powiedział, że nie ukończył pełnych testów empirycznych każdego urządzenia, zdecydował się ujawnić swoje ustalenia, ponieważ pojawiły się już raporty o aktywnych kradzieżach.
Coinkite szacuje, że ziarna utworzone na dotkniętych urządzeniach Mk2 i Mk3 mogą zawierać około 40 bitów efektywnej entropii, podczas gdy dotknięte modele Mk4, Mk5 i Q mogą zawierać około 72 bity zamiast zamierzonych 128 bitów.
Testowanie portfeli sprzętowych nie obejmowało weryfikacji entropii
Używając incydentu Coldcard jako przykładu, Percoco argumentował, że certyfikacja portfeli sprzętowych przeoczyła jedną z najważniejszych części bezpieczeństwa portfela.
Powiedział, że użytkownicy muszą obecnie ufać, że producenci poprawnie implementują generowanie ziarna, ponieważ żaden niezależny proces nie weryfikuje, czy produkcyjne oprogramowanie sprzętowe faktycznie wywołuje zatwierdzone źródło entropii. Istniejące certyfikacje, w tym oceny Common Criteria dla elementów bezpiecznych, przeglądy CSPN i audyty sponsorowane przez dostawców, nie systematycznie weryfikują tej zależności, według Percoco.
Aby zilustrować tę lukę, wskazał na NIST SP 800-90B, amerykański standard regulujący projektowanie i walidację prawdziwych generatorów liczb losowych używanych w systemach kryptograficznych, oraz na niemieckie ramy BSI AIS-31, które nakładają podobne wymagania testowe. Twierdził, że porównywalna kompleksowa weryfikacja nie istnieje obecnie dla portfeli sprzętowych.
Percoco porównał również ten sektor z bezpieczeństwem płatności, zauważając, że urządzenia do wprowadzania PIN nie mogą być wysyłane bez niezależnych testów laboratoryjnych, podczas gdy amerykańskie moduły kryptograficzne rządowe wymagają walidacji źródła entropii przed zatwierdzeniem.
Użytkownicy Coldcard nadal potrzebują nowych ziaren portfela
W miarę jak aktywność ataków trwała przez weekend, Coinkite poinformowało, że wstrzymało wszystkie wysyłki po potwierdzeniu luki i zniszczyło wszystkie pozostałe urządzenia w swoich obiektach zawierające dotknięte oprogramowanie układowe.
Firma mimo to doradziła klientom, aby nie wyrzucali dotkniętych urządzeń, ponieważ mogą one stać się ważne, jeśli skradzione środki zostaną ostatecznie odzyskane w postępowaniu sądowym. Coinkite dodało, że jego zespół prawny będzie koordynować działania z organami ścigania w wielu jurysdykcjach, gdzie to właściwe.
Aktualizacje oprogramowania układowego zostały już wydane dla wszystkich dotkniętych modeli, w tym wersja 4.2.0 dla Mk2 i Mk3, wersja 5.6.0 dla Mk4 i Mk5, wersja 1.5.0Q dla Coldcard Q oraz wersje 6.6.0X i 6.6.0QX dla wydań Edge. Według firmy instalacja zaktualizowanego oprogramowania układowego naprawia tylko przyszłe tworzenie portfeli i nie wzmacnia fraz ziarna wygenerowanych przed poprawką.
Z tego powodu użytkownicy objęci zaleceniem są instruowani, aby wygenerowali całkowicie nowe frazy ziarna po zaktualizowaniu swoich urządzeń, zweryfikowali adres odbiorczy, wysłali małą transakcję testową i przenieśli pozostałe saldo dopiero po potwierdzeniu, że transfer się powiódł.
Coinkite poinformowało, że portfele utworzone przy użyciu co najmniej 50 uczciwych, prywatnych rzutów kośćmi nie są uważane za narażone na samą wadę generatora liczb losowych. Firma dodała, że silne i unikalne hasło BIP-39 zapewnia kolejną warstwę ochrony, ale nie usuwa słabości z już dotkniętego ziarna, co oznacza, że migracja pozostaje zalecanym działaniem.
Trwające ataki wciąż zwiększają znane straty
Osobna analiza blockchain przeprowadzona przez Galaxy Research wskazuje, że ataki trwały od czasu ujawnienia luki.
Alex Thorn, szef działu badań w Galaxy, zidentyfikował podejrzewaną czwartą skoordynowaną falę ataków 3 sierpnia, co zwiększa zaobserwowaną przez firmę sumę do około 1815,75 BTC na 5294 potencjalnych adresach ofiar, jeśli żadna z grup adresów się nie pokrywa. Thorn opisał portfele jako „prawdopodobne ofiary Coldcard” i podkreślił, że liczby pochodzą z analizy blockchain, a nie z potwierdzonych zapisów urządzeń ani ustaleń organów ścigania.
Galaxy poinformowało również, że aktywność ataków osiągnęła 13,8 przeszukiwań portfeli na blok podczas ostatniej fali, w porównaniu z bazową wartością 0,3 przeszukiwań na blok przed incydentem. Firma zauważyła, że większość sald ofiar została wysłana na nowo utworzone adresy zamiast do jednego portfela zbiorczego, podczas gdy niektóre środki przeszły już przez transakcje drugiego skoku, co utrudnia śledzenie skradzionych bitcoinów.
Według Galaxy, użytkownicy, których skradzione środki pozostają w niepotwierdzonych transakcjach bitcoin, mogą nadal mieć wąską możliwość nadania transakcji zastępczej z wyższą opłatą, zanim górnicy potwierdzą pierwotny transfer.
Powołując się na dokumentację Bitcoin Core, firma badawcza zauważyła, że Replace-by-Fee można próbować tylko wtedy, gdy transakcja pozostaje niepotwierdzona, i nie gwarantuje odzyskania środków, nawet jeśli prawowity właściciel nadal kontroluje dotknięte klucze.







