NCC Group desarrollรณ un sistema de evaluaciรณn de contratos inteligentes denominado Decentralized Application Security Project (Dasp) por medio del cual es posible realizar un anรกlisis en lรญnea de al menos 10 aspectos que podrรญan involucrar una vulnerabilidad en determinada blockchain.
Elย proyecto Dasp es descrito comoย โabierto y colaborativoโ para el descubrimiento de vulnerabilidades de contratos inteligentes dentro del ecosistema. Para su evaluaciรณn han establecido hasta 9 categorรญas y una extra en donde se explicita la posibilidad de que hayan nuevas vulnerabilidades que no hayan sido seรฑaladas.
El primer elemento es la reentrada, un ataque famoso que permitiรณ el robo de The DAO, que a la postre significรณ la bifurcaciรณn de Ethereum y el nacimiento de Ethereum Classic. La reentrada se produce cuando un contrato inteligente, estando en ejecuciรณn, puede ser reactivado o llamado desde una direcciรณn externa antes de que se complete el primer proceso.ย Tambiรฉn se puede solicitar fondos desde un contrato malicioso sin que la vรญctima perciba la intenciรณn del atacante.ย Se estima que por este tipo de fallas se han perdieron en aquel entonces unos 3.5 millones de ETH.
El control de acceso es otra caracterรญstica que se evalรบa. En este punto se aprovecha que al momento de iniciar un contrato inteligente debe configurarse la direcciรณn. Sin embargo, este proceso puede ser modificado por un atacante, cambiando la direcciรณn con la que inicia, colocรกndose como propietario del contrato. Esta funciรณn puede ser activada por cualquier usuario, por lo que los colaboradores de Daps la consideran una falla importante. Este elemento fue el que permitiรณ el โsuicidioโ de las carteras de Parity en noviembre del aรฑo pasado.
Los contratos inteligentes tambiรฉn pueden presentar problemas aritmรฉticos, que son especialmente peligrosos. En los contratos inteligentes los enteros sin signo son frecuentes y la mayorรญa de los desarrolladores utilizan tipos enteros simples (que a menudo son enteros con signo). ยซSi se producen desbordamientos, muchos recorridos de cรณdigo aparentemente benignos se convierten en vectores de robo o de denegaciรณn de servicioยป se lee en la pรกgina.
Otras de las fallas consideradas son los valores de devoluciรณn no verificados en operaciones de bajo nivel; la denegaciรณn de servicios, fallas en la aletoriedad programada en un contrato; el frontrunning, la manipulaciรณn del tiempo; las direcciones cortas. Segรบn los colaboradores de esta pรกgina, muchas de estas fallas estรกn asociadas a la uso de Solidity, uno de los lenguajes de programaciรณn mรกs populares en la construcciรณn de contratos inteligentes en Ethereum.
Ademรกs, la plataforma valora la posibilidad de que, al estar aรบn en sus primeras etapas, Ethereum y sus contratos inteligentes aรบn sean vulnerables a otro tipo de fallas que son desconocidas. Inclusive el propio proceso de verificaciรณn de los contratos aรบn se encuentra en fase de desarrollo, por lo 0 qeu es posible que hayan nuevas y sorprendentes fallas.
Algunas de las vulnerabilidades de contrato inteligente mรกs daรฑinas sorprendieron a todos, y no hay razรณn para creer que no habrรก otra que sea igualmente inesperada o igualmente destructiva. Mientras los inversores decidan colocar grandes cantidades de dinero en un cรณdigo complejo pero ligeramente auditado, seguiremos viendo nuevos descubrimientos que llevarรกn a graves consecuencias.
Asรญ, es posible que este top-10 de fallas mรกs significativas halladas en los contratos inteligentes aรบn se amplรญe, esto hasta tanto este tipo de herramientas criptogrรกficas no alcancen la madurez y solidez necesaria. La exposiciรณn a la falla forma parte del proceso de evoluciรณn de esta tecnologรญa.