Fysiska bitcoin-plånböcker lovade att hålla nycklar ur händerna på hackare. Någon gissade dem bara
De som någonsin har investerat i kryptovalutor vet det väl: fysiska plånböcker ("kalla plånböcker") var det perfekta sättet att skydda dem från potentiell stöld. Dessa plånböcker lovade alltid samma sak: att nycklarna som gör att pengar kan flyttas aldrig lämnar enheten.
Det var en lögn. Katastrof. Den 31 juli såg hundratals ColdCard-plånboksägare sina pengar försvinna från sina enheter på bara 40 minuter.
Angriparen behövde inte fysiskt komma åt, infektera eller ansluta till enheterna. Det räckte för honom att göra något som borde ha varit omöjligt: gissa nycklarna för att stjäla de pengarna. Stölden drabbade 1 367 bitcoins, cirka 89 miljoner dollar i nuvarande priser, som stals från 4 585 olika plånboksadresser.
Det är en "mindre" stöld jämfört med andra tidigare, men det som är betydelsefullt är hur det uppstod. I Xataka Physical bitcoin-plånböcker: vad de är och hur de fungerar när det gäller att skydda dina investeringar.
Värdet var fortfarande stängt. Attacken bröt inte ens den implicita isoleringen av plånböckerna och extraherade inte heller nycklar som lagrats i dem. Felet var ännu allvarligare: det inträffade i samma ögonblick som enheten skapade dessa nycklar.
En bitcoin-plånbok genererar först ett frö, en sekvens av slumpmässiga data. Privata nycklar och adresser härleds från den. Om det fröet verkligen är oförutsägbart är det omöjligt att testa alla möjligheter, även för de bästa superdatorerna på planeten.
Problemet är att om fröet inte är det spelar det ingen roll om kassaskåpet (plånboken) är helt isolerat och stängt.
Chansen som upphörde att vara. År 2021 ändrade de ansvariga för ColdCard en del av koden som användes för att generera frön genom att integrera ett bibliotek som heter libNgU. Avsikten var att tillgripa enhetens fysiska slumpgenerator.
Ett integrationsfel gjorde dock att programmet slutade använda som ett alternativ en inbäddad MicroPython pseudo-slumpgenerator som avslöjade libsecp256k1-biblioteket och andra bitcoin-primitiver, som förklaras i Coinkite i en teknisk genomgång av säkerhetskatastrofen som skapades i ColdCards. Det verkade slumpmässigt, men det var inte så slumpmässigt. Den alternativa generatorn tog data som chipets fasta identifierare och olika register relaterade till enhetens klocka.
Dessa värden producerar siffror som kan verka slumpmässiga, men som inte är en tillräckligt stark kryptografisk resurs eftersom de kan vara begränsade. Med tillräcklig kunskap om den fasta programvaran och hårdvarubeteendet kan en angripare återskapa en lista över kandidatfrön utanför enheten.
Brut force. I de drabbade Mk2- och Mk3-modellerna uppskattar Coinkite att det effektiva utrymmet för att generera frön reducerades till 40 bitar.
I Mk4 och Mk5 fanns det ytterligare ett element av entropi, och fröna växte till 72 bitar. Analys av Block-experter avslöjade hur ett problem i den firmware faktiskt gjorde att fröna begränsades till bara 32 bitar, vilket i huvudsak gjorde att "gissa" nycklarna inte längre praktiskt taget omöjligt, utan bara en fråga om datorkraft och tid. Att gissa nycklar var en fråga om minuter.
Dessa 32 bitar ger upphov till cirka 4,3 miljarder möjliga olika nycklar. Det är ett enormt antal om en människa var tvungen att kontrollera dem alla, men det är också ett helt acceptabelt antal för maskiner som kan utföra massiva beräkningar. För varje frö kunde angriparen ta reda på möjliga adresser och sedan jämföra dem med bitcoin blockchain.
När en match visade pengar fick man nyckeln för att flytta dem. Det spelade ingen roll om den fysiska plånboken var säker, även i ett kassaskåp: angriparen behövde inte ens komma åt den eftersom det med den datan var som om han hade den plånboken i sina händer.
Heist i vågor. Den första stora bitcoinöverföringsoperationen tömde 1 082,65 BTC från 1 196 plånböcker på bara 41 minuter den 31 juli. Nya svep slutade med att det totala värdet höjdes till 1 367 bitcoin, nästan 89 miljoner dollar.
Galaxy Research-studien avslöjar att en enda angripare med största sannolikhet var ansvarig, även om det helt enkelt kan vara så att flera olika angripare utforskade samma uppsättning svaga nycklar. I Xataka 256 miljoner dollar i Bitcoin, ett förlorat lösenord och två återstående försök: historien om en tysk ingenjör som inte kan komma åt sin plånbok Uppdatering räcker inte. Coinkite har redan släppt firmware-uppdateringar som löser problemet för berörda enheter.
Att installera det förhindrar bara att nya defekta frön skapas, men gör inte ett tidigare genererat frö säkert. Rekommendationen från skaparna av ColdCard är att först uppdatera, sedan skapa ett helt nytt frö och överföra pengarna.
Paradoxen med öppen källkod. De som är ansvariga för ColdCard erkänner att deras kod var offentlig och att tidigare recensioner verifierade närvaron av den fysiska slumptalsgeneratorn och frön, men följde inte i detalj vilken implementering som faktiskt använde funktionen som skapade fröna. De erkänner själva att de använt en avancerad AI-modell för att försöka analysera säkerheten i deras mjukvara, men problemet upptäcktes inte.
Det finns spekulationer om att någon kan ha använt en AI-modell för att granska gamla versioner och lokalisera buggen, även om det inte finns några bevis för att säkerhetshålet hittades på det sättet. Bild | Wikimedia i Xataka | En grupp hackare från Nordkorea undertecknade historiens största kryptovalutestöld. Nu vet vi hur de gjorde det (instagramScript)
Originalkälla
Publicerad av Xataka
3 august 2026, 13:01
Denna artikel har översatts automatiskt från spanska. Klicka på länken ovan för att läsa originaltexten.
Visa originaltext (spanska)
Rubrik
Los monederos físicos de bitcoin prometían mantener las claves fuera del alcance de los hackers. Alguien simplemente las adivinó
Beskrivning
Quienes han invertido alguna vez en criptomonedas lo saben bien: los monederos físicos ("cold wallets") eran la forma ideal de protegerlos ante potenciales robos. Esos monederos siempre prometían lo mismo: que las claves que permiten mover el dinero nunca abandonan el dispositivo. Era mentira. Catástrofe. El pasado 31 de julio, cientos de propietarios de los monederos ColdCard vieron cómo en apenas 40 minutos su dinero desapareció de sus dispositivos. El atacante no tuvo que tener acceso físico a los dispositivos, ni infectarlos ni conectarse a ellos. Le bastó hacer algo que debería haber sido imposible: adivinar las claves para robar ese dinero. El robo ha afectado a 1.367 bitcoins, unos 89 millones de dólares a los precios actuales, que se han sustraído de 4.585 direcciones de monederos distintos. Es un robo "menor" comparado con otros en el pasado, pero lo significativo es cómo se ha producido. En Xataka Monederos físicos de bitcoin: qué son y cómo funcionan a la hora de proteger tus inversiones La caja fuerte seguía cerrada. El ataque ni siquiera rompió el aislamiento implícito de los monederos ni tampoco extrajo claves almacenadas en ellos. El fallo era aún más grave: se produjo en el momento en el que el dispositivo creó esas claves. Un monedero de bitcoin genera primero una semilla, una sucesión de datos aleatorios. De ella se derivan las claves privadas y las direcciones. Si esa semilla es realmente impredecible, probar todas las posibilidades resulta inviable, incluso para los mejores supercomputadores del planeta. El problema es qeu si la semilla no lo es, da igual que la caja fuerte (el monedero) esté totalmente aislada y cerrada. El azar que dejó de serlo. En 2021 los responsables de ColdCard cambiaron parte del código empleado para generar semillas al integrar una biblioteca llamada libNgU. La intención era recurrir al generador físico de números aleatorios del dispositivo. Sin embargo, un error de integración hizo que el programa acabara usando como alternativa un generador seudoaleatorio de MicroPython embebido que exponía la librería libsecp256k1 y otras primitivas de bitcoin, como explican en Coinkite en un repaso técnico del desastre de seguridad que se creó en las ColdCard. Parecía aleatorio, pero no lo era tanto. El generador alternativo tomaba datos como el identificador fijo del chip y varios registros relacionados con el reloj del dispositivo. Esos valores producen números que pueden aparentar aleatoriedad, pero que no son un recurso criptográfico suficientemente fuerte porque podían acotarse. Con suficientes conocimientos del firmware y del comportamiento del hardware, un atacante podía recrear fuera del dispositivo una lista de semillas candidatas. {"videoId":"x801dhd","autoplay":false,"title":"Cómo comprar Bitcoins de forma segura y sin riesgo", "tag":"", "duration":"331"} Fuerza bruta. En los modelos Mk2 y Mk3 afectados, Coinkite estima que el espacio efectivo para generar semillas se reducía a 40 bits. En los Mk4 y Mk5 había un elemento de entropía más, y las semillas crecían hasta los 72 bits. El análisis de los expertos de Block reveló cómo un problema en ese firmware en realidad hacía que las semillas se limitasen a tan solo 32 bits, lo que en esencia hacía que "adivinar" las claves ya no fuese virtualmente imposible, sino tan solo cuestión de potencia de cálculo y tiempo. Adivinando claves era cuestión de minutos. Esos 32 bits dan lugar a unas 4.300 millones de posibles claves distintas. Es una cifra enorme si un ser humano tuviera que comprobarlas todas, pero también es un número totalmente asumible para máquinas capaces de realizar cálculos masivos. Para cada semilla, el atacante podía averiguar las posibles direcciones y luego compararlas con la cadena de bloques de bitcoin. Cuando una coincidencia mostraba fondos, se obtenía a continuación la clave para moverlos. Daba igual que el monedero físico estuviese a buen recaudo incluso en una caja fuerte: el atacante ni siquiera necesitaba acceso a él porque con esos datos era como si tuviera ese monedero en sus manos. Atraco por oleadas. La primera gran operación de transferencia de bitcoins vació 1.082,65 BTC de 1.196 monederos en apenas 41 minutos el 31 de julio. Nuevos barridos acabaron elevando el total a 1.367 bitcoin, cerca de 89 millones de dólares. El estudio de Galaxy Research revela que lo más probable es que el responsable fuera un único atacante, aunque puede que simplemente varios atacantes diferentes exploraran el mismo conjunto de claves débiles. En Xataka 256 millones de dólares en Bitcoin, una contraseña perdida y dos intentos restantes: la historia de un ingeniero alemán incapaz de acceder a su cartera Actualizar no basta. Coinkite ya ha publicado actualizaciones de firmware que corrigen el problema para los dispositivos afectados. Instalarlo solo evita que se creen nuevas semillas defectuosas, pero no transforma en segura una semilla generada anteriormente. La recomendación de los creadores de ColdCard es la de actualizar primero, crear luego una semilla completamente nueva y trasladar los fondos. La paradoja del código abierto. Los responsables de la ColdCard reconocen que su código era público y que las revisiones anteriors comprobaron la presencia del generador físico de números aleatorios y semillas, pero no siguieron con detalle qué implementación usaba realmente la función que creaba las semillas. Ellos mismos confiesan haber usado un modelo avanzado de IA para intentar analizar la seguridad de su software, pero el problema no fue detectado. Se especula con que alguien pudo utilizar un modelo de IA para revisar versiones antiguas y localizar el fallo, aunque no hay pruebas de que la brecha de seguridad se haya encontrado de esa forma. Imagen | Wikimedia En Xataka | Un grupo de hackers de Corea del Norte firmó el mayor robo de criptomonedas de la historia. Ahora sabemos cómo lo hicieron (function() { window._JS_MODULES = window._JS_MODULES || {}; var headElement = document.getElementsByTagName('head')[0]; if (_JS_MODULES.instagram) { var instagramScript = document.createElement('script'); instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js'; instagramScript.async = true; instagramScript.defer = true; headElement.appendChild(instagramScript); } })(); - La noticia Los monederos físicos de bitcoin prometían mantener las claves fuera del alcance de los hackers. Alguien simplemente las adivinó fue publicada originalmente en Xataka por Javier Pastor .