-
Realizaron un ataque de reentrada al contrato inteligente de los canales de pago.
-
Por el ataque quedaron congelados 4.000 dólares de la moneda de la Dapp BOOTY
Un error en el código del contrato inteligente de SpankChain, aplicación descentralizada basada en la blockchain de Ethereum, ocasionó el robo de 165,38 ETH, equivalentes a unos 38.000 dólares para el momento del suceso. Además, a causa de este desperfecto fueron congelados unos 4.000 dólares en la moneda BOOTY, con la que funcionan las propinas de la Dapp.
Un atacante desconocido habría aprovechado un error del contrato inteligente del canal de pago de SpankChain para robar los fondos. Según explica el comunicado oficial publicado por SpankChain, el suceso ocurrió el día sábado 06 de octubre, sin embargo, solo cayeron en cuenta del ataque el domingo 07.
No obstante, de acuerdo con la empresa, solo 34.99 ETH (cerca de 8.000 dólares) y 1271.88 BOOTY (unos 9.300 dolares) pertenecen a usuarios. Esto equivale a un poco más de 17.000 dólares; el resto de ETH y BOOTY perdido pertenece a la propia SpankChain. Tras darse cuenta del ataque, suspendieron el servicio de Spank.Live para evitar depósitos adicionales en el contrato anómalo, y mantendrán la suspensión del servicio por unos días.
El hacker realizó un ataque de reentrada (reentrancy), creando un contrato malicioso «disfrazado» como un token ERC20. En él, la función de «transferencia» vuelve a llamar al contrato de canal de pago varias veces, sacando ETH del contrato de estos canales de pago en cada nueva llamada, de manera que el depósito del supuesto token, puede generar una brecha para sustraer los fondos a una dirección determinada por el atacante. Este bug es similar al que sufrió el proyecto de Organización Autónoma Descentralizada (DAO) hackeado, que desencadenó la primera gran bifurcación de Ethereum.
Nuestra prioridad inmediata ha sido proporcionar reembolsos completos a todos los usuarios que perdieron fondos. Estamos preparando un airdrop de ETH para cubrir los 9.300 dólares en valor de ETH y BOOTY que pertenecieron a los usuarios. Los fondos se enviarán directamente a las cuentas SpankPay de los usuarios y estarán disponibles tan pronto como reiniciamos Spank.Live.
SpankChain
El equipo de desarrollo creará una versión parcheada del código del contrato inteligente del canal de pago para evitar futuros ataques. Además, actualizarán Spank.Live para usar el nuevo contrato de canal de pago y realizarán un airdrop para reintegrar la totalidad de los fondos perdidos, tanto en ETH como en BOOTY a través de SpankPay. La idea es que, cuando retomen las actividades de Spank.Live, tanto los usuarios, como los clientes, tengan el reintegro completo en su monedero.
Luego de la reactivación, trabajarán con normalidad, aunque debido al congelamiento de los 4.000 BOOTY, se reducirá a 10 el límite de BOOTY por cada espectador. “Esto significa que los espectadores solo podrán dar una propina de 10 BOOTY a la vez, y al gastar los 10 BOOTY, recargarán automáticamente sus 10 BOOTY con cualquier ETH adicional que hayan depositado, hasta que agoten completamente su saldo de ETH”, se lee en el documento oficial.
Recordemos que SpankChain es un proyecto que emplea la tecnología blockchain y los contratos inteligentes para el manejo y distribución de contenido para adultos, a través de cámaras web.
De acuerdo con este comunicado, la propia empresa decidió no hacer una auditoría del contrato, al considerar este proceso muy caro. Ya habían realizado una anteriormente con la empresa llamada Zepellin, para la librería unidireccional anterior. En el caso del nuevo contrato de canales de pago que resultó atacado, la auditoría hubiese significado una inversión de entre 30.000 y 50.000 dólares, pero desestimaron realizarla.