Roban más de 600 millones en criptomonedas de la plataforma Poly Network
Unos hackers han conseguido desviar unos 611 millones de dolares en diferentes criptomonedas de una red financiera basada en Blockchain, aprovechándose de vulnerabilidades en su código.
El pasado 10 de agosto, el twitter de Poly Network anunciaba que su plataforma había sido comprometida, y que parte de sus activos habían sido transferidos a una serie de direcciones controladas por el atacante:
Poly Network es una plataforma descentralizada que para el intercambio de tokens o cryptomonedas entre diferentes blockchains, como pueden ser Ethereum, Binance Smart Chain, Polygon, etc. Mediante una red de bloques propia y smart contracts desplegados en las redes participantes, permite la transferencia segura de activos entre las mismas.
Una transferencia de tokens entre dos blockchains consiste, por un lado, en el bloqueo de los activos en la red de origen, y posteriormente transferirlos a la cuenta en la red de destino. Este proceso requiere que los diferentes contratos dispongan de liquidez suficiente en la red de destino, que fue el objetivo del atacante.
Aunque en un principio se rumoreaba que las claves privadas de Poly Network habían sido filtradas, un análisis realizado por la empresa china SlowMist determinó que la causa del hackeo fue una vulnerabilidad en el código de los smart contracts que gestionan las llamadas entre cadenas, en concreto, la función _executeCrossChainTx del contrato EthCrossChainManager.
Tanto el contrato llamado, como su método o los aragumentos no son verificados adecuadamente y están bajo el control del usuario. Es posible, por tanto, realizar llamadas arbitrarias a otras funciones, obteniendo un nombre de método, mediante un proceso de fuerza bruta, cuya firma colisione con la de la función que se quiere llamar.
En las transacciones realizadas durante el ataque, se comprueba que el objetivo fue reemplazar la clave pública que controla el desbloqueo de fondos. Aunque ésta se encuentra definido en otro contrato, EthCrossChainData, su propietario es el contrato vulnerable. Una vez reemplazado, es posible realizar transacciones que envíen cantidades arbitrarias de fondos a cualquier dirección, que es lo que hizo el atacante.
Dada la repercusión que ha tenido este robo, el más grande del que se tiene referencia, y la dificultad de llegar a disfrutar de los fondos obtenidos, el hacker o grupo ha decidido devolver los tokens sustraidos.
Como ocurre con otras tecnologías, es fundamental auditar adecuadamente el código de aplicaciones críticas, especialmente cuando se confian en ellas cantidades de dinero tan elevadas.
Para los interesados en la auditoría de smart contracts, en la plataforma de retos Una al Mes (UAM) disponemos de un reto de iniciación.
Referencias
https://thehackernews.com/2021/08/hacker-steal-over-600-million-worth-of.html
https://slowmist.medium.com/?p=8112a35beb39
La entrada Roban más de 600 millones en criptomonedas de la plataforma Poly Network se publicó primero en Una al Día.
Powered by WPeMatico