Investigadores de seguridad del equipo de investigación 0d en dWallet Labs han revelado recientemente una vulnerabilidad crítica del tipo zero-day (Día 0, o en el día inicial) en la blockchain TRON que representa un riesgo significativo para alrededor de $500 millones en criptomonedas. Esta vulnerabilidad afectó a las cuentas multisig en la blockchain TRON, dejándolas susceptibles a posibles robos.
Las cuentas multisig requieren múltiples firmas antes de ejecutar una transacción, lo que asegura una mayor seguridad. Sin embargo, la falla en el enfoque de TRON para el multisig permitió que cualquier firmante asociado con una cuenta multisig particular obtuviera acceso no autorizado a los fondos dentro de esa cuenta.
COMPRENDIENDO EL MECANISMO MULTISIG DE TRON
Para entender esta vulnerabilidad, es esencial conocer cómo se emplea el mecanismo de permisos en TRON para habilitar wallets multisig. En la red de TRON, las wallets multisig consisten en claves autorizadas con pesos asignados. El peso determina el poder del firmante al votar y un umbral especifica el peso mínimo requerido para la aprobación de la transacción.
El proceso de verificación para las transacciones multisig implica varios pasos. Se verifican las firmas y se extrae el peso de la cuenta. Se verifica la singularidad de la firma para evitar firmas dobles. Se suma el peso al peso total y se almacena la firma para evitar firmas duplicadas. Finalmente, se compara el peso total con el umbral para determinar la aprobación de la transacción.
Sin embargo, la vulnerabilidad surgió debido a descuidos en el proceso de verificación de TRON, que no verificó toda la información necesaria, comprometiendo en última instancia la integridad de su seguridad multisig. Los investigadores 0d afirmaron que esta línea de ataque habría superado por completo las medidas de seguridad de multisig de TRON.
UN SOLO FIRMANTE PODRÍA ACCEDER A CUENTAS MULTISIG
Omer Sadika, miembro del equipo de investigación, explicó que la vulnerabilidad podría haber sido explotada firmando el mismo mensaje con número usado solo una vez (Nonce en ingles) no deterministas, lo que permitiría a un solo firmante crear múltiples firmas válidas para el mismo mensaje.
7/ Well, verifiers cannot distinguish randomly chosen from deterministic nonces, so the multisig verification process can be bypassed by signing the same message with non-deterministic nonces.
Simply put, one signer can create multiple valid signatures for the same message.
— Omer Sadika (@omersadika) May 30, 2023
Afortunadamente, la solución a esta vulnerabilidad fue relativamente sencilla. Los investigadores recomendaron verificar las firmas contra una lista de direcciones en lugar de confiar únicamente en una lista de firmas, lo que mitigaría adecuadamente el riesgo planteado por esta vulnerabilidad.
El programa de recompensas por errores de TRON fue fundamental para abordar este problema, ya que el equipo de investigación 0d informó sobre la vulnerabilidad el 19 de febrero. TRON solucionó rápidamente la vulnerabilidad en cuestión de días y la mayoría de los validadores de TRON ya han implementado los parches necesarios para garantizar que la vulnerabilidad no pueda ser explotada.
Si bien los investigadores confirmaron que ya no hay activos de usuarios en riesgo, TRON aún no ha emitido su propia declaración pública sobre la vulnerabilidad.