Auditoría de seguridad de la billetera Nym.

Auditoría de Seguridad de la Billetera Nym

5 mins Leer

Introducción

En diciembre de 2022, Nym se sometió a una auditoría de seguridad independiente realizada por Oak Security, una empresa de consultoría de ciberseguridad con sede en Alemania, especializada en la auditoría de blockchains de tercera generación y protocolos descentralizados. Con una amplia experiencia en ecosistemas como Cosmos, Terra, Polkadot y Flow, Oak Security tuvo la tarea de evaluar dos componentes críticos del ecosistema Nym: (1) la mixnet de Nym y los contratos de vesting (véase el informe completo) y (2) La Wallet de Nym (véase el reporte completo). La auditoría tuvo como objetivo evaluar la seguridad y la solidez de estos componentes, identificar posibles vulnerabilidades y garantizar el cumplimiento de las mejores prácticas en el desarrollo de código seguro. Para que sea más fácil de seguir, hemos desglosado los hallazgos para cada componente. Puedes consultar el resumen de la auditoría de la mixnet de Nym y los contratos de vesting aquí.

Resumen de la auditoría de la Wallet de Nym por Oak Security.

La auditoría, que duró dos semanas, involucró a un equipo de cuatro expertos de Oak Security. El equipo de Nym proporcionó acceso completo a toda la base de código, las especificaciones del proyecto y la documentación relevante. El alcance de la auditoría cubrió el repositorio "nym-wallet".

Los auditores realizaron una evaluación exhaustiva del repositorio nym-wallet, evaluando sus vulnerabilidades de seguridad, mecanismos de integración, robustez criptográfica y el cumplimiento general de las prácticas de desarrollo seguras.

Oak Security empleó un enfoque híbrido, combinando análisis automatizado con inspección manual del código para descubrir debilidades de seguridad.

Resumen de los hallazgos

Se descubrió que la Wallet Nym tenía una base de código bien estructurada con una legibilidad de media a alta. Los auditores recomendaron mejorar la cobertura de pruebas y la documentación para aumentar la fiabilidad y la mantenibilidad.

Se reportaron un total de 17 hallazgos para la Wallet Nym. Ninguno se clasificó como crítico; cuatro se calificaron como importantes, mientras que los 13 restantes se categorizaron como menores o informativos, presentando oportunidades para refinar aún más la implementación de la wallet.

El equipo de Nym abordó rápidamente todos los hallazgos principales, y Oak Security revisó y aprobó las correcciones.

NYM-WALLET-1: Contraseña aún en memoria después de cerrar sesión (Grave)

Los auditores identificaron que, a diferencia del mnemónico, la contraseña utilizada para recuperarlo permanece visible en la memoria incluso después de que el usuario haya cerrado la sesión.

Para abordar el problema, Nym implementó una solución que recicla la ventana al cerrar la sesión y al crear la cuenta. Esta acción destruye eficazmente la WebView, que contiene el entorno de ejecución de JavaScript y borra cualquier dato sensible, incluyendo el mnemónico y la contraseña de la memoria.

NYM-WALLET-2: El mnemónico se mantiene en la memoria después de la creación de la cuenta dentro de la billetera (Grave)

Los auditores identificaron que, si bien el mnemónico se sobrescribe correctamente en la memoria cuando el usuario cierra la sesión, este no es el caso después de la creación de la cuenta. Específicamente, cuando se crea una nueva cuenta en la billetera, el mnemónico no se borra de la memoria incluso después de que el usuario cierra la sesión, lo que podría exponer información sensible.

La solución implementada en NYM-WALLET-1 también corrige este problema.

NYM-WALLET-3: Rango limitado de caracteres especiales en la contraseña (Grave)

Los auditores identificaron que el componente PasswordStrength en la wallet utiliza un patrón regex para aplicar la fortaleza de la contraseña, pero el patrón es demasiado restrictivo y recomendaron usar un conjunto de símbolos más flexible para permitir una gama más amplia de contraseñas. Abordamos este problema actualizando el patrón regex, siguiendo la recomendación de los auditores, para permitir una gama más amplia de caracteres y mejorar la seguridad de las contraseñas.

Resolvimos este problema integrando el paquete "zxcvbn" de Dropbox para una validación de la fortaleza de las contraseñas más precisa y robusta.

NYM-WALLET-4: Se obliga al usuario a copiar la frase mnemónica al portapapeles (Grave)

Durante la creación de la cuenta, a los usuarios se les presentaba la frase mnemónica y se les requería hacer clic en el botón "Copiar mnemónico", lo que copiaba la frase al portapapeles. Los auditores identificaron esta práctica como un riesgo de seguridad, ya que otras aplicaciones podrían acceder potencialmente al mnemónico.

Para abordar esto, implementamos la corrección recomendada por los auditores eliminando el botón "Copiar mnemónico". En cambio, agregamos una guía sobre cómo almacenar y usar de forma segura la frase mnemónica y una casilla de verificación para que los usuarios confirmen que han leído y comprendido la información proporcionada.

Last Words

Nos gustaría agradecer al equipo de Oak Security por su experiencia y dedicación durante todo este proceso de auditoría. También apreciamos la colaboración y profesionalismo demostrados durante las etapas de planificación y ejecución de la auditoría. Nuestro compromiso continuo con la seguridad sigue siendo una prioridad máxima, y esperamos seguir colaborando con expertos en seguridad para mantener los más altos estándares para nuestro ecosistema.

blog.socials_share.share_title