Lo último en el truco del puente Horizon de Harmony y su post-mortem técnico

Harmony, una cadena de bloques de capa 1 abierta y rápida que ofrece un sistema bidireccional Ethereum puente, sufrió un desafortunado hack el 24 de junio. Horizon, su puente de cadena cruzada a Ethereum, registró este exploit por un valor de casi $ 100 millones en ETH. Aunque la plataforma había detenido el puente afectado, quedan algunas preguntas sin respuesta.

Para comprender mejor la situación, aquí hay una inmersión profunda en lo que causó este truco.

Exponiendo al dueño, ¿verdad?

Expertos en seguridad de la CertiK equipo, en un blog publicado el 25 de junio, compartido un análisis profundo que destaca los eventos clave que llevaron al atraco. Wu Blockchain, una famosa agencia de noticias, luego volvió a compartir este desarrollo en su cuenta de Twitter.

Analisis preliminar exhibido que el supuesto domicilio hizo 11 transacciones desde el puente por varias fichas. Además, el individuo envió fichas a un una experiencia diferente billetera para cambiar por ETH en el Uniswap intercambio descentralizado (DEX), luego envió ETH de regreso a la billetera original.

Después de algún investigación exahustiva, el análisis de expertos identificó 12 transacciones de ataque y tres direcciones de ataque. A través de estas transacciones, el atacante obtuvo varios tokens en el puente, incluidos ETH, USDC, WBTC, USDT, DAI, BUSD, AAG, FXS, SUSHI, AAVE, WETH y FRAX.

“El atacante logró esto al controlar de alguna manera al propietario de MultiSigWallet para llamar a confirmTransaction() directamente para transferir grandes cantidades de tokens desde el puente en Harmony. Esto condujo a una pérdida total de alrededor de 97 millones de dólares en activos en la cadena Harmony que el atacante consolidó en una dirección principal”.

Este evento ocurrió en una secuencia como se muestra a continuación.

La cadena de eventos

El propietario del contrato MultiSigWallet (0xf845a7ee8477ad1fb446651e548901a2635a915) llamó a la función submitTransaction() para enviar una transacción. Incorporó la siguiente carga útil para generar el ID de transacción 21106 en la transacción.

Fuente: Certik

A continuación, en la transacción de explotación, el propietario llamó a la función confirmTransaction() desde MultiSigWallet con el ID de transacción de entrada 21106. La función executeTransaction() invocó una llamada externa con datos de entrada. Este paso activó la función unlockEth() en el contrato de Ethmanager.

Fuente: Certik

Dado el hecho de que el atacante controlaba la autoridad del propietario, el desbloqueo abrió el camino a dicho exploit de puente cruzado. El blog también agregó,

"el atacante ejecutó la transacción con id 21106, que transfirió 13,100 ETH a la dirección del atacante".

Pero eso no es todo. El presunto pirata informático continuó el proceso anterior utilizando diferentes ID de transacción en otros contratos de ERC20Manager para transferir una gran cantidad de tokens ERC20 y monedas estables.

En general, tales incidentes han agravado todo el escenario escéptico en torno al uso puentes de cadena cruzada. A principios de este año fuimos testigos tanto de la Puente Ronin explotar y Wormhole explotar

Fuente: https://ambcrypto.com/latest-in-harmonys-horizon-bridge-hack-and-its-technical-post-mortem/