Coldcard trafia do Techmeme Bitcoin News po tym, jak wada firmware’u ujawniła seedy portfeli
- Martin Chen

- 2 sie
- 14 minut(y) czytania
Coldcard znalazł się w relacjach Techmeme Bitcoin po tym, jak badacze powiązali wadliwe firmware z kradzieżą 1 082,65 BTC z 1 196 adresów portfeli. Galaxy Research prześledziło transakcje w 41-minutowym oknie 30 lipca. W chwili realizacji transakcji bitcoin był wart około 70,2 mln USD.
Sama skala czyni ten incydent istotnym. Głębszy problem dotyczy jednak metody. Atakujący podobno nie przejął pojedynczych urządzeń, nie przechwytywał transakcji ani nie wykradał fraz odzyskiwania za pomocą phishingu. Badacze uważają, że odtworzył offline przewidywalne seedy portfeli, a następnie wyprowadził z nich odpowiadające im klucze prywatne.
Mechanizm ten odwraca podstawową obietnicę stojącą za portfelem sprzętowym. Cold storage chroni klucz, trzymając go z dala od komputera podłączonego do internetu. Izolacja niewiele jednak pomaga, gdy wadliwe oprogramowanie czyni pierwotny klucz przewidywalnym. Właściciel Coldcard, Coinkite, wydał poprawione firmware, ale aktualizacja nie może naprawić seedów, które zostały już wygenerowane.
Historia Techmeme Bitcoin zaczęła się od 41-minutowego transferu
Galaxy Research wykryło skoordynowaną operację, w której między 01:10 a 01:51 UTC przeniesiono 1 082,65 BTC z 1 196 adresów.
Transfery pojawiły się w sześciu blokach Bitcoin, od bloku 960 183 do bloku 960 191. Trzy bloki pośrednie nie zawierały żadnej ze zidentyfikowanych transakcji. Ten wzorzec sugeruje, że operator przesyłał transakcje partiami, zamiast prowadzić ciągły proces transferów.
Galaxy ustaliło, że transakcje korzystały z identycznej stawki opłaty wynoszącej 30 satoshi za wirtualny bajt. Nie generowały też żadnych wyjść reszty, co oznacza, że każda transakcja przenosiła saldo adresu bez zwracania środków na inny adres kontrolowany przez nadawcę.
Te wspólne cechy dały śledczym onchainowy odcisk palca. Galaxy podało, że w ciągu poprzednich 30 dni nie znalazło innych transakcji z takim samym połączeniem stawki opłaty i struktury wyjść. Firma zastrzegła jednak, że transakcja może wyglądać identycznie, gdy właściciel zgodnie z prawem konsoliduje środki.
Badanie rozszerzyło wcześniejszy szacunek współzałożyciela AnchorWatch, Roba Hamiltona. Jego wstępna analiza wskazała 594,48 BTC przemieszczających się w około 500 transakcjach. Początkowe obliczenia objęły jedynie część aktywności, podczas gdy Galaxy powiązało szerszy zbiór transakcji.
Według analizy transakcji, zidentyfikowane środki początkowo pozostawały na czterech adresach. Wcześniejszy szacunek śledził tylko jeden z nich. Wyjaśnia to, dlaczego zgłoszona strata niemal się podwoiła, gdy badacze odtworzyli szerszy zakres transferów.
Dotknięte adresy obejmowały również kilka formatów adresów Bitcoin. Spośród 1 196 adresów 1 183 korzystały z natywnego SegWit, siedem z innego starszego formatu, a sześć z jeszcze wcześniejszego formatu. Ten rozkład wspiera teorię systematycznego skanowania, a nie celowania w jedną znaną osobę.
Skaner może wyprowadzać wiele typów adresów z każdego kandydującego seeda. Może następnie porównać te adresy z publiczną historią transakcji Bitcoin. Dopasowanie ujawnia, czy wygenerowany kandydat kontroluje środki, bez konieczności jakiejkolwiek komunikacji z fizycznym portfelem.
Incydent nadal się rozwijał po pierwotnym szacunku 70,2 mln USD. Kolejne doniesienia z 2 sierpnia powiązały dalsze transfery z około 4 500 adresami i określiły potencjalne straty na blisko 89 mln USD. Te późniejsze ustalenia pozostają elementem aktywnego dochodzenia, dlatego pierwotny transfer zmapowany przez Galaxy stanowi najjaśniej określone zdarzenie.
Istotne jest rozróżnienie dotyczące przypisania odpowiedzialności. Dowody blockchainowe mogą wskazać klaster transakcji i powtarzalny wzorzec działania. Nie mogą samodzielnie ustalić, że każdy transfer był nieautoryzowany. Badacze połączyli wzorzec transakcji z ujawnionymi wadami firmware’u i relacjami ofiar, aby sformułować obecną ocenę.
Bitcoin Optech poinformował, że użytkownicy 30 lipca odkryli nieoczekiwane transakcje dotyczące środków przeniesionych poprzedniego dnia. Coinkite wydało pierwsze publiczne ostrzeżenie później, 30 lipca. Galaxy umieściło duży transfer około 30 godzin przed pojawieniem się tego ostrzeżenia.
Ta luka ma znaczenie, ponieważ atakujący miał czas na działanie, zanim właściciele zrozumieli ryzyko. Gdy wada stała się publiczna, inni operatorzy mogli przeanalizować tę samą ścieżkę firmware’u. Zagrożenie nie zakończyło się więc wraz z pierwszym klastrem transakcji.
Nagłówek Techmeme Bitcoin uchwycił szybko zmieniający się szacunek, a nie ostateczne rozliczenie. W miarę rozszerzania przez śledczych wyszukiwania ścieżek wyprowadzania kluczy mogą zostać ujawnione kolejne adresy. Co ważniejsze, podatne, lecz nietknięte portfele mogą nadal przechowywać dziś środki.
Błąd kompilacji uczynił rzekomo losowe seedy przewidywalnymi
Wada firmware’u miała zastąpić losowość generowaną sprzętowo deterministycznym programowym mechanizmem awaryjnym podczas tworzenia seeda.
Seed to tajna wartość, z której portfel Bitcoin wyprowadza adresy i klucze prywatne. Oprogramowanie portfela stosuje do tego seeda publiczne reguły matematyczne. Każdy, kto go odtworzy, może odtworzyć te same klucze i autoryzować transakcje.
Bezpieczny portfel potrzebuje zatem wysokiej entropii, czyli wystarczającej ilości nieprzewidywalnych informacji, aby praktyczne zgadywanie było niemożliwe. 12-wyrazowa fraza odzyskiwania BIP-39 zwykle reprezentuje 128 bitów entropii. Tworzy to przestrzeń wyszukiwania zbyt dużą dla konwencjonalnych ataków brute-force.
Urządzenia Coldcard zaprojektowano tak, aby zbierały losowość ze sprzętowego generatora liczb losowych. Badacze bezpieczeństwa Block prześledzili awarię do interakcji między ustawieniem kompilacji produkcyjnej a wspierającą biblioteką programową.
Konfiguracja Coldcard definiowała MICROPY_HW_ENABLE_RNG jako zero, ponieważ Coinkite używało własnego wrappera losowości sprzętowej. Biblioteka o nazwie libngu sprawdzała, czy to ustawienie było zdefiniowane. Nie sprawdzała, czy ustawienie było włączone.
Ta subtelna różnica zmieniła wynikową kompilację firmware’u. Kod skorzystał z pseudolosowego mechanizmu awaryjnego Yasmarang w MicroPythonie zamiast z zamierzonego źródła sprzętowego. Generator liczb pseudolosowych tworzy powtarzalną sekwencję na podstawie wartości początkowej, nazywanej seedem.
Mechanizm awaryjny inicjalizował się za pomocą unikalnego identyfikatora procesora oraz rejestrów zegara. Identyfikator jest ustalany podczas produkcji, natomiast wartości zegara reprezentują stan urządzenia podczas uruchamiania. Wartości te zapewniają mniej niepewności niż prawidłowo zebrana losowość fizyczna.
Dochodzenie dotyczące firmware’u przeprowadzone przez Block wykazało, że mechanizm awaryjny po inicjalizacji nie zbierał świeżej entropii. W późniejszych urządzeniach dodatkowy krok ponownego seedowania dodawał niepewność, lecz badacze nadal uznawali tę ścieżkę za słabszą, niż zakładano.
Atakujący nie musi dokładnie znać każdego wejścia. Operator może generować prawdopodobne identyfikatory, stany czasowe i historie wywołań. Każda kombinacja tworzy kandydujący strumień wyjściowy i możliwy seed portfela.
Atakujący może wyprowadzić adresy Bitcoin z każdego kandydata. Adresy te można następnie porównać z publicznym blockchainem. Gdy adres zawiera środki, odpowiadający mu kandydujący seed dostarcza klucza prywatnego potrzebnego do ich przeniesienia.
Proces ten odbywa się w całości w infrastrukturze atakującego. Coldcard może pozostać wyłączony, odłączony i zamknięty w sejfie. Nic nie musi przekraczać jego air gapu, ponieważ atakujący odtwarza sekret, zamiast go wydobywać.
Dlatego incydent różni się od konwencjonalnych ataków na portfele sprzętowe. Wiele ataków wymaga złośliwego oprogramowania na podłączonym komputerze, zmanipulowanych danych transakcyjnych, fizycznego dostępu lub oszukanego użytkownika. Ten miał wykorzystywać słabe tworzenie seedów, które nastąpiło znacznie wcześniej.
Coinkite twierdzi, że seedy Mk3 wygenerowane w dotkniętym firmware miały około 40 bitów efektywnej entropii. Szacuje, że seedy z dotkniętych urządzeń Mk4, Mk5 i Q miały około 72 bitów zamiast oczekiwanych 128 bitów.
Liczby te wymagają ostrożnej interpretacji. Block nie opublikował jednego uniwersalnego kosztu ani czasu zakończenia ataku brute-force. Praktyczna trudność zależy od dostępnych informacji o identyfikatorach urządzenia, czasie uruchomienia, wcześniejszych wywołaniach generatora i ścieżkach wyprowadzania portfela.
Block ostrzegł również przed bezpośrednim przekładaniem warunkowych granic wyszukiwania na siłę kryptograficzną. Teoretyczny pułap nie opisuje kosztu znalezienia każdego rzeczywistego portfela. Różne historie urządzeń mogą tworzyć różne przestrzenie wyszukiwania.
Gdy pojawiły się pierwsze raporty, żaden publiczny raport techniczny nie odtworzył ujawnionego seeda ofiary i nie dopasował go bezpośrednio do jednego opróżnionego adresu. Wzorzec transakcji, wada firmware’u i czas stanowią silne dowody poszlakowe. Nie ujawniają każdego kroku w procesie działania operatora.
Mimo to atak nie wymaga perfekcyjnego odtworzenia każdego dotkniętego portfela. Opłacalny skaner musi jedynie zlokalizować część adresów z środkami w przestrzeni kandydatów. Może ignorować puste kandydaty i kontynuować wyszukiwanie w czasie.
Ta asymetria działa na korzyść atakującego. Właściciele nie mogą sprawdzić adresu i ustalić, ile entropii utworzyło jego seed. Operator może tymczasem po cichu testować kandydatów względem publicznych danych blockchainowych.
Cold storage chronił urządzenie, nie pochodzenie sekretu
Awaria Coldcard zmienia bezpieczeństwo portfela sprzętowego z kwestii izolacji w kwestię tego, jak sekrety są tworzone i weryfikowane.
Portfele sprzętowe są zazwyczaj budowane wokół jasnego modelu zagrożeń. Oddzielają klucze prywatne od codziennie używanych komputerów, wyświetlają szczegóły transakcji i wymagają fizycznego potwierdzenia przed podpisaniem. Przepływy pracy z air gapem ograniczają ścieżki, którymi złośliwe oprogramowanie może dotrzeć do urządzenia.
Te zabezpieczenia nadal są wartościowe. Chronią przed wieloma atakami phishingowymi, schowkiem, przeglądarką i zdalnym dostępem. Zakładają jednak, że portfel zaczął od sekretu, którego atakujący nie może odtworzyć.
Przypadek Coldcard łamie to założenie. Doskonale odizolowane urządzenie nie może wzmocnić przewidywalnego seeda po jego utworzeniu. Każdy późniejszy klucz prywatny dziedziczy pierwotną słabość, ponieważ deterministyczne wyprowadzanie zachowuje tę zależność.
Tworzy to centralne odwrócenie opisane w artykule. Użytkownicy kupowali fizyczne oddzielenie od zagrożeń online, lecz zgłoszony atak nigdy nie musiał przekroczyć tej separacji. Podatny punkt istniał w procesie kompilacji produkcyjnej, a nie w połączeniu sieciowym.
Kod open source również nie zapobiegł awarii. Publiczny kod pozwala badaczom przeglądać szczegóły implementacji, odtwarzać kompilacje i identyfikować wady. Nie gwarantuje, że ktoś sprawdził każdą konfigurację, zależność lub skompilowane wydanie.
Flaga kompilacji może zmienić, która gałąź trafia do dostarczanego pliku binarnego. Zachowanie zależności może także różnić się od założeń otaczającego ją projektu. Przegląd bezpieczeństwa musi więc obejmować kod źródłowy, konfigurację, toolchain, końcowy artefakt i zachowanie urządzenia.
Data integracji z marca 2021 roku zwiększa tę presję. Coinkite twierdzi, że dotknięte firmware Mk3 zaczęło się od wersji 4.0.1. Wada może pozostać widoczna w publicznym repozytorium przez lata, jeśli nikt nie zbada dokładnej interakcji, która ją aktywuje.
Coldcard nie jest jedynym portfelem sprzętowym mierzącym się z tym strukturalnym wyzwaniem. Ledger, Trezor, Blockstream Jade, BitBox i SeedSigner używają różnych kombinacji sprzętu, firmware’u, secure elements i procesów generowania seedów. Obecna wada nie została przypisana tym produktom.
Porównanie dotyczy modeli zapewniania bezpieczeństwa, a nie wspólnej podatności. Zamknięte komponenty ograniczają zewnętrzną kontrolę, ale mogą chronić szczegóły własnościowej implementacji. Otwarte projekty zwiększają możliwości przeglądu, lecz nadal wymagają finansowanych audytów, odtwarzalnych kompilacji i testów potwierdzających działanie dostarczonego produktu.
Portfele multisignature oferują inną drogę. Polityka multisig wymaga kilku niezależnych kluczy do autoryzacji wydatków. Jeśli klucze pochodzą z różnych urządzeń i niezależnych metod generowania seedów, jeden wadliwy generator nie musi ujawniać wymaganego kworum.
Multisig nie jest jednak automatyczną ochroną. Portfel zbudowany wyłącznie z seedów wygenerowanych przez podatne urządzenia Coldcard może odtworzyć to samo ryzyko zależności dla kilku kluczy. Użytkownicy mierzą się też z większą złożonością tworzenia kopii zapasowych i odzyskiwania dostępu.
Ręcznie dodana entropia z kości może zmniejszyć zależność od generatora urządzenia. Coinkite twierdzi, że seedy utworzone przy użyciu co najmniej 50 uczciwych, niezależnych i prywatnych rzutów kośćmi nie są podatne wyłącznie na tę wadę. Te warunki mają znaczenie, ponieważ stronnicze, obserwowane lub ponownie używane rzuty osłabiają dodatkową niepewność.
Silne, unikalne hasło BIP-39 tworzy kolejną warstwę portfela, której nie można odblokować samymi słowami seeda. Może znacząco zwiększyć koszt przeszukiwania dla atakującego. Mimo to słabe lub ponownie używane frazy wciąż można odgadnąć, a Coinkite zaleca migrację podatnych seedów niezależnie od tego.
Alternatywy pokazują trudny kompromis. Większa niezależność może poprawić bezpieczeństwo, ale każda dodatkowa procedura tworzy kolejną okazję do błędu użytkownika. Projekt odzyskiwania, który teoretycznie jest bezpieczniejszy, może stać się niebezpieczny, gdy właściciel nie potrafi niezawodnie go obsłużyć.
To napięcie wykracza poza Bitcoin. Systemy zarządzania kluczami w przedsiębiorstwach, tokeny uwierzytelniające, szyfrowane kopie zapasowe i urządzenia do podpisywania wszystkie zależą od wiarygodnej losowości. Klucz chroniony przez bezpieczny sprzęt jest tylko tak silny, jak proces, który go utworzył.
Zespoły reagujące na takie incydenty potrzebują również wiarygodnych zapisów wersji firmware, pochodzenia urządzeń i decyzji o migracji. Przeszukiwalna techniczna baza wiedzy może pomóc zachować te szczegóły, choć nigdy nie powinna zawierać fraz odzyskiwania ani kluczy prywatnych.
Poprawka Firmware Nie Może Naprawić Istniejącego Portfela
Instalacja poprawionego firmware zatrzymuje przyszłe generowanie słabych seedów, ale nie sprawia, że istniejący seed staje się nieprzewidywalny.
Coinkite opublikowało poprawione firmware dla wszystkich dotkniętych ścieżek wydań 31 lipca. Zaktualizowane ostrzeżenie bezpieczeństwa wskazuje wersję 4.2.0 lub nowszą dla urządzeń Mk2 i Mk3.
Dla urządzeń Mk4 i Mk5 na standardowej ścieżce Coinkite podaje wersję 5.6.0 lub nowszą. Właściciele Q potrzebują wersji 1.5.0Q lub nowszej. Użytkownicy Edge potrzebują 6.6.0X dla Mk4 i Mk5 albo 6.6.0QX dla Q.
Wydania Standard i Edge działają w odrębnych ścieżkach. Wyższy numer wersji Edge nie oznacza automatycznie, że zawiera poprawkę ze ścieżki standardowej. Właściciele potrzebują poprawionego wydania zgodnego zarówno z ich modelem, jak i zainstalowaną ścieżką.
Zakres podatności zależy też od firmware używanego w chwili wygenerowania seeda. Późniejsza instalacja podatnego firmware nie osłabia wstecznie seeda utworzonego bezpiecznym procesem. Odwrotnie, instalacja poprawionego firmware teraz nie wzmacnia starego, podatnego seeda.
Coinkite wskazuje wersje Mk3 od 4.0.1 do 4.1.9 jako dotknięte problemem. Analiza Block umieszcza wersje Mk2 i Mk3 od 4.0.0 do 4.1.9 na podatnej ścieżce. Ta niewielka różnica pokazuje, dlaczego właściciele powinni kierować się konserwatywnymi zaleceniami dotyczącymi migracji.
Coinkite stwierdza również, że seedy wygenerowane na urządzeniach Mk4, Mk5 i Q przed wydaniem poprawek są podatne. Wcześniejsza komunikacja publiczna koncentrowała się głównie na Mk3. Rozszerzone ostrzeżenie przyznaje teraz, że późniejsze modele również miały słabszą entropię.
Aktualizacja firmware zmienia kod używany w przyszłych operacjach. Istniejący portfel zachowuje swoje pierwotne słowa odzyskiwania, wyprowadzone klucze i adresy. Odtworzenie tych słów na innym urządzeniu po prostu odtworzy ten sam podatny portfel.
Rzeczywiste usunięcie problemu wymaga więc nowego seeda wygenerowanego po zainstalowaniu zweryfikowanego firmware. Środki muszą zostać przeniesione na adresy wyprowadzone z tego nowego seeda. Właściciele muszą następnie zaktualizować kopie zapasowe i potwierdzić, że stary seed nie zabezpiecza już przyszłych wpłat.
Ta migracja niesie własne ryzyko operacyjne. Atakujący często wykorzystują pilne zdarzenia bezpieczeństwa za pomocą fałszywego firmware, oszukańczych kont wsparcia i podrobionych narzędzi odzyskiwania. Spanikaowany właściciel może stracić środki, podążając za złośliwym linkiem, zanim dotrze do niego pierwotny skaner.
Właściciele powinni korzystać z oficjalnych kanałów Coldcard, weryfikować pliki i podpisy firmware oraz unikać wpisywania słów odzyskiwania na stronach internetowych lub w czatach wsparcia. Prawowity personel wsparcia nie potrzebuje frazy seeda, aby zdiagnozować narażenie na problem z firmware.
Sama transakcja również wymaga ostrożności. Użytkownicy powinni weryfikować adresy docelowe na zaufanym sprzęcie i, gdy warunki na to pozwalają, rozważyć mały przelew testowy. Nie mogą niszczyć starych kopii zapasowych, dopóki portfel zastępczy nie zostanie przetestowany i potwierdzony.
Użytkownicy haseł nie powinni zakładać, że są trwale bezpieczni. Silne, prywatne hasło może zapewnić znaczącą dodatkową ochronę. Jednak bazowy seed pozostaje słaby, a jakość hasła wybranego przez człowieka może być trudna do zmierzenia.
Użytkownicy kości stają przed problemem dokumentacji. Niektórzy właściciele mogą pamiętać, że dodali losowość, nie znając dokładnej liczby rzutów. Inni mogą nie wiedzieć, czy każdy rzut był niezależny albo czy ktoś obserwował ten proces.
Wyjątek Coinkite wymaga co najmniej 50 uczciwych, niezależnych i prywatnych rzutów. Jeśli właściciel nie może potwierdzić tych warunków, bezpieczniejsza interpretacja jest taka, że wyjątek nie ma zastosowania. Niepewność powinna prowadzić do migracji, a nie do uspokojenia.
Właściciele multisig muszą sprawdzić każdy klucz podpisujący i wymagane kworum. Portfel typu dwa z trzech pozostaje narażony, jeśli dwa wymagane klucze pochodziły z podatnego generowania seedów. Różnorodność urządzeń pomaga tylko wtedy, gdy tworzy rzeczywistą niezależność między kluczami potrzebnymi do wydania środków.
Ciężar naprawy spada w dużej mierze na użytkowników, choć wada pochodziła z dostarczonego firmware. Transakcje Bitcoin zasadniczo nie mają wbudowanego procesu odwracania. Odzyskanie skradzionych środków zależy od śledzenia, współpracy giełd, działań prawnych lub błędów operatora.
Taki podział odpowiedzialności stanowi sedno debaty o samodzielnej opiece nad aktywami. Self-custody usuwa zależność od powiernika, ale usuwa też jego proces odzyskiwania. Dostawcy sprzętu zapewniają narzędzia, podczas gdy użytkownicy ostatecznie kontrolują aktywa i ponoszą konsekwencje awarii.
Współzałożyciel Coinkite, Rodolfo Novak, powiedział, że firma bierze odpowiedzialność za błąd firmware i bada jego pełny zakres. Odpowiedzialność techniczna, finansowa i praktyczne odzyskiwanie środków pozostają odrębnymi kwestiami. Publiczne oświadczenia nie rozstrzygnęły, czy i w jaki sposób dotknięci problemem właściciele otrzymają rekompensatę.
Co Wciąż Pozostaje Niepewne w Sprawie Exploitu Portfeli Coldcard
Wada firmware jest udokumentowana, ale publiczne dowody nie potwierdzają jeszcze każdej transakcji, narażenia każdego modelu ani możliwości atakującego.
Najmocniejsze dowody łączą kilka elementów. Śledczy znaleźli ścieżkę produkcyjnego firmware, która osłabiała losowość. Ofiary zgłaszały nieautoryzowane transfery. Galaxy zidentyfikowało skoncentrowany wzorzec onchain zgodny z systematycznym wyliczaniem adresów.
Transakcja onchain nie informuje jednak, czy została dokonana w wyniku kradzieży. Galaxy wyraźnie ostrzegło, że zidentyfikowany wzorzec opisuje zachowanie operatora, a nie status prawny każdego transferu. Właściciele mogą konsolidować środki, korzystając z podobnej transakcji bez reszty.
Nie ujawniono żadnego wskazanego z imienia atakującego. Badacze nie ustalili publicznie, czy jedna grupa przeprowadziła każde opróżnienie portfeli, czy też kilku operatorów niezależnie odkryło słabość. Aktywność naśladowców staje się bardziej prawdopodobna po upublicznieniu szczegółów technicznych.
Nie ma też wiarygodnej publicznej liczby wszystkich podatnych portfeli. Sama wersja firmware nie ujawnia, czy urządzenie wygenerowało seed, zaimportowało go, użyło wystarczającej entropii z kości czy zastosowało silne hasło. Adresy z saldem nie ujawniają tych wyborów konfiguracyjnych.
Praktyczny koszt ataku na późniejsze modele Coldcard pozostaje nierozstrzygnięty. Szacunek Coinkite wynoszący około 72 bitów opisuje dostępną entropię zgodnie z jego analizą. Block twierdzi, że rzeczywiste ograniczenia zależą od metadanych urządzenia, czasu, historii generatora i kosztu wyprowadzania kluczy.
Ta różnica ma znaczenie. Czterdzieści bitów może tworzyć znacznie mniejszą przestrzeń kandydatów niż 72 bity. Jednak informacje warunkowe mogą zawęzić nominalnie większe przeszukiwanie, a nieznany stan urządzenia może utrudniać skanowanie.
Badacze nie opublikowali uniwersalnego benchmarku pokazującego, jak szybko standardowy sprzęt może odzyskiwać seedy dla każdego dotkniętego modelu. Twierdzenia, że wszystkie podatne seedy są równie łatwe do złamania, wykraczają poza dostępne dowody.
Pierwsze duże opróżnienie portfeli nie dowodzi też, że atakujący wyczerpał przestrzeń przeszukiwania. Galaxy ostrzegało, że prawdopodobne są kolejne fale. Późniejsze doniesienia łączące więcej adresów i większe straty potwierdzają te obawy, ale atrybucja pozostaje aktywnym procesem.
Pewna wskazówka może pomóc śledczym zidentyfikować operatora. Badacz bezpieczeństwa Block, Clay Garrett, powiedział, że atakujący korzystał z płatnego konta u znanego dostawcy usług blockchain. Konto miało podobno wysyłać zapytania dotyczące adresów źródłowych podczas opróżniania portfeli.
Według Garretta wewnętrzne logi dostawcy ściśle odpowiadały liczbie, czasowi i kolejności podejrzanych zapytań. Block przekazał te informacje władzom. Dostawca miał oferować zwykłe usługi i nie mieć oczywistych przesłanek wskazujących na przestępczy zamiar.
Płatne konto może tworzyć zapisy takie jak informacje płatnicze, historia logowań i metadane sieciowe. To, czy zapisy te zidentyfikują operatora, zależy od konfiguracji konta, jurysdykcji i zastosowanych środków anonimizacji.
Przepływy bitcoina dostarczają kolejnego sygnału. Pierwotne wpływy zmapowane przez Galaxy początkowo pozostawały na czterech adresach. Późniejszy transfer na giełdę, most, mikser lub do usługi over-the-counter może stworzyć możliwości interwencji i nowe dowody atrybucji.
Widoczność blockchaina ma jednak ograniczenia. Śledczy mogą śledzić transakcje, ale nie mogą automatycznie odzyskać kluczy ani odwrócić potwierdzonych transferów. Operator może też podzielić środki między wiele adresów, aby utrudnić śledzenie.
To zdarzenie rodzi pytania o moment ujawnienia informacji. Użytkownicy odkryli podejrzane transakcje, zanim Coinkite opublikowało ostrzeżenie. Przyszłe raportowanie powinno ustalić, kiedy firma po raz pierwszy dowiedziała się o wadzie, jak szybko zweryfikowała problem i dlaczego wcześniejsza kontrola go przeoczyła.
Niezależne audyty również zasługują na analizę. Publiczny kod źródłowy może tworzyć wrażenie, że wiele osób sprawdziło system. W praktyce jakość przeglądu zależy od uwagi specjalistów, pokrycia testami, odtwarzalności kompilacji i zachęt do sprawdzania mało efektownych ścieżek konfiguracji.
Problem miał podobno zaczynać się od pojedynczego warunkowego sprawdzenia wokół makra kompilacji. Ten drobny szczegół implementacyjny wpłynął na pochodzenie każdego kolejnego klucza. Zespoły bezpieczeństwa często koncentrują się na algorytmach kryptograficznych, podczas gdy kod integracyjny po cichu decyduje, czy algorytmy otrzymują bezpieczne dane wejściowe.
Nie jest to dowód, że wszystkie portfele sprzętowe są niebezpieczne. Jest to dowód, że izolacja fizyczna obejmuje tylko część ich modelu bezpieczeństwa. Kupujący zależą również od losowości, łańcuchów dostaw firmware, procesów podpisywania, testów wydań i reagowania na incydenty.
Najbardziej odpowiedzialne stanowisko nie polega ani na bezwarunkowym uspokajaniu, ani na panice. Właściciele potencjalnie dotkniętych seedów powinni potraktować oficjalne wytyczne dotyczące migracji jako pilne. Szersze twierdzenia o niepowiązanych portfelach wymagają odrębnych dowodów technicznych.
Trzy Sygnały Pokażą, Czy Kryzys Został Opanowany
Kolejna faza zależy od migracji portfeli, ruchu skradzionych bitcoinów oraz możliwych do zweryfikowania zmian w procesie wydawania oprogramowania przez Coldcard.
Pierwszym sygnałem będzie pojawienie się dodatkowych opróżnień adresów powiązanych z wadliwym generowaniem seedów. Pierwotny klaster 1 196 adresów zidentyfikowany przez Galaxy dostarczył wyraźnego wzorca, ale przyszli sprawcy mogą zmieniać stawki opłat i struktury transakcji.
Śledczy będą potrzebować szerszych metod niż dopasowywanie pierwszego wzorca. Mogą porównywać zgłoszenia ofiar, znane historie firmware’u, zachowanie przy wyprowadzaniu adresów oraz czas transakcji. Rosnące szacunki strat wskazywałyby, że zagrożone portfele nadal mają środki albo że atakujący poszerzają zakres poszukiwań.
Stabilne szacunki dawałyby jedynie ograniczone poczucie bezpieczeństwa. Niektóre podatne portfele mogą dziś nie zawierać środków, lecz otrzymać wpłaty później. Właściciele ponownie używający starych adresów mogą ponownie wprowadzić wartość do zagrożonego portfela wiele miesięcy po tym, jak incydent zniknie z nagłówków.
Dlatego dane o migracji będą ważniejsze niż jeden spokojny tydzień. Coinkite nie opublikował liczby dotkniętych urządzeń, podatnych seedów ani zakończonych migracji. Bez tego mianownika branża nie może obliczyć pozostałej ekspozycji.
Drugim sygnałem będzie ruch środków z adresów powiązanych z atakującym. Transfery do regulowanej usługi mogą dać śledczym drogę do danych konta lub zabezpieczenia aktywów. Przepływ przez narzędzia prywatności lub usługi międzyłańcuchowe może skomplikować ten proces.
Zgłoszone korzystanie z płatnego konta usługi blockchainowej tworzy drugi ślad dochodzeniowy. Jeśli władze połączą logi usługi z czasem transakcji i informacjami o płatnościach, błąd operacyjny sprawcy może okazać się ważniejszy niż analiza blockchaina.
Publiczne przypisanie odpowiedzialności wzmocniłoby obecny opis działania ataku. Mogłoby ujawnić, czy operator pozyskał identyfikatory urządzeń, kupił wyciekłe dane klientów, czy po prostu przeszukiwał szerokie zakresy czasowe.
Te różnice mają znaczenie dla ryzyka związanego z późniejszymi modelami. Jeśli atakujący miał dostęp do metadanych produkcyjnych lub danych klientów, praktyczna przestrzeń poszukiwań mogła być znacznie mniejsza. Jeśli operacja powiodła się bez prywatnych metadanych, zagrożona populacja byłaby większa.
Trzecim sygnałem będzie to, czy Coinkite zmieni sposób walidacji wydań. Poprawiony firmware rozwiązuje bezpośredni błąd. Zapobieżenie powtórce wymaga testów potwierdzających źródła entropii w binariach produkcyjnych, a nie tylko w kodzie źródłowym.
Przydatne zmiany obejmowałyby weryfikację powtarzalnych buildów, niezależne audyty firmware’u, testy statystyczne danych wyjściowych urządzeń oraz testy regresyjne flag buildów. Publiczna dokumentacja po incydencie powinna wyjaśniać, które mechanizmy kontroli zawiodły i które nowe zabezpieczenia blokują teraz tę samą klasę błędów.
Kompleksowy przegląd powinien również objąć zachowanie zależności. Warunek libngu i mechanizm awaryjny MicroPython wchodziły w interakcję z konfiguracją Coldcard. Testowanie każdego komponentu osobno nie musiałoby ujawnić tego końcowego działania.
Konkurenci będą pod presją, aby opublikować porównywalne gwarancje. Ledger, Trezor, Jade, BitBox i SeedSigner mogą wyjaśnić, jak testują entropię, walidują skompilowany firmware i rozdzielają niezależne źródła kluczy. Ich odpowiedzi zdecydują, czy incydent pozostanie problemem Coldcard, czy stanie się ogólnobranżowym wstrząsem dla zaufania.
Niezależni badacze również mogą testować deklaracje producentów. Silna odpowiedź wymaga dowodów, które specjaliści z zewnątrz mogą odtworzyć. Marketingowe deklaracje dotyczące air gapów lub bezpiecznego sprzętu nie odpowiadają na pytania o generowanie seedów.
Dla czytelników śledzących wiadomości Techmeme Bitcoin trwała lekcja jest precyzyjna. Cold storage nie zawiodło dlatego, że fizyczna izolacja stała się bezużyteczna. Zawiodło, ponieważ izolacja chroniła sekret, którego proces tworzenia był słabszy, niż obiecywano użytkownikom.
To rozróżnienie powinno zmienić sposób, w jaki kupujący oceniają portfele. Powinni pytać, skąd pochodzi entropia, jak weryfikowany jest firmware produkcyjny oraz jak wygląda odzyskiwanie po wadzie producenta. Powinni też rozważyć niezależne źródła kluczy dla zasobów przekraczających akceptowalne ryzyko pojedynczego urządzenia.
Bezpośrednie działanie jest węższe. Każdy, kto wygenerował seed na dotkniętym firmware Coldcard, powinien zapoznać się z oficjalnym komunikatem, zainstalować właściwe wydanie, utworzyć nowy seed i zmigrować środki. Nie przywracaj starego seedu w nowym portfelu.
W nadchodzących miesiącach obserwuj klastry adresów, dochodzenie dotyczące dostawcy usług oraz mechanizmy kontroli Coinkite po incydencie. Te trzy sygnały pokażą, czy to wydarzenie Techmeme Bitcoin zakończy się jako ograniczona awaria firmware’u, czy przerodzi się w dłuższy kryzys zaufania do portfeli sprzętowych.


