Una billetera puede parecer completamente normal y aún así haber sido insegura desde el momento en que se creó su frase de recuperación. La vulnerabilidad de RNG débil de CryptoJS muestra por qué. En las versiones afectadas de CryptoJS, CryptoJS.lib.WordArray.random() utilizaba una construcción pseudorrandom personalizada sembrada desde JavaScript Math.random(), en lugar de una fuente aleatoria de plataforma criptográficamente segura. Esto importa porque la seguridad criptográfica depende de la impredecibilidad en la fuente. La investigación Ill Bloom conectó esta debilidad de implementación con código real de generación de billeteras. Bajo rutas de generación vulnerables, solicitudes nominales de entropía de billetera de 128 y 256 bits podían reducirse a espacios de búsqueda efectivos de aproximadamente 2^39 y 2^47 posibilidades. Las frases de recuperación resultantes aún podían: • utilizar palabras BIP39 válidas • pasar la validación de checksum • derivar cuentas estándar de la cadena de bloques • firmar transacciones válidas • parecer completamente ordinarias para el usuario Esta es la distinción crítica: Una frase de recuperación válida no es automáticamente una frase de recuperación generada de forma segura. Otra matices importantes es que encontrar una dependencia afectada de CryptoJS no prueba automáticamente que una billetera fuera explotable. Los investigadores deben establecer si la función aleatoria vulnerable generó realmente frases de recuperación, claves, tokens, nonces u otros secretos sensibles a la seguridad. CryptoJS 4.0.0 reemplazó la ruta de generación basada en Math.random() con métodos nativos aleatorios criptográficos. Pero actualizar una biblioteca soluciona la generación futura. No puede retroactivamente añadir entropía a frases de recuperación creadas hace años. Importar una semilla afectada en otra billetera de software o billetera de hardware tampoco la repara. Las mismas claves subyacentes siguen siendo derivables. La lección de seguridad más amplia se extiende más allá de CryptoJS. Los desarrolladores deben auditar flujos reales de generación de secretos, incluyendo dependencias directas y transitivas, en lugar de confiar únicamente en nombres de paquetes o escaneos de dependencias de nivel superior. Para aplicaciones web, Web Crypto expone crypto.getRandomValues() para aleatoriedad criptográficamente fuerte. Node.js y entornos móviles proporcionan sus propias API criptográficas seguras para generación aleatoria. Los usuarios de billeteras deben centrarse en la procedencia del software, el historial de mantenimiento, el historial de generación, la aleatoriedad confiable y las copias de seguridad seguras, en lugar de asumir que cualquier frase de 12 o 24 palabras es automáticamente segura. Lee el análisis completo de TokenToolHub: https://t.co/2AjB3PrKIZ
TokenToolHub.comCompartir
Fuente:Mostrar original
Descargo de responsabilidad: La información contenida en esta página puede proceder de terceros y no refleja necesariamente los puntos de vista u opiniones de KuCoin. Este contenido se proporciona solo con fines informativos generales, sin ninguna representación o garantía de ningún tipo, y tampoco debe interpretarse como asesoramiento financiero o de inversión. KuCoin no es responsable de ningún error u omisión, ni de ningún resultado derivado del uso de esta información.
Las inversiones en activos digitales pueden ser arriesgadas. Evalúa con cuidado los riesgos de un producto y tu tolerancia al riesgo en función de tus propias circunstancias financieras. Para más información, consulta nuestras Condiciones de uso y la Declaración de riesgos.
