SOL Bandits On The Run

¡Felicitaciones al equipo de Chorus One, que ejecutó con éxito el ataque más grande hasta ahora en el Tour de SOL!

Esta semana lograron identificar un vector de ataque que les permitió robar 500 millones de tokens SOL de la red de prueba Tour de SOL. Para comprender cómo lograron llevar a cabo este increíble ataque, hay algunas cosas que debes saber primero:

Cuando arrancamos cualquiera de nuestros clústeres, ya sea para una ejecución en seco o la etapa 1 en Tour de SOL, ejecutamos varios nodos nosotros mismos, antes de invitar a validadores externos a saltar a estos nodos que ejecutamos, llamamos validadores de arranque y comienzan con todas las apuestas en la red A medida que los Validadores externos se unen a la red, la participación se les distribuye gradualmente durante un período de tiempo que llamamos épocas, y la duración de cada época puede durar hasta varios días. el validador de arranque durante algún tiempo

Teniendo en cuenta lo anterior, el equipo de Chorus One identificó que cuando se trata de un Validador se convierte en un líder en la red y transmite sus transacciones al resto de la red, pueden inventar cualquier transacción válida que deseen. Lo cual en sí mismo no es un problema importante, siempre y cuando los otros Validadores en la red sean honestos y verifiquen las firmas, identifiquen que hay un problema y luego rechacen el bloqueo.

Sin embargo, Chorus One envió transacciones descaradamente creadas un bloque con firmas falsas y los transmitió al resto de la red, porque descubrieron que el código diseñado para verificar las firmas de transacciones no estaba implementado. otros Validadores no estaban verificando las firmas de transacciones como deberían haberlo hecho. Usando esta estrategia, convencieron a la red de que los 10 tokens SOL se transfirieron del Validador Bootstrap a su nodo Validador.

A continuación se muestra un volcado del primer bloque en el que Chorus One inyectó transacciones falsas antes de robar el total de 500 millones de SOL:

Transacción falsa

Donde la Cuenta 0 es nuestro Validador Solana Bootstrap, y la Cuenta 1 es el Validador de Chorus One. Observe también la firma de la transacción de casi todos los 1 (el formato está en Base58), que casi nunca ocurre y es muy irregular. Y, por supuesto, la última línea, que destaca la transacción falsa de 10 SOL (o 10 mil millones de lamports) de uno a otro.

Si el equipo de Chorus One no hubiera identificado esto, nos habríamos dejado abiertos a un gran truco si se explotara después de nuestro lanzamiento Beta de Mainnet. Por eso queremos un masivo gracias a Chorus One y @Reisen | chorus.one en particular, no solo por ejecutar con éxito el ataque, sino también por la cantidad de tiempo y esfuerzo increíbles que han invertido en investigar a fondo nuestra base de código para prepararse para este ataque.

SOL Bandits On The Run se publicó originalmente en Solana on Medium, donde las personas continúan la conversación resaltando y respondiendo a esta historia.