-
Los datos de la transferencia que permitió el hackeo escondían una dirección de destino diferente.
-
El pasado viernes el exchange de criptomonedas fue hackeado por más de 400.000 ETH.
El exchange de criptomonedas Bybit sufrió un hackeo el pasado viernes que resultó en la pérdida de aproximadamente 400.000 ether (ETH), una cantidad valuada en más de 1.000 millones de dólares.
Cómo lo informó CriptoNoticias, el incidente ocurrió durante lo que Ben Zhou, CEO y confundador del exchange, describió como «una transferencia regular» entre dos direcciones propias de la plataforma. La operación comprendía un movimiento desde una cold wallet multisig de Ethereum, un monedero frío que requiere múltiples firmas para autorizar movimientos, hacia una hot wallet. En ese proceso, la cold wallet fue comprometida y vaciada por los hackers.
Un análisis posterior sugiere que «el hackeo de Bybit podría haberse evitado fácilmente con solo algunas verificaciones básicas», de acuerdo con un desarrollador de la red Base, una red de segunda capa (L2) de Ethereum.
¿Cómo se pudo evitar el hackeo de Bybit?
El desarrollador, identificado en X como «The Smart Ape» (el simio inteligente), sostiene que el hackeo «no requería un análisis complejo para ser detenido y que la clave estaba en los datos de la transacción».
Tras el ataque, el CEO de Bybit señaló que él fue el último firmante de aquella «transferencia regular», asegurando que verificó tanto la URL como la dirección de destino antes de aprobarla. Zhou también afirmó haber revisado el código, pero el especialista señala que eso «no era necesario». El desarrollador de Base subraya una falla crítica: «¡no te quedas solo con verificaciones básicas cuando hay miles de millones en juego!».
Para The Smart Ape, el problema no radicó en la dirección visible, que efectivamente correspondía a la multisig de Bybit, sino en los datos de entrada de la transacción (input data), un conjunto de información que detalla las instrucciones específicas que se ejecutarán en la red.
“Esto podría haberse evitado simplemente verificando los datos de entrada de la transacción”.
Desarrollador de Base.
La transacción que fue el punto de partida del ataque estuvo basada en «Exec Transaction» (ejecutar transacción) de Safe, una plataforma para gestionar monederos multifirma. Exec Transaction es una función utilizada en contratos inteligentes de wallets multifirma que permite ejecutar una operación que ha sido confirmada por el número requerido de propietarios de ese monedero. Este método no realiza ninguna verificación de la transacción, siendo responsabilidad del firmante efectuarlas.
Como se ve en la siguiente imagen compartida por el desarrollador de Base, la operación desde la cold wallet de Bybit de Ethereum fue la puerta de entrada que habilitó el acceso a dicha dirección, facilitando el posterior hackeo. Este movimiento se corrobora en el explorador Etherscan.
A su vez, al revisar los datos de las operaciones Exec Transaction, estas reflejan los datos de entrada, que debieron haber sido corroborados en un explorador de bloques de Ethereum, según el análisis de The Smart Ape. Esos datos ocultaban una segunda dirección de destino: «0x96221423681A6d52E184D440a8eFCEbB105C7242».
En la siguiente imagen se observa como en la revisión que habría hecho el CEO de Bybit, esa dirección de destino era la perteneciente a la cold wallet del exchange:
«Una simple revisión» habría mostrado que este contrato no estaba verificado, es decir, su código no era público en el explorador de bloques, y que había sido creado recientemente, dos señales de alerta evidentes. The Smart Ape publicó los detalles del contrato 0x96221423681A6d52E184D440a8eFCEbB105C7242, que él mismo detalla como «red flags»:
Delegación del control: el error fatal
El análisis profundiza en otro aspecto crucial: el parámetro «operation» dentro de los datos reflejados en una Exec Transaction. En el sistema Safe, un valor de «operation=0» indica una llamada estándar a un contrato, mientras que «operation=1» implica una delegación de autoridad, permitiendo que otro contrato actúe en nombre del emisor.
En este caso, la transacción usó «operation=1«, otorgando control total a un contrato no verificado. Una verificación de estos datos, accesibles tanto en el explorador de bloques como en la interfaz de una wallet antes de firmar, habría bastado para detener el exploit antes de que los atacantes drenaran los 400.000 ETH en transacciones posteriores.
«Si alguien hubiera revisado los datos de entrada, habría visto de inmediato que la transacción estaba otorgando control total a un contrato inteligente no verificado y delegando autoridad mediante operation=1, permitiéndole hacer lo que quisiera. Esto es higiene básica de seguridad.»
Desarrollador de Base.
Así, el desarrollador concluyó su análisis con una crítica hacia el exchange de criptomonedas: «esto no requiere ningún análisis técnico profundo. Para un jugador masivo como Bybit, es asombroso que no tengan un procedimiento de verificación estándar para los datos de entrada de la transacción antes de firmar».
En esta misma línea, Adam Back, CEO de Blockstream, apuntó a que el hackeo de Bybit no fue un fallo de las llaves criptográficas en sí, sino una consecuencia del proceso de firma en pantalla, limitado por la incapacidad de las hardware wallets para interpretar plenamente las transacciones en el entorno de Ethereum. Esto permitió que una transacción aparentemente legítima se convirtiera en una puerta de entrada para los atacantes.