Ha sido una semana implacable para metamáscara desarrolladores
Reaccionando a la noticia de que $ 4.5 millones en fondos había sido drenado de miles de software carteras en Solanael equipo detrás de MetaMask, de lejos la billetera de software más popular para Etéreo y redes compatibles con Ethereum—revisó el código base de la billetera para asegurarse de que los usuarios no se vieran afectados por un ataque similar.
Ese tipo de simulacro de incendio se ha repetido en otros lugares. Sobre los informes de que Near Wallet podría tener una vulnerabilidad similar a las billeteras Solana pirateadas, la cuenta de Twitter del protocolo dijo el jueves por la noche que es “muy recomendableLos usuarios cambian su configuración de seguridad.
Escanear en busca de vulnerabilidades después de que ha habido un exploit es una forma en que los desarrolladores manejan la seguridad. Idealmente, los encuentran antes de que hayan sido explotados. MetaMask ha dicho anteriormente que está trabajando para reorganizar sus equipos para responder mejor a los problemas de seguridad, pero hay señales de que está luchando por mantenerse al día.
Mensajes sin responder
En un ejemplo reciente, el CEO de Aurox, Giorgi Khazaradze, dijo que descubrió que el equipo de MetaMask no respondía cuando trató de informarles sobre una vulnerabilidad en junio.
El dijo descifrar que su equipo estaba analizando el código base de MetaMask, que es de código abierto y se puede ver en su repositorio GitHub—porque están construyendo su propia billetera de extensión de navegador.
La billetera se ha anunciado, pero aún no se ha lanzado. Cuando lo haga, competirá con MetaMask. En pocas palabras: eso significa que Khazaradze se beneficiará al arrojar dudas sobre cuál es, de lejos, el mayor competidor de su nuevo producto.
Después de todo, ConsenSys, la empresa que desarrolla MetaMask (y, a decir verdad, un inversor en descifrar), acaba de cerrar una ronda Serie D de $450 millones en un $ 7 mil millones valoración—ayudada en gran parte por la velocidad a la que MetaMask ha estado atrayendo a nuevos usuarios. Hasta marzo, MetaMask tenía más de 30 millones de usuarios activos mensualesun incremento del 42% sobre los 21 millones que tenía en noviembre 2021.
Khazaradze dijo que su equipo se dio cuenta de que sería posible usar un elemento HTML llamado marco en línea, o iframe, para agregar una aplicación descentralizada oculta, o dapp, a una página web.
Eso significaría que un atacante podría hipotéticamente crear una página que parece una aplicación legítima, pero se conecta a otra que el usuario de MetaMask nunca ve. Entonces, en lugar de intercambiar algunos Etéreo monedas para apoyar un nuevo proyecto o comprar una NFTel usuario podría, sin darse cuenta, enviar su criptografía directamente a la billetera de un ladrón.
Este tipo de vulnerabilidad podría aprovechar el 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 extensión del navegador de MetaMask. Fuera del contexto de vulnerabilidades y atacantes, es una característica que coloca menos clics entre un usuario y su capacidad para interactuar con dapps.
Es similar, pero no exactamente igual, a una vulnerabilidad de secuestro de clics que MetaMask pagó un recompensa de $ 120,000 para en junio. Con eso, un atacante oculta MetaMask en una página web y engaña al usuario para que revele datos privados o transfiera fondos.
“Esa es una vulnerabilidad diferente. Eso estaba dentro de MetaMask. Básicamente, podrías iframe MetaMask y luego hacer clic en la gente”, dijo Khazaradze. “Mientras que el que encontramos es iframed dapps. La billetera se conecta automáticamente a esos dapps, lo que puede permitir que un atacante lo engañe para realizar transacciones específicas”.
Khazaradze dijo que intentó contactar a 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 una publicación en el GitHub de la aplicación. Pero no se sentía cómodo haciendo eso.
Dijo que luego envió un correo electrónico al soporte de MetaMask directamente, pero recibió una respuesta poco útil: “Estamos experimentando un volumen extremadamente alto de consultas. En un esfuerzo por mejorar nuestra eficiencia al responder a las consultas de soporte, los correos electrónicos directos al soporte ya no están habilitados”.
En ese momento, Khazaradze dijo que dejó de intentar que el equipo supiera sobre la vulnerabilidad y se acercó a descifrar.
MetaMask responde
Herman Junge, miembro del equipo de seguridad de MetaMask, dijo descifrar que el equipo de soporte de la aplicación no hubiera querido una vulnerabilidad de iframe en la lista de GitHub.
“En MetaMask, nos tomamos en serio los informes de 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 usando otra instancia, lo 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 de iframe en GitHub”.
En una conversación por correo electrónico con el departamento de relaciones públicas de MetaMask, descifrar describió la vulnerabilidad que el equipo de Aurox afirma haber encontrado. En su declaración enviada 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 abordarlo puede “poner a personas inocentes en un riesgo innecesario”. 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 seguridad, es una cortesía profesional notificar en privado a una empresa acerca de una vulnerabilidad por la misma razón que es una cortesía no gritar que la mosca de alguien está baja. La discreción les da la oportunidad de arreglarlo antes de que otras personas se den cuenta.
Informar discretamente sobre las vulnerabilidades mantiene la información alejada de las personas que la explotarían 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, generalmente en un esfuerzo por obligar al equipo a actuar.
Janine Romer, investigadora de privacidad y periodista de investigación, dijo que ha visto muchos casos de personas que intentan primero líneas discretas de comunicación y luego cambian a Twitter para informar vulnerabilidades.
“Suceden cosas similares con las billeteras de Bitcoin, donde la única forma de llamar la atención a veces es simplemente twittear a las personas, lo cual es malo. Esa no debería ser la forma en que se manejan las cosas”, dijo. descifrar. “También debería ser posible informar cosas en privado y no tener que hacer un espectáculo público. Pero luego 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 encontraron una “vulnerabilidad de privacidad crítica” en MetaMask y la vincularon a un entrada en el blog describiendo cómo un atacante podría explotarlo.
Harry Denley, un investigador de seguridad que trabaja con MetaMask, respondió a preguntar si el equipo había sido notificado o dicho que estaban trabajando en ello. Lupascu dijo que sí, pero que hizo su informe por primera vez hace cinco meses y que la vulnerabilidad aún era explotable.
Finalmente, el cofundador de MetaMask, Dan Finlay, intervino.
“Sí, creo que este problema ha sido ampliamente conocido durante mucho tiempo, así que no creo que se aplique un período de divulgación”, escribió en Twitter. “Alex tiene razón al llamarnos por no abordarlo antes. Empezando a trabajar en ello ahora. Gracias por la patada en los pantalones, y siento que lo necesitáramos”.
Uso seguro de carteras de software
Un par de meses después, se lanzó el programa de recompensas por errores antes mencionado. No es que todos los informes de vulnerabilidad de MetaMask queden sin abordar. La firma de seguridad Web3 Halborn Security informó una vulnerabilidad que podría afectar a los usuarios de MetaMask en junio y obtuvo una punta de sombrero desde la cuenta de Twitter de MetaMask para ello.
David Schwed, director de operaciones de Halborn, dijo que encontró receptivo al equipo de MetaMask. Abordaron y parchearon la vulnerabilidad. Aun así, dijo que los usuarios deben tener cuidado al mantener fondos sustanciales en una billetera de software.
“No necesariamente le daría una oportunidad a MetaMask. MetaMask tiene un cierto propósito en este momento. Ahora, si yo fuera una organización, no almacenaría cientos de millones de dólares en MetaMask, pero probablemente no los almacenaría en ninguna billetera en particular”, dijo. “Diversificaría mis tenencias y mi autocustodia y usaría otras prácticas de seguridad para administrar mi riesgo”.
Para él, la forma más segura y responsable de usar carteras de software es mantener las claves privadas en un módulo de seguridad de hardware o HSM. Dos de las billeteras de hardware más populares, como también se las conoce en criptografía, incluyen Ledger y Trezor.
“Al final del día, eso es lo que en realidad almacena mis claves privadas y ahí es donde realmente ocurre la firma de las transacciones”, dijo Schwed. “Y tu [browser] La billetera es realmente solo un mecanismo para transmitir a la cadena y construir la transacción”.
Cerrando la brecha
El problema es que no todos usan carteras de extensiones de navegador de esa manera. Sin embargo, se han realizado esfuerzos para abordarlo, brindando a los desarrolladores una mejor orientación sobre cómo incorporar seguridad en sus aplicaciones y enseñando a los usuarios cómo mantener seguros sus fondos.
Ahí es donde entra en juego 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 Certified Bitcoin Professional antes de inventar Ethereum.
Jessica Levesque, directora ejecutiva de C4, dijo que todavía hay una gran brecha de conocimiento para los nuevos usuarios de criptografía.
“Lo que da un poco de miedo de esto es que las personas que han estado en torno a las criptomonedas durante mucho tiempo probablemente estén como, está bastante claro que no debes guardar mucho dinero en MetaMask o cualquier billetera caliente. Muévete”, le dijo. descifrar. “Pero la mayoría de nosotros, cuando empezamos, no lo sabíamos”.
En el otro extremo de las cosas, prevalece la suposición de que los proyectos de código abierto son más seguros porque su código está disponible para que lo revisen investigadores independientes.
De hecho, el miércoles, a la luz del hackeo de la billetera de Solana, un desarrollador que se hace llamar fubuloubu en Twitter, atrajo mucha atención por decir que es “irresponsable no tener código fuente abierto en crypto.”
Noah Buxton, quien dirige la práctica de blockchain y activos digitales de Armanino y forma parte del Comité de Normas de Seguridad de Criptomonedas de C4, dijo que la baja visibilidad de proyectos más pequeños u ofertas para pagar recompensas por errores en tokens nativos puede actuar como un desincentivo para que los investigadores dediquen su tiempo a examinarlos. .
“En código abierto, la atención de los desarrolladores está impulsada en gran medida por la notoriedad o alguna monetización”, dijo. “¿Por qué perder el tiempo buscando errores en un nuevo intercambio descentralizado cuando hay muy poca liquidez, el token de gobernanza no vale nada y el equipo quiere pagarle una recompensa con el token de gobernanza? Preferiría pasar tiempo en Ethereum en otra capa 1″.