Öt évig bujkált a Coldcard hiba, ami 130 millió dollárt vitt el
Egy 2021-es firmware-hiba miatt kitalálhatóvá váltak a Coldcard tárcák kulcsai. A kár 130 millió dollár közelében jár, és a támadás még tart.
Röviden:
- A hiba nem az eszközt törte fel, hanem a seed véletlenszerűségét rontotta le, így a kulcsok offline kitalálhatóvá váltak.
- A firmware frissítése nem javítja meg a már létrehozott gyenge seedet, ezért új seed kell és át kell mozgatni a pénzt.
- A kár 130 millió dollár közelében jár, és a Galaxy szerint legalább 15 külön támadó dolgozik a hibán.
- A nagyobb gyártók közül azok állnak jobban, amelyek több független forrásból keverik a seedet.
Így tűnt el 594 Bitcoin 25 perc alatt
A Coldcard tárcákat gyártó kanadai Coinkite július 30-án és 31-én adott ki biztonsági közleményt arról, hogy bizonyos eszközökön létrehozott seedek gyenge véletlenszámból születtek. A figyelmeztetés után órákkal megindult a lopás.
Július 31-én 02:14 UTC-kor egyetlen szereplő elkezdte kisöpörni a tárcákat, és 02:39-ig 594 Bitcoin mozdult el nagyjából 500 tárcából egy gyűjtőcímre. Ez az akkori árfolyamon körülbelül 38,3 millió dollár volt, mindössze 25 perc alatt.
Innen a kár hullámokban nőtt. Augusztus 2-ára a Galaxy Research 1 367 Bitcoint azonosított több mint 4 500 címen, augusztus 4-ére pedig már 1 596 Bitcoinnál tartott az igazolt veszteség. Alex Thorn, a Galaxy kutatási vezetője szerint a becsült teljes kár 130 millió dollár közelében jár, és a hibát ma már legalább 15 különböző támadó használja ki. A Bitcoin (64 342 dollár) árfolyama közben nagyjából stabil maradt.
Miért lettek kitalálhatók a kulcsok?
Amikor egy hardvertárcán új tárcát hozol létre, az eszköz egy nagyon nagy véletlen számot sorsol, és abból származtatja a seedet, vagyis a helyreállítási kifejezést. A biztonság azon áll vagy bukik, hogy ez a szám valóban megjósolhatatlan legyen. Erre való a hardveres véletlenszám-generátor.
2021 márciusában egy firmware-hiba került a Coldcard kódjába, és öt éven át túlélt minden kiadást és átnézést. A seed-generálás csendben abbahagyta a hardveres generátor használatát, és egy kiszámítható, szoftveres értékre esett vissza, amelyet nem titkos chip-adatból származtatott.
A következmény számokban a legérthetőbb. A biztonságos seed 128 bit entrópiát hordoz, ami akkora keresési teret jelent, hogy végigpróbálni gyakorlatilag lehetetlen. Az érintett Mk3 eszközökön ez körülbelül 40 bitre esett, a Mk4, Mk5 és Q eszközökön nagyjából 72 bitre. Negyven bitnyi lehetőséget egy erős gép percek alatt végigpróbál.
Fontos különbség, amit sok beszámoló elmos: az eszközöket nem törték fel, és senkinek nem kellett hozzáférnie hozzájuk. A támadók a nyilvános blokkláncon kerestek olyan címeket, amelyek gyenge kulcsokhoz tartoznak. A tárca a fiókban feküdt, miközben a pénz eltűnt róla. Erről a sérülékenységről korábban külön cikkben is írtunk.
Kit érint a Coldcard hiba, és kit nem
Az érintettség három dolgon múlik: a modellen, a firmware verzióján, és azon, hogy mikor hoztad létre a seedet.
- Bizonyos Mk3 eszközök, ha a seed a 4.0.1-es vagy újabb firmware-en készült.
- Mk4, Mk5 és Q eszközök régebbi firmware-en.
- 2021 márciusa előtt létrehozott seed nem érintett.
Van egy negyedik szempont is, és ez a jó hír azoknak, akik alaposak voltak. Ha a seedet saját kockadobással hoztad létre, akkor a véletlenszerűség nem az eszköztől jött, hanem tőled. A Coinkite számítása szerint 50 és 98 közötti független dobás legalább 128 bitet ad, 99 dobás fölött pedig nagyjából 256 bitet. Ötven dobás alatt viszont érintettnek kell tekinteni a seedet.
A firmware frissítése önmagában nem elég
Ez a cikk legfontosabb mondata. A javított firmware telepítése nem javítja meg a már létrehozott gyenge seedet. A gyenge seed ugyanúgy gyenge marad, mert a hiba a születése pillanatában történt meg.
Aki érintett lehet, annak javított firmware-en új seedet kell generálnia, és át kell mozgatnia a pénzét az új címekre. A Coinkite maga is erre kéri a felhasználókat, és a Galaxy Research is ezt javasolja. A sietség indokolt: a támadás az írás pillanatában is tart, és a támadók sorra veszik azokat a tárcákat, amelyek még nem költöztek át.
Hamis audit-levelek indultak a tárcatulajdonosok ellen
A lopás mellé beindult a második hullám, és ez már nem csak a Coldcard-tulajdonosokat érinti. A Proofpoint biztonsági cég dokumentált egy kampányt, amelyben hamisított Coldcard-levelek egy összehangolt hardver-auditra hívják a címzettet.
A levélben lévő link egy klónozott Coldcard-oldalra visz. Ott a Start Hardware Audit gomb egy batch-fájlt tölt le, amely a ScreenConnect nevű távoli elérésű szoftvert telepíti a gépre. A kampány legkellemetlenebb részlete, hogy a hamis ügyfélszolgálati chatben élő ember ül, és türelmesen végigvezeti az áldozatot a telepítésen.
A Foundation jelezte, hogy az ő nevükben is mennek megtévesztő levelek, és emlékeztetett arra, hogy soha nem kérik a helyreállítási kifejezést, és soha nem kérnek szoftvertelepítést. A Trezor a megugró adathalászat miatt azt hangsúlyozta, hogy a tárca-mentést kizárólag magán az eszközön szabad beírni. Ha szeretnéd átlátni a tipikus támadási formákat, ebben segít a hat leggyakoribb módszerről szóló összefoglalónk.
Így készíti a seedet a többi nagy gyártó
A kézenfekvő kérdés, hogy a többi tárca mennyire lehet gondban. A Trezor, a Ledger és a Block megerősítette, hogy ez a hiba az ő termékeiket nem érinti. Egy független, a kriptós közösségben terjedő összehasonlítás ennél tovább ment, és sorra vette a nagyobb gyártókat aszerint, hogy honnan szerzik a véletlenszerűséget. Az alábbi kép ebből és a gyártói dokumentációból áll össze. Ahol a gyártó nem hozza nyilvánosságra a részleteket, ott ezt külön jelezzük.
A lényegi különbség nem a chip minőségében van, hanem abban, hogy hány egymástól független forrásból születik a seed.
Több forrásból keverik
- Trezor: az eszköz véletlenszámát a számítógépről érkező entrópiával keveri, és az eszköznek bizonyítania kell, hogy mindkettőt felhasználta. Ha a chipje teljesen elromlik, a seed akkor is védett marad. Ez a legerősebb tervezés a mezőnyben.
- BitBox02: öt külön forrást von össze, köztük a gyártási entrópiát, az eszköz jelszavát, a számítógépet, az MCU és a secure chip generátorát. Egyetlen romlott forrás nem viszi el a kulcsot. Nyílt forráskód, reprodukálható build, kockadobás támogatva.
- Foundation Passport: saját zajforrás-áramkört épített hétköznapi ellenállásokból és kondenzátorokból, két további forrás mellé. Nincs fekete doboz chip, amiben vakon meg kellene bízni. Kockadobás támogatva.
- Keystone 3 Pro: két secure elementet használ két különböző gyártótól, és a kimenetüket vonja össze. Engedi a 99 kockadobást, és a gyártó publikálja, hogyan ellenőrizd az eredményt.
- Blockstream Jade: hét dologból merít, köztük rádiózajból, processzor-számlálókból, az akkumulátor állapotából, a hőmérsékletből, a kamerából, a felhasználói bevitelből és az alkalmazásból. Ezt egyszerre elrontani nagyon nehéz.
- SeedSigner: itt kizárólag a te kockád a forrás, secure element nincs is benne. Cserébe útmutatót adnak ahhoz, hogy a saját matematikájukat te magad ellenőrizd. A leggyengébb hardver, a legerősebb bizonyíték.
- OneKey: secure elementet és MCU-t kombinál az eszközön, nyílt forráskódú firmware-rel. Rendben van, de saját entrópiát nem adhatsz hozzá.
Egyetlen forrásra épít
- Ledger: egyetlen tanúsított generátor a secure elementben, AIS-31 és EAL5+ minősítéssel, utófeldolgozással. A minőség jó, de egyetlen forrás, zárt forráskód, és kívülről semmit nem tudsz belőle ellenőrizni.
- Tangem: a kulcs a chipen belül születik és soha nem hagyja el a kártyát. Három cég auditálta. Ugyanaz az alku: erős, és tervezésből adódóan ellenőrizhetetlen.
- Ellipal: egyetlen tanúsított chip, szoftveres tartalék nélkül. Hiba esetén megáll ahelyett, hogy tippelne, ami helyes viselkedés. Zárt forráskód, tehát hinni kell nekik.
- NGRAVE ZERO: a chip véletlenszámát az ujjlenyomatoddal és a helyiség fényével keveri, ami ötletes. Az EAL7 minősítés viszont egyetlen szoftverkomponensre vonatkozik, nem a teljes eszközre.
- SafePal: két chipet kever, a részleteket viszont nem hozták nyilvánosságra.
A tanúsítás nem az, ami megvéd
Itt jön a lényeg, és ez az, amiért ez az ügy túlmutat a Coldcardon. Mindegyik felsorolt gyártó 128 vagy 256 bitet ígér. A Coldcard is ezt ígérte, öt éven át, miközben a valóságban a töredékét adta.
A tanúsítás sem segített volna. A Coldcard chipje hibátlan volt és rendesen működött. A kód egyszerűen abbahagyta a hívását. Egy minősítés az alkatrészről szól, nem arról, hogy a firmware tényleg használja-e.
Ebből nem az következik, hogy az egyik gyártó jó, a másik rossz. A tanulság szerkezeti. Ahol a seed egyetlen, kívülről nem ellenőrizhető forrásból születik, ott a felhasználó nem tudja megnézni, hogy jól született-e. Öt évig senki nem vette észre a hibát, mert kívülről nem volt mit észrevenni. Ahol több független forrás keveredik, ott egy elromlott forrás nem ér el a kulcsodig.
A gyakorlati következtetés egyszerű. Dobj saját kockát, és ellenőrizd magad a szavakat. Ez az egyetlen dolog, ami nem a gyártóba vetett bizalmon múlik.
Hogyan értelmezzük ezt a hírt?
Az ügy legkellemetlenebb tanulsága nem a 130 millió dollár, hanem az öt év. Egy nyílt forráskódú, a Bitcoin-közösségben évek óta ajánlott eszközben úgy élt egy hiba, hogy sem a gyártó, sem a felhasználók, sem a külső átnézők nem szúrták ki. A tárolás biztonsága nemcsak a jelszavadon és a széfeden múlik, hanem azon a kódon is, amelyet nem te írtál.
A pánik viszont rossz válasz, és a piac is ezt mutatja. Az OKX szerint rekordszintű beáramlás indult a központi tőzsdékre, vagyis sokan a saját kulcsos tárolásból menekülnek. Ez a hullám FTX óta nem látott méretet öltött. Nekünk ez rossz reflexnek tűnik: a tőzsdére tolt Bitcoin nem lesz biztonságosabb, csak a kockázat típusa változik. A saját kulcsos tárolás továbbra is a jó irány, csak jól kell csinálni. Ellenőrizd, hogy a te eszközöd és a te seeded érintett-e, és ha igen, még ma mozgasd át a pénzt egy új seedre. Ez a videóban is szóba kerül, mert a témát részletesen körbejártuk.
Mit érdemes még tudni?
Mi az a seed, vagyis helyreállítási kifejezés?
A seed általában 12 vagy 24 szóból álló kifejezés, amelyből a tárca minden privát kulcsa levezethető. Aki ismeri a seedet, az hozzáfér a pénzhez, ezért soha nem szabad digitálisan tárolni vagy bárkinek megadni.
Mi az az entrópia a kriptográfiában?
Az entrópia a véletlenszerűség mennyisége, bitben mérve. Egy 128 bites entrópiájú seed annyiféle lehet, hogy végigpróbálni gyakorlatilag lehetetlen. Ha az entrópia lecsökken, a lehetőségek száma zsugorodik, és a kulcs kitalálhatóvá válik.
Mi az a hardvertárca?
A hardvertárca egy célhardver, amely a privát kulcsokat elzárva tartja, és a tranzakciókat magán az eszközön írja alá. Előnye, hogy a kulcs soha nem kerül az internetre kötött számítógépre.
Mit jelent a kockadobásos seed-generálás?
A felhasználó fizikai kockával dob, és a dobások eredménye adja a véletlenszerűséget a seedhez. Előnye, hogy a véletlen forrása ellenőrizhető és független az eszköz belső generátorától.
Melyik hardvertárca a legbiztonságosabb?
Nincs egyetlen helyes válasz, mert a gyártók más-más alkun mennek végig. A biztonság szempontjából az számít leginkább, hogy a seed hány egymástól független forrásból születik, és hogy a felhasználó képes-e ezt ellenőrizni. A saját kockadobás minden eszköznél erősíti a helyzetet.
Bitcoin
Jim Cramer az IBM vezérének figyelmeztetése után eladná a Bitcoinját. A Galaxy szerint 7 millió BTC kulcsa kitett, a határidő viszont nem holnap.
Blokklánc
A három férfi két napig figyelte a kiszemelt Bitcoin-tulajdonost, majd a biztonsági kameráktól tartva feladta a tervet. Akár 20 évet is kaphatnak.
Ethereum
Az Ethereum új tervezete 60,25 millió stake-elt Ethernél a konszenzusjutalmak egészét elégetné. A kritikusok leginkább az egyéni validátorokat féltik.
Blokklánc
A BNY jogosult intézményi ügyfelei staking-jutalmat kaphatnak anélkül, hogy kriptoeszközeiket kivinnék a bank szabályozott letétkezelési rendszeréből.







