Saltar al contenido
Registro de incidente · · 2 min de lectura · 233 palabras ·Descubierto ·Divulgado Resuelto

Exploit de reutilización del puente Nomad, agosto de 2022: qué ocurrió y qué comprobar

Una actualización rutinaria dejó a Nomad aceptando cualquier mensaje como probado. Cientos de direcciones copiaron la misma transacción y vaciaron el puente en horas.

Compartir
Esquema del incidente de Nomad que muestra la etapa de control de acceso como punto de fallo.
Schematic of the Nomad incident showing the access control stage as the failure point.

De un vistazo

ENTIDAD AFECTADA
Nomad
CADENA(S)
Ethereum, Moonbeam
PÉRDIDA DECLARADA
aprox. 190 millones de dólares estadounidenses(Nomad, 1 Ago 2022)
RESPUESTA OFICIAL
medium.com

Un cero donde debía haber una raíz

Nomad verificaba los mensajes entrantes contrastándolos con una raíz de confianza. Una actualización rutinaria dejó esa raíz a cero. Por cómo trataba la lógica de verificación el valor cero, todos los mensajes —incluidos los enteramente fabricados— se evaluaban como ya probados.

El resultado fue que retirar del puente no requería desarrollar exploit alguno. Un observador podía copiar una transacción exitosa, sustituir la dirección de destino por la suya y enviarla. Por eso participaron varios cientos de direcciones distintas en cuestión de horas. Fue, en el sentido más literal, una cola.

Por qué importa más que la cifra

La mayoría de los grandes exploits exigen destreza real y están por tanto limitados por el número de personas capaces de ejecutarlos. Este no. Una vez que el patrón fue visible en cadena, la población de participantes potenciales era todo el que estuviera mirando. Cualquier defecto que elimine el requisito de destreza debería tratarse como categóricamente más urgente que otro de valor nominal equivalente que no lo haga.

Las actualizaciones son la superficie de riesgo

El defecto lo introdujo una actualización rutinaria, no el diseño original. Los contratos actualizables desplazan la cuestión de seguridad desde «¿se auditó esto?» hacia «¿qué ocurrió en cada despliegue posterior y se verificó el estado resultante?». Los valores de inicialización son exactamente el tipo de cosa que pasa una revisión como código de trámite.

Cronología

Solo se añade. Las correcciones se incorporan como su propia entrada fechada; las entradas anteriores nunca se reescriben.

  1. Se ejecuta la primera transacción del exploit. En cuestión de horas, cientos de direcciones la replican copiando los datos de llamada y sustituyendo la dirección por la suya. Nomad
  2. Nomad confirma públicamente el incidente y solicita la devolución de los fondos. Nomad

Qué comprobar

Nomad publicó un análisis de causa raíz, enlazado más abajo, que describe el error de inicialización y la actualización que lo introdujo.

Conisec no aloja ni enlaza herramientas de recuperación, revocación o «comprobación». Tras un incidente público, los atacantes siembran habitualmente ese tipo de enlaces usando los nombres de las publicaciones que cubren la noticia. Usa el canal oficial del propio proyecto afectado, enlazado más arriba, y nada más.

Fuentes

  1. Nomad, Nomad Bridge Hack Root Cause Analysis (1 Ago 2022)

No es asesoramiento. Esto es un resumen de hechos publicados, no asesoramiento jurídico, fiscal ni de seguridad. Verifícalo con las fuentes primarias enlazadas más arriba.

Última verificación por Conisec Staff.

Sigue explorando