Los investigadores exponen las fallas en las carteras de Bitcoin que podrían ser explotadas para el doble gasto

3. Juli 2020 by Keine Kommentare

Una forma estándar de realizar transacciones en Bitcoin podría ser vulnerable a la doble contabilidad, según una nueva investigación. Los detectives de Blockchain en ZenGo, una puesta en marcha de carteras, han encontrado una vulnerabilidad que afectaba al menos a tres grandes carteras criptográficas – Ledger Live, Edge and Breadwallet (BRD) – y potencialmente a más.

El error, que la empresa de Tel Aviv llama BigSpender, permite a un hacker gastar dos veces los fondos de un usuario y posiblemente evitar que vuelva a usar su cartera. Funciona explotando un fallo en la función de sustitución por tarifa (RBF) de Bitcoin, un mecanismo de seguridad que permite a los usuarios intercambiar una transacción no confirmada por otra con una tarifa más alta.

„[BigSpender] puede conducir a pérdidas financieras sustanciales y en algunos casos a hacer la cartera de la víctima totalmente inutilizable sin que la víctima pueda protegerse“, dijo el CEO de ZenGo, Ouriel Ohayon, en un correo electrónico. „Así que esto puede ser visto como un ataque de alta gravedad“.

Al igual que otras vulnerabilidades encontradas en el código base de Bitcoin, como las transacciones bloqueadas en el tiempo, la función RBF se ha convertido en una forma estándar para que los usuarios envíen valor de ida y vuelta. Fue lanzada y aceptada por la comunidad de desarrolladores como una forma para que los Bitcoiners sortearan los lentos tiempos de confirmación pagando más en honorarios.

Raphael Auer – El trilema de la seguridad y el futuro de Bitcoin

Desde el principio, se temía que la función RBF no estuviera bien soportada por las carteras de Bitcoin, a pesar de estar integrada en la capa de protocolo de Bitcoin, dijo el investigador seudónimo de Bitcoin 0xB10C. „ZenGo muestra que un usuario puede ser engañado para que piense que está recibiendo Bitcoin cuando no es así. Creo que esto es novedoso. Al menos no he oído hablar de ello antes“, dijo.

La firma probó nueve carteras diferentes, incluyendo Ledger Live, Trust wallet, Exodus, Edge, Bread, Coinbase, Blockstream Green, Blockchain y Atomic Wallet. De las probadas, se encontró que tres eran vulnerables a la explotación teórica.

„No hemos probado todas las carteras pero podría ser que si tres de las más grandes están implicadas, también lo estén otras más“, dijo Ohayon. ZenGo alertó a las empresas sobre sus hallazgos, y les dio 90 días para reparar la vulnerabilidad.

Ledger y BRD han liberado cambios en el código para prevenir que el ataque ocurra, y pagaron grandes recompensas no reveladas a ZenGo, mientras que Edge se encuentra actualmente en un „refactoramiento significativo“ que abordará el tema, dijo el CEO de Edge, Paul Puey, en un correo electrónico.

El hacking aprovecha una conocida vulnerabilidad en la forma en que ciertas carteras tratan las transacciones RBF de Bitcoin, dijo Peter Todd, desarrollador de Bitcoin y arquitecto de RBF.

Cómo funciona: Los atacantes envían fondos a sus víctimas, y establecen tarifas lo suficientemente bajas como para casi garantizar que la transacción no recibirá una confirmación. Mientras la transacción está pendiente, el atacante la cancela. En el caso de las carteras vulnerables, esta transacción pendiente se reflejará en un aumento del saldo de la cuenta del usuario y, por lo tanto, es posible que lleve a algunas víctimas a creer erróneamente que la transacción se ha realizado, a pesar de haber sido cancelada.

Esta discrepancia entre el saldo declarado y el saldo real de una víctima podría ser explotada por agentes malintencionados que engañan a las personas para que proporcionen bienes o servicios sin pagar por ellos, salvo la mínima cantidad que se gasta. En este sentido, el fallo está en el diseño de la UX y la UI de la cartera.

¿Doble problema?

Si un hacker puede engañar a una persona para que crea que ha recibido el pago, mientras que simultáneamente mantiene el control de la moneda de bits, se trata de un doble gasto, según los investigadores de ZenGo.

„Tienes que decidir cuál es la definición de un doble gasto. La mayoría de las personas que no son trolls dirían que un doble gasto es cuando tienes una transacción confirmada que de alguna manera se invalida y se gasta con una transacción confirmada diferente“, dijo Jameson Lopp, CTO de la startup de custodia Casa, negando las afirmaciones de los investigadores.

Este ataque, por su naturaleza, se aprovecha de la forma en que las carteras muestran las transacciones no confirmadas. En este sentido, el ataque – aunque fraudulento – no está rompiendo la forma en que funciona el código de Bitcoin.

„El objetivo de la cadena de bloqueo es prevenir el problema del doble gasto“, dijo Lopp. „Se remonta al libro blanco original de Satoshi, que dice que la solución al doble gasto es tener un libro de contabilidad distribuido que mucha gente esté comprobando“.

„La única cosa en la que puedes confiar es en las transacciones que han sido minadas“

Una regla general cuando se realiza una transacción con Bitcoin es no confiar nunca en una transacción con menos de seis confirmaciones, dijo 0xB10C. Este fue un punto repetido por varios desarrolladores, incluyendo Todd, Lopp y el CTO de BRD Samuel Sutch. Si esta explotación se lleva a cabo, al menos parte de la responsabilidad recae en la víctima.

„La única cosa en la que puedes confiar es en las transacciones que han sido minadas“, dijo Todd.

En este sentido, Sutch llamó a BigSpender un „bicho menor“ y „un tipo de artificio“, pero también algo que vale la pena arreglar y pagar una recompensa por el bicho. BRD recientemente pasó 5 millones de usuarios, dijo Sutch.