Revisión y reflexiones sobre la acción de rescate de vulnerabilidades del proyecto
El 18 de enero de 2022, nuestro sistema de monitoreo de transacciones anómalas detectó un ataque contra un proyecto de cadena cruzada. Debido a que una función en el contrato del proyecto no implementó correctamente el mecanismo de verificación, los tokens autorizados por los usuarios para ese proyecto podían ser extraídos por los atacantes.
A pesar de que el equipo del proyecto intentó diversas formas de alertar a los usuarios afectados, muchos usuarios aún no respondieron a tiempo, lo que permitió a los atacantes continuar con el ataque y obtener beneficios. Dado que el ataque sigue en curso, para proteger a posibles víctimas, hemos decidido tomar medidas de respuesta de emergencia. Esta operación de rescate se dirige a las cuentas afectadas en Ethereum, y transferiremos los fondos de las cuentas relacionadas a una cuenta de multisig de "sombreros blancos" establecida específicamente. Para garantizar la transparencia de la acción, haremos públicos los hashes de los documentos del plan relacionado a la comunidad, lo que distingue nuestras acciones de las de los atacantes sin revelar detalles. La operación de rescate comenzó el 21 de enero de 2022 y terminó el 11 de marzo.
La asistencia de emergencia enfrenta numerosos desafíos técnicos y no técnicos. Al finalizar la acción, revisamos todo el proceso y esperamos compartir experiencias relevantes para ayudar a la comunidad y a la seguridad del ecosistema DeFi.
Resumen de la situación de rescate
Durante el período de tiempo que observamos ( del 18 de enero de 2022 al 20 de marzo de 2022, la situación general de ataques y rescates es la siguiente:
9 cuentas de rescate protegieron 483.027693 ETH, pagaron tarifas de Flashbots 295.970554 ETH) representa el 61.27%(
21 cuentas de ataque obtuvieron 1433.092224 ETH, pagaron tarifas de Flashbots 148.903707 ETH) representa el 10.39%(
Es importante señalar que, debido a algunas situaciones complejas ), como que algunos atacantes más tarde llegaron a un acuerdo con el equipo del proyecto para devolver parte de las ganancias (, las estadísticas anteriores son solo datos aproximados.
La competencia entre los hackers de sombrero blanco y los atacantes para enviar transacciones de Flashbots implementa un rescate, y las tarifas de Flashbots pagadas reflejan el nivel de competencia. Calculamos la proporción de tarifas de Flashbots de las transacciones de ataque y rescate según el bloque de transacciones.
Las tarifas de Flashbots para las transacciones de ataque inicial eran de 0, lo que indica que el atacante aún no había utilizado Flashbots. Posteriormente, la proporción de tarifas de Flashbots aumentó rápidamente, alcanzando incluso el 80%-91% en ciertos bloques. Esto refleja una carrera armamentista de tarifas provocada por la lucha por el control de la cadena de Flashbots.
La idea básica del rescate es monitorear las cuentas de posibles víctimas, y cuando haya una transferencia de WETH, aprovechar la vulnerabilidad del contrato para transferirlo a una billetera multisig de hackers éticos. La clave es cumplir con los siguientes requisitos:
Localización efectiva de la transacción de transferencia al víctima.
Construir correctamente la transacción de rescate
Transacción del atacante que logró un front-running exitoso
Las dos primeras no constituyen un obstáculo para nosotros, pero la tercera sigue siendo un desafío. Aunque se puede usar Flashbots para hacer front-running, la tasa de éxito depende de la altura de las tarifas debido al modelo de subasta de tarifas, y la configuración de la estrategia necesita consideraciones adicionales. Además, la posición y el orden de las transacciones al enviar transacciones normales en el mempool también son factores clave. También hemos competido con otros "white hats", algunos de cuyos comportamientos son algo sospechosos.
En general, tratamos de proteger 171 cuentas potencialmente afectadas. De ellas, 10 revocaron oportunamente la autorización para autoprotegerse, y de las restantes 161, debido a la existencia de diversas competencias, solo logramos rescatar 14.
Nuestra estrategia de tarifas es bastante conservadora, tendiendo a establecer tarifas bajas para proteger los intereses de las víctimas. Sin embargo, esta estrategia no ha tenido mucho éxito, ya que los atacantes y algunos hackers éticos suelen adoptar estrategias más agresivas. Por ejemplo:
Un atacante estableció la proporción de tarifas en 70%
Un hacker de sombrero blanco estableció la proporción de tarifas entre el 79% y el 81%.
Otro atacante aumentó la proporción de tarifas al 86%
Esto parece convertirse en un juego de suma cero, que requiere modelar y explorar los patrones de comportamiento de las partes involucradas, buscando un equilibrio entre la reducción de costos y la competencia.
Debido a la intensa competencia entre múltiples partes, Flashbots no siempre es efectivo. Al enviar transacciones normales a través de mempool, si se colocan en la posición adecuada, también se puede lograr el objetivo. Un atacante utilizó esta estrategia para obtener 312 ETH de ganancias, sin necesidad de pagar tarifas de Flashbots.
El ataque se organiza de manera astuta en una posición adyacente a la transacción de transferencia del víctima. Esta estrategia es tanto práctica como inspiradora, y merece atención.
Identificar a un hacker ético no siempre es simple y directo. Por ejemplo, una dirección que fue marcada inicialmente como atacante, luego fue cambiada a hacker ético. Esto se debe a que el equipo del proyecto negoció con el atacante, quien aceptó conservar parte de las ganancias como recompensa y devolver el resto. Este fenómeno ha generado en la comunidad un debate sobre la equidad de los incentivos.
competencia entre sombreros blancos
Es necesario que la comunidad establezca un mecanismo de coordinación para reducir la competencia entre los hackers éticos. Esta competencia puede desperdiciar recursos de rescate y aumentar los costos de rescate. Por ejemplo, nosotros y otras tres organizaciones de hackers éticos intentamos simultáneamente proteger a 54 víctimas, lo que implica una pérdida de 450 ETH.
Mejorar la operación de rescate
El hacker de sombrero blanco puede anunciar sus acciones a la comunidad sin revelar información sensible, para ganarse la confianza de la comunidad.
Las diversas partes de la comunidad pueden colaborar para hacer que la ayuda sea más rápida y efectiva:
Flashbots/mineros proporcionan un canal verde a los hackers éticos de confianza
El equipo del proyecto asume los costos de Flashbots
El equipo del proyecto utiliza un mecanismo de alerta de usuario más conveniente
El equipo del proyecto toma las medidas de emergencia necesarias en el código.
Al resumir las lecciones aprendidas, esperamos que las futuras operaciones de rescate sean más eficientes y protejan al máximo los intereses de los usuarios.
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
Acción de rescate de vulnerabilidades de proyectos cross-chain: resumen de experiencias e implicaciones de seguridad en Finanzas descentralizadas
Revisión y reflexiones sobre la acción de rescate de vulnerabilidades del proyecto
El 18 de enero de 2022, nuestro sistema de monitoreo de transacciones anómalas detectó un ataque contra un proyecto de cadena cruzada. Debido a que una función en el contrato del proyecto no implementó correctamente el mecanismo de verificación, los tokens autorizados por los usuarios para ese proyecto podían ser extraídos por los atacantes.
A pesar de que el equipo del proyecto intentó diversas formas de alertar a los usuarios afectados, muchos usuarios aún no respondieron a tiempo, lo que permitió a los atacantes continuar con el ataque y obtener beneficios. Dado que el ataque sigue en curso, para proteger a posibles víctimas, hemos decidido tomar medidas de respuesta de emergencia. Esta operación de rescate se dirige a las cuentas afectadas en Ethereum, y transferiremos los fondos de las cuentas relacionadas a una cuenta de multisig de "sombreros blancos" establecida específicamente. Para garantizar la transparencia de la acción, haremos públicos los hashes de los documentos del plan relacionado a la comunidad, lo que distingue nuestras acciones de las de los atacantes sin revelar detalles. La operación de rescate comenzó el 21 de enero de 2022 y terminó el 11 de marzo.
La asistencia de emergencia enfrenta numerosos desafíos técnicos y no técnicos. Al finalizar la acción, revisamos todo el proceso y esperamos compartir experiencias relevantes para ayudar a la comunidad y a la seguridad del ecosistema DeFi.
Resumen de la situación de rescate
Durante el período de tiempo que observamos ( del 18 de enero de 2022 al 20 de marzo de 2022, la situación general de ataques y rescates es la siguiente:
9 cuentas de rescate protegieron 483.027693 ETH, pagaron tarifas de Flashbots 295.970554 ETH) representa el 61.27%(
21 cuentas de ataque obtuvieron 1433.092224 ETH, pagaron tarifas de Flashbots 148.903707 ETH) representa el 10.39%(
Es importante señalar que, debido a algunas situaciones complejas ), como que algunos atacantes más tarde llegaron a un acuerdo con el equipo del proyecto para devolver parte de las ganancias (, las estadísticas anteriores son solo datos aproximados.
![])https://img-cdn.gateio.im/webp-social/moments-30d2c3346816e15ab7c89a6a25d0ad83.webp(
Tendencia de cambios en las tarifas de Flashbots
La competencia entre los hackers de sombrero blanco y los atacantes para enviar transacciones de Flashbots implementa un rescate, y las tarifas de Flashbots pagadas reflejan el nivel de competencia. Calculamos la proporción de tarifas de Flashbots de las transacciones de ataque y rescate según el bloque de transacciones.
Las tarifas de Flashbots para las transacciones de ataque inicial eran de 0, lo que indica que el atacante aún no había utilizado Flashbots. Posteriormente, la proporción de tarifas de Flashbots aumentó rápidamente, alcanzando incluso el 80%-91% en ciertos bloques. Esto refleja una carrera armamentista de tarifas provocada por la lucha por el control de la cadena de Flashbots.
![])https://img-cdn.gateio.im/webp-social/moments-d22626977feebe325b02c899454022c7.webp(
Implementación y Desafíos de la Acción de Rescate
La idea básica del rescate es monitorear las cuentas de posibles víctimas, y cuando haya una transferencia de WETH, aprovechar la vulnerabilidad del contrato para transferirlo a una billetera multisig de hackers éticos. La clave es cumplir con los siguientes requisitos:
Las dos primeras no constituyen un obstáculo para nosotros, pero la tercera sigue siendo un desafío. Aunque se puede usar Flashbots para hacer front-running, la tasa de éxito depende de la altura de las tarifas debido al modelo de subasta de tarifas, y la configuración de la estrategia necesita consideraciones adicionales. Además, la posición y el orden de las transacciones al enviar transacciones normales en el mempool también son factores clave. También hemos competido con otros "white hats", algunos de cuyos comportamientos son algo sospechosos.
En general, tratamos de proteger 171 cuentas potencialmente afectadas. De ellas, 10 revocaron oportunamente la autorización para autoprotegerse, y de las restantes 161, debido a la existencia de diversas competencias, solo logramos rescatar 14.
![])https://img-cdn.gateio.im/webp-social/moments-3a365a505b5c5ac87a42a6d277af23ff.webp(
Lecciones aprendidas
) Configuración de tarifas de Flashbots
Nuestra estrategia de tarifas es bastante conservadora, tendiendo a establecer tarifas bajas para proteger los intereses de las víctimas. Sin embargo, esta estrategia no ha tenido mucho éxito, ya que los atacantes y algunos hackers éticos suelen adoptar estrategias más agresivas. Por ejemplo:
Esto parece convertirse en un juego de suma cero, que requiere modelar y explorar los patrones de comportamiento de las partes involucradas, buscando un equilibrio entre la reducción de costos y la competencia.
![]###https://img-cdn.gateio.im/webp-social/moments-cb547989448abc96498684cb89da8860.webp(
) Ordenación de transacciones en Mempool
Debido a la intensa competencia entre múltiples partes, Flashbots no siempre es efectivo. Al enviar transacciones normales a través de mempool, si se colocan en la posición adecuada, también se puede lograr el objetivo. Un atacante utilizó esta estrategia para obtener 312 ETH de ganancias, sin necesidad de pagar tarifas de Flashbots.
El ataque se organiza de manera astuta en una posición adyacente a la transacción de transferencia del víctima. Esta estrategia es tanto práctica como inspiradora, y merece atención.
![]###https://img-cdn.gateio.im/webp-social/moments-adbfab235ed4a4c2a3ef7a58915c4deb.webp(
Otras reflexiones
) Definición de hacker ético y atacante
Identificar a un hacker ético no siempre es simple y directo. Por ejemplo, una dirección que fue marcada inicialmente como atacante, luego fue cambiada a hacker ético. Esto se debe a que el equipo del proyecto negoció con el atacante, quien aceptó conservar parte de las ganancias como recompensa y devolver el resto. Este fenómeno ha generado en la comunidad un debate sobre la equidad de los incentivos.
competencia entre sombreros blancos
Es necesario que la comunidad establezca un mecanismo de coordinación para reducir la competencia entre los hackers éticos. Esta competencia puede desperdiciar recursos de rescate y aumentar los costos de rescate. Por ejemplo, nosotros y otras tres organizaciones de hackers éticos intentamos simultáneamente proteger a 54 víctimas, lo que implica una pérdida de 450 ETH.
Mejorar la operación de rescate
El hacker de sombrero blanco puede anunciar sus acciones a la comunidad sin revelar información sensible, para ganarse la confianza de la comunidad.
Las diversas partes de la comunidad pueden colaborar para hacer que la ayuda sea más rápida y efectiva:
Al resumir las lecciones aprendidas, esperamos que las futuras operaciones de rescate sean más eficientes y protejan al máximo los intereses de los usuarios.
![]###https://img-cdn.gateio.im/webp-social/moments-f6e97c80d0049ad9d2cc45cbbaf91c5a.webp(