El experto en seguridad cibernética Bernhard Mueller, acaba de poner a disponibilidad de los usuarios y desarrolladores de la blockchain de Ethereum una herramienta capaz de desensamblar, explorar y analizar dicha blockchain en busca de errores. Bautizada en honor al metal ficticio de la Tierra Media de Tolkien, Mythril es su nombre.
Mueller, luego de estudiar variables como las características del lenguaje de programación usado por Ethereum, Solidity, algunas de las catástrofes provocadas por errores en su implementación y ciertas herramientas de análisis de contratos inteligentes en la blockchain, concluyó que estas presentaban limitantes que le impedían trabajar eficientemente. Lo que lo llevó paso a paso a desarrollar Mythril.
Mythril es una herramienta de exploración blockchain e intercepción de errores que permite buscar, desensamblar, y analizar contratos inteligentes en la blockchain de Ethereum. Su línea de comandos está hecha en lenguaje de programación Python, lo que hace que su puesta en marcha requiera de procedimientos especiales en comparación con herramientas similares.
Su variedad de usos es descrita por su autor en un comunicado, donde además explica cómo aplicar esta herramienta en distintos escenarios. Con todo, para él, los usos descritos en el documento “son sólo la punta del iceberg” pues, por el hecho de ser de código abierto, facilita a otros desarrolladores poder construir mejoras basadas en Mythril, ampliando su versatilidad y mejorando su calidad.
Así como Mythril, existen otras opciones en el campo de la decompilación y análisis de blokchains. Entre estas tenemos a Etherscan, Truffle, Remix, Testrpc, y Porosity, los cuales cumplen funciones similares a las de Mythril, tratando de encontrar e incluso corregir los errores encontrados en los contratos inteligentes de la blockchain de Ethereum.
Sin embargo, estas herramientas traían consigo lo que para Mueller era un impedimento en relación al uso del lenguaje de programación Python. Esto lo condujo a empezar a trabajar en una línea de comandos y módulos en este lenguaje que cumplieran las funciones que Mythril lleva a cabo.
La creación de herramientas de análisis de blockchains viene de la necesidad de encontrar errores presentes en la creación de los contratos inteligentes que se ejecutan en una blockchain para así robustecerlos y eliminar vulnerabilidades. Siendo éstos un medio de transferencia, no sólo de información, sino también de múltiples tipos de transacciones electrónicas, se vuelven un blanco seguro de ataques por parte de hackers y ciberdelincuentes.
Sólo podemos especular sobre el tipo de vulnerabilidades que podrían estar escondidas en los miles de contratos desplegados en la blockchain, muchos de los cuales son ‘cajas negras’ (en el sentido que sus códigos fuente no han sido publicados en Etherscan)
Bernhard Mueller
Consultor Principal
Uno de los casos más recientes fue el ocurrido con la cartera multifirmas Parity, la cual sufrió un ataque que provocó pérdidas millonarias a varios proyectos alojados en la blockchain de Ethereum. El robo fue aludido a errores en los contratos inteligentes escritos en el lenguaje de programación utilizado en esta blockchain, Solidity. La alta complejidad del mismo, y lo “poco intuitivo” que resulta para los desarrolladores (en palabras de Mueller), se presta para que este tipo de errores sucedan con frecuencia.
4
5
5