-
Hackers filtraron código malicioso en una importante librería de código.
-
MetaMask propone solución para proteger a desarrolladores de Ethereum.
Un ataque contra el entorno de pruebas y desarrollo Hardhat, perjudicó a 50 desarrolladores de contratos inteligentes de Ethereum.
Según reportó MetaMask, compañía que provee un popular monedero de Ethereum, el pasado 20 de febrero de 2021 hackers lograron vulnerar la librería de código fuente del programa Hardhat. Un software desarrollado por NomicLabs y que es utilizado por programadores de Ethereum para crear contratos inteligentes.
Los hackers lograron registrar un código malicioso directamente en el NPM utilizado, que es el principal entorno de ejecución de javascript, lenguaje de programación utilizado en Hardhat.
El ataque tomaba ventaja de un error de tipeo respecto al comando “@nomiclabs/hardhat-waffle”. Según explica la publicación, el hacker registró en el NPM el comando “hardhat-waffle”, lo que claramente se prestaba a confusión con el código auténtico. Waffle es un entorno de pruebas para contratos inteligentes de Ethereum que se integra con Hardhat.
Así, el hacker esperaría a que alguna víctima potencial escriba en el directorio “hardhat-waflle”, simplemente, lo que le daría acceso a la computadora en cuestión.
De esa manera, cuando los desarrolladores buscaban ejecutar el comando @nomiclabs/hardhat-waffle, se confundían con la opción maliciosa y terminaban por autorizar la instalación de un paquete malicioso hecho para robar información sensible, como directorios y contraseñas, y la enviaba a un servidor remoto perteneciente a los atacantes.
MetaMask informa, en su análisis sobre este ataque, que ha lanzado una herramienta de uso libre y código abierto llamada LavaMoat, como solución a esta vulnerabilidad.
La compañía señala que la naturaleza del código abierto de Ethereum y NPM es un doble filo, pues los atacantes registraron un directorio nuevo, básicamente filtrando el comando malicioso en los recursos sobre los que el software Hardhat se apoya.
De ese modo, este incidente podría denominarse como un “ataque a la cadena de suministro de software (Software Supply Chain Attack), señala Metamask en el GitHub de la solución que propone.
“Estos ataques ya han ocurrido en el ecosistema de criptomonedas y presenta un riesgo significativo para los desarrolladores y usuarios de carteras y aplicaciones”, afirma MetaMask. La solución lavamoat/allow-scripts abre una línea de instrucciones explícita para autorizar la instalación y ejecución de comandos NPM en el entorno utilizado.
“El propósito es que el software de un tercero no pueda obtener permisos automáticamente para ejecutarse en un entorno no seguro como es la línea de comandos. Para lograrlo debería obtener el permiso explícito de su operador”.
MetaMask.
Como reportamos en CriptoNoticias, la legibilidad humana ha sido buscada ampliamente para los contratos inteligentes y aplicaciones de Ethereum, como una manera de brindar certezas y seguridad.
Sin embargo, en este tipo de ataques como el que acabamos de explicar, los hackers podrían tomar ventaja de deficiencias en la legibilidad de los comandos y líneas de código para infiltrarse. Resulta importante garantizar que la verificación y autenticación de procesos seguros sean legibles, pero que también estén blindadas contra errores humanos.