¿Qué Tan Seguro Está Tu Ethereum Dentro de la Wallet MetaMask?

Los expertos en seguridad y privacidad dicen que se ha vuelto alarmantemente común que la gente informe de las vulnerabilidades en foros públicos como Twitter porque, de lo contrario, son ignoradas.

Por Stacy Elliott

11 min lectura

A comienzos de mes, los desarrolladores de MetaMask tuvieron un fuerte, fuerte trabajo.

En respuesta a la noticia de que miles de wallets de software habían sido robados por valor de 4,5 millones de dólares en Solana, el equipo que está detrás de MetaMask—la wallet de software más popular para Ethereum y redes compatibles con Ethereum—revisó el código base de la wallet para asegurarse de que los usuarios no se vieran afectados por un ataque similar.

Este tipo de simulacro de incendio se ha repetido en otros lugares. En cuanto a los informes de que Near Wallet podría tener una vulnerabilidad similar a la de las wallets Solana hackeados, la cuenta de Twitter del protocolo dijo el jueves por la noche que es "muy recomendable" que los usuarios cambien su configuración de seguridad.

El escaneo de vulnerabilidades después de que haya habido un exploit es una de las formas en que los desarrolladores manejan la seguridad. Lo ideal es que las encuentren antes de que sean explotadas. MetaMask ha dicho anteriormente que está trabajando en la reorganización de sus equipos para responder mejor a los problemas de seguridad, pero hay indicios de que está luchando para mantenerse al día.

Metamask y los mensajes no respondidos

En un ejemplo reciente, el CEO de Aurox, Giorgi Khazaradze, dijo que el equipo de MetaMask no respondió cuando trató de avisarles sobre una vulnerabilidad en junio.

Dijo a Decrypt que su equipo estaba mirando el código base de MetaMask —que es de código abierto y se puede ver en su repositorio de GitHub— porque están construyendo su propia wallet de extensión para navegador.

La wallet ha sido anunciada, pero aún no se ha lanzado. Cuando lo haga, competirá con MetaMask. Para decirlo claramente: Eso significa que Khazaradze se beneficia de poner en duda al que es, de lejos, el mayor competidor de su nuevo producto.

Al fin y al cabo, ConsenSys, la empresa que desarrolla MetaMask (y, para que conste, inversionista en Decrypt), cerró recientemente una ronda de Serie D de 450 millones de dólares con una valoración de 7.000 millones de dólares—ayudada en gran parte por el ritmo al que MetaMask ha estado atrayendo nuevos usuarios. En marzo, MetaMask contaba con más de 30 millones de usuarios activos mensuales, un aumento del 42% respecto a los 21 millones que tenía en noviembre de 2021.

Khazaradze dijo que su equipo se dio cuenta de que sería posible utilizar un elemento HTML llamado marco en línea, o iframe, para añadir una aplicación descentralizada oculta, o dapp, a una página web.

Eso significaría que un atacante podría crear hipotéticamente una página que parece una aplicación legítima, pero se conecta a otra que el usuario de MetaMask nunca ve. Así, en lugar de cambiar algo de Ethereum por monedas para apoyar un nuevo proyecto o comprar un NFT, el usuario podría estar enviando sin saberlo su criptomoneda directamente a la wallet de un ladrón.

Este tipo de vulnerabilidad podría aprovecharse del hecho de que MetaMask solicita automáticamente a los usuarios que se conecten a una dapp si detecta una en una página web. Es un comportamiento estándar para la versión de MetaMask que funciona como extensión del navegador. Fuera del contexto de las vulnerabilidades y los atacantes, es una característica que pone menos clics entre un usuario y su capacidad para interactuar con dapps.

Es similar, pero no exactamente igual, a la vulnerabilidad de clickjacking por la que MetaMask pagó una recompensa de 120.000 dólares en junio. Con ella, un atacante esconde la propia MetaMask en una página web y engaña al usuario para que revele datos privados o transfiera fondos.

"Esa es una vulnerabilidad diferente. Estaba dentro del propio MetaMask. Básicamente, se podía hacer un iframe de MetaMask y luego hacer clickjack a la gente", dijo Khazaradze. "Mientras que la que hemos encontrado está iframeando dapps. La wallet se conecta automáticamente a esas dapps, lo que puede permitir a un atacante engañarte para realizar transacciones específicas."

Khazaradze dijo que intentó contactar con MetaMask sobre la vulnerabilidad el 27 de junio. Primero probó la función de chat de soporte de la compañía y dijo que le dijeron que hiciera un post en el GitHub de la aplicación. Pero no se sintió cómodo haciendo eso.

Dijo que entonces envió un correo electrónico directamente al servicio de asistencia de MetaMask, pero recibió una respuesta poco útil: "Estamos experimentando un volumen extremadamente alto de consultas. En un esfuerzo por mejorar nuestra eficiencia en la respuesta a las consultas de soporte, los correos electrónicos directos a soporte ya no están habilitados".

En ese momento, Khazaradze dijo que renunció a tratar de informar al equipo sobre la vulnerabilidad y se puso en contacto con Decrypt.

MetaMask responde

Herman Junge, miembro del equipo de seguridad de MetaMask, dijo a Decrypt que el equipo de soporte de la aplicación no habría querido que una vulnerabilidad iframe apareciera en GitHub.

"En MetaMask, nos tomamos muy en serio los informes sobre iframe y les damos el debido procedimiento a través de nuestro programa de recompensas por errores en HackerOne. Si un investigador de seguridad envía su informe utilizando otra instancia, le invitamos a ir a HackerOne", dijo en un correo electrónico. "No tenemos en nuestros registros ningún mensaje en el que animemos a los investigadores a publicar un informe iframe en GitHub".

En una conversación por correo electrónico con el departamento de relaciones públicas de MetaMask, Decrypt describió la vulnerabilidad que el equipo de Aurox afirma haber encontrado. En su declaración por correo electrónico, Junge no reconoció la supuesta vulnerabilidad ni dijo que MetaMask investigaría el problema.

Sin embargo, dijo que publicar un problema de seguridad activo antes de que el equipo de la aplicación tenga la oportunidad de solucionarlo puede "poner en riesgo innecesario a personas inocentes". Pero hasta ahora, el lenguaje utilizado en sus mensajes de soporte no menciona nada sobre HackerOne, donde MetaMask lanzó un programa de recompensas por errores en junio.

Recurrir al "espectáculo"

En la comunidad de ciberseguridad, es una cortesía profesional notificar en privado a una empresa sobre una vulnerabilidad por la misma razón que es cortés no gritar que la mosca de alguien está en la sopa. La discreción les da la oportunidad de arreglarlo antes de que otras personas se den cuenta.

Informar de las vulnerabilidades de forma discreta mantiene la información alejada de las personas que podrían explotarla antes de que los desarrolladores hayan tenido la oportunidad de implementar una solución. Pero cuando el proceso de notificación es confuso o el destinatario parece no responder, las vulnerabilidades se hacen públicas antes de que haya una solución, normalmente en un esfuerzo por forzar al equipo a actuar.

Janine Romer, investigadora de la privacidad y periodista de investigación, dijo que ha visto muchos casos de personas que intentan primero líneas de comunicación discretas y luego cambian a Twitter para informar de las vulnerabilidades.

"Ocurren cosas parecidas con las wallets de Bitcoin, en las que la única forma de llamar la atención sobre algo es simplemente tuitear a la gente, lo cual es malo. Esa no debería ser la forma en que se manejan las cosas", dijo a Decrypt. "También debería ser posible denunciar cosas en privado y no tener que hacer un espectáculo público. Pero entonces en cierto modo se incentiva a la gente a hacer un espectáculo público porque nadie responde en privado."

En enero, Alex Lupascu, cofundador de Omnia Protocol, dijo en Twitter que él y su equipo habían encontrado una "vulnerabilidad crítica de la privacidad" en MetaMask y enlazó con una publicación del blog en la que se describía cómo podría explotarla un atacante.

Harry Denley, un investigador de seguridad que trabaja con MetaMask, respondió para preguntar si el equipo había sido notificado o si estaban trabajando en ello. Lupascu dijo que sí lo habían hecho, pero que él hizo su informe por primera vez hace cinco meses y que la vulnerabilidad todavía era explotable.

Finalmente, el cofundador de MetaMask, Dan Finlay, se pronunció al respecto.

"Sí, creo que este asunto es ampliamente conocido desde hace mucho tiempo, así que no creo que se aplique un período de divulgación", escribió en Twitter. "Alex tiene razón al llamarnos la atención por no haberlo abordado antes. Estamos empezando a trabajar en ello. Gracias por la patada en el trasero, y siento que la necesitamos".

Uso seguro de wallets de software

Un par de meses después, se lanzó el mencionado programa de recompensas por errores. No es que todos los informes de vulnerabilidad de MetaMask queden sin respuesta. La empresa de seguridad Web3, Halborn Security, informó de una vulnerabilidad que podría afectar a los usuarios de MetaMask en junio y recibió un aviso de la cuenta de Twitter de MetaMask por ello.

David Schwed, director de operaciones de Halborn, dijo que el equipo de MetaMask se mostró receptivo. Abordaron y parchearon la vulnerabilidad. Aun así, dijo que los usuarios deberían ser cautelosos a la hora de guardar fondos sustanciales en una wallet de software.

"Yo no me lanzaría necesariamente contra MetaMask. MetaMask sirve para un determinado propósito en este momento. Ahora bien, si yo fuera una organización, no almacenaría cientos de millones de dólares en MetaMask, pero probablemente no lo haría en ninguna wallet en particular", dijo. "Diversificaría mis tenencias y me autocustodiaría y utilizaría otras prácticas de seguridad para gestionar mi riesgo".

Para él, la forma más segura y responsable de utilizar wallets de software es guardar las claves privadas en un módulo de seguridad de hardware, o HSM. Dos de las wallets de hardware más populares, como también se las conoce en criptomonedas, son Ledger y Trezor.

"Al fin y al cabo, eso es lo que realmente almacena mis claves privadas y ahí es donde se produce la firma de las transacciones", dijo Schwed. "Y tu wallet [del navegador] es realmente un mecanismo para transmitir a la cadena y construir la transacción".

Cerrando la brecha

El problema es que no todo el mundo utiliza las wallets de las extensiones de los navegadores de esa manera. Pero se han hecho esfuerzos para solucionarlo, tanto dando a los desarrolladores una mejor orientación sobre cómo incorporar la seguridad a sus aplicaciones como enseñando a los usuarios a mantener sus fondos a salvo.

Ahí es donde entra el Consorcio de Certificación de Criptomonedas, o C4. Es la misma organización que creó las certificaciones profesionales de Bitcoin y Ethereum. Dato curioso: el creador de Ethereum, Vitalik Buterin, ayudó a redactar el examen de profesional certificado de Bitcoin antes de inventar Ethereum.

Jessica Levesque, directora ejecutiva de C4, dijo que todavía hay una gran brecha de conocimiento para los nuevos adoptantes de cripto.

"Lo que asusta de esto es que la gente que ha estado en torno a las criptomonedas durante mucho tiempo probablemente esté diciendo que está bastante claro que no deberías guardar mucho dinero en MetaMask o en cualquier cartera caliente. Quítalo", dijo a Decrypt. "Pero la mayoría de nosotros, cuando empezamos, no lo sabíamos".

En el otro extremo de las cosas, ha prevalecido la suposición de que los proyectos de código abierto son más seguros porque su código está disponible para ser revisado por investigadores independientes.

De hecho, el miércoles, a la luz del hackeo de la wallet de Solana, un desarrollador que se hace llamar fubuloubu en Twitter, acaparó mucha atención por decir que es "irresponsable no tener código abierto en el espacio de criptomonedas".

Noah Buxton, que dirige la práctica de blockchain y activos digitales de Armanino y forma parte del Comité de Normas de Seguridad de Criptomonedas del C4, dijo que la baja visibilidad de los proyectos más pequeños o las ofertas de pago de recompensas por errores en tokens nativos pueden actuar como un desincentivo para que los investigadores dediquen su tiempo a examinarlos.

"En el código abierto, la atención de los desarrolladores está impulsada en gran medida por la notoriedad o por alguna monetización", dijo. "¿Por qué dedicar tiempo a buscar errores en un nuevo intercambio descentralizado cuando hay muy poca liquidez, el token de gobierno no vale nada y el equipo quiere pagarte en el token de gobierno por una recompensa? Preferiría pasar el tiempo en Ethereum en otra capa 1".

Get crypto news straight to your inbox--

sign up for the Decrypt Daily below. (It’s free).

Noticias recomendados