Orion Protocol - REKT



El cazador se ha convertido en la presa.

Orion Protocol fue víctima de un reentrancy exploit el jueves, perdiendo un total de $3M en ETH y BSC.

El proyecto es un 'liquidity aggregator' que tiene como objetivo llevar la liquidity de CEX a la chain (que no debe confundirse con Orion Finance, que hizó un rugpull de $320k en Arbitrum el día anterior).

Pocas horas después de que la noticia se difundiera en Twitter, el CEO de Orion anunció la pérdida y aclaró que el daño estaba contenido en una cuenta interna del broker y que los fondos de los usuarios permanecen seguros.

El sitio web de Orion dice:

POR QUÉ EXISTIMOS

Nadie ha resuelto la liquidez, la custodia, la accesibilidad y la escalabilidad en una sola plataforma.

Hasta ahora.

Tal vez deberían haber agregado seguridad a esa lista...

Crédito: SlowMist, Peckshield

El atacante usó swaps manipulados de flash loaned stablecoins, depositando artificialmente los activos dos veces antes de retirar el saldo inflado.

Al crear un token falso (ATK) y enrutar un swap de los fondos del flash loan a través de ATK, un gancho de reentrancy llamó la función depositAsset dentro de la función de transferencia de ATK, duplica efectivamente el saldo de la cuenta del exploiter.

Slowmist proporcionó un desglose detallado del exploit:

El attacker primero llamó a la función depositAsset del contrato ExchangeWithAtomic para hacer un depósito de tokens de 0,5 USDC en preparación para el siguiente attack :

A continuación, el attacker realiza un flash loan de 284,700 USDT y luego llama a la función doSwapThroughOrionPool del contrato ExchangeWithAtomic para intercambiar los tokens, la ruta del swap es "USDC -> ATK (token malicioso creado por el attacker ) -> USDT".

El monto de salida del swap es el saldo de USDT en el contrato ExchangeWithAtomic después del swap menos el saldo inicial de 2,844,700 USDT.

El problema surge cuando una llamada a la función de transferencia de tokens ATK durante el swap hace que el attacker vuelva a ingresar a la función depositAsset del contrato ExchangeWithAtomic, lo que resulta en la transferencia de 284,4M de USDT del flashloan al contrato ExchangeWithAtomic.

El depósito del atacker en el contrato ExchangeWithAtomic se registra como 2,844,700 y el saldo de tokens USDT en el contrato se convierte en 5,689,000. Como resultado, el swap de USDT del attacker se calcula en 5,689,000 menos 2,844,700.

Al llamar a la función de library creditUserAssets para actualizar el ledger del contrato del attacker en el contrato ExchangeWithAtomic, se usó el USDT intercambiado, lo que resultó en que el depósito final de USDT del contrato attacker en el contrato ExchangeWithAtomic se registrara en 5,68 M.

Finalmente, el attacker retira el USDT y lo devuelve al flashloan lender e intercambia los 2.836M de USDT restantes en WETH para obtener ganancias. Los attackers utilizaron el mismo método para lanzar un attack a la chain BSC y obtuvieron una ganancia de $191,000.

La raíz del attack fue que la función de intercambio de contratos no está protegida contra el reentrancy…

Peckshield produjo el siguiente diagrama que muestra los pasos básicos del exploit:

Dirección del atacante 1 (ETH,BSC): 0x3dabf5e36df28f6064a7c5638d0c4e01539e35f1

Dirección del atacante 2 (ETH,BSC): 0x837962b686fd5a407fb4e5f92e8be86a230484bd

Example tx (BSC): 0xfb153c57…

Example tx (ETH): 0xa6f63fcb…

Los fondos robados se han depositado principalmente en Tornado Cash, con aproximadamente $1M de ETH restante en la dirección de Ethereum. La cuenta del exploiter se financió desde una wallet etiquetada como Binance, aunque la fuente original supuestamente fue otro CEX, SimpleSwap.

En su hilo sobre el incidente, el CEO de Orion, Alexey Koloskov, expresó su confianza en el código de su propio equipo:

Tenemos razones para creer que el problema no fue el resultado de ninguna deficiencia en nuestro código de protocolo central, sino que podría haber sido causado por una vulnerabilidad al mezclar third-party libraries en uno de los smart contracts utilizados por nuestros brokers experimentales y privados.

Pero cuando hay cantidades tan grandes de dinero en juego, la seguridad debe considerarse en todos los niveles de la pila de un proyecto.

Y parece que esta pérdida de $3M ha motivado a Orion a adoptar un enfoque más controlado:

En el futuro, todos y cada uno de los contratos se desarrollarán internamente para eliminar cualquier vulnerabilidad potencial de las third-party libraries. Nuestro enfoque es fortalecer el Protocolo de Orión y asegurarnos de que siga siendo sólido.

Alegra saber que Orion tomará la seguridad más Sirio-mente.


compartir artículo

REKT sirve como plataforma pública para autores anónimos, nos deslindamos de la responsabilidad por las opiniones y contenidos alojados en REKT.

dona (ETH / ERC20): 0x3C5c2F4bCeC51a36494682f91Dbc6cA7c63B514C

aviso legal:

REKT no es responsable ni culpable de ninguna manera por cualquier Contenido publicado en nuestro Sitio Web o en conexión con nuestros Servicios, sin importar si fueron publicados o causados por Autores ANÓN de nuestro Sitio Web, o por REKT. Aunque determinamos reglas para la conducta y publicaciones de los Autores ANÓN, no controlamos y no somos responsables por cualquier contenido ofensivo, inapropiado, obsceno, ilegal o de cualquier forma objetable, que se pudiera encontrar en nuestro Sitio Web o Servicios. REKT no es responsable por la conducta, en línea o fuera de línea, de cualquier usuario de nuestro Sitio Web o Servicios.