De acuerdo a los investigadores, el blockchain ya no es seguro

Académicos describen escenarios que ponen en riesgo el uso de blockchain

Especialistas en seguridad en redes del Instituto Internacional de Seguridad Cibernética reportaron hace un par de semanas un inusual incidente en Coinbase, plataforma de intercambio de criptomoneda: un ataque contra su blockchain.

En el ataque, un hacker logró de algún modo tomar control de más de la mitad del poder de procesamiento de la red, usándolo para reescribir el historial de transacciones en el blockchain. Gracias a esto fue posible gastar la misma criptomoneda más de una vez (un hecho conocido como “doble gasto” en la comunidad de las criptomonedas).

Acorde a especialistas en seguridad en redes del MIT Technology Review, desde 2017 los hackers han robado casi 2 mil millones de dólares en activos virtuales, principalmente atacando plataformas como Coinbase; además, estos son solamente los incidentes conocidos, no se han considerado las infracciones no reveladas al público (MIT Technology Review: Once hailed as unhackable, blockchains are now getting hacked).

Los blockchain son especialmente atractivos para los grupos de hackers maliciosos, principalmente porque, a diferencia de los sistemas financieros tradicionales, las transacciones realizadas por esta vía no pueden ser revertidas. Además, aunque la tecnología blockchain cuenta con características de seguridad únicas, también padece vulnerabilidades de seguridad únicas; aunque los desarrolladores sostienen que la tecnología blockchain es “imposible de hackear”, deberían reconsiderar su afirmación.

Hackear un blockchain

Un blockchain es una base de datos criptográfica mantenida por una red de computadoras, cada una de las cuales almacena una copia de la versión más actualizada, eso es lo que hace tan atractivo para muchas organizaciones, principalmente las financieras. Incluso la Bolsa de Valores de Nueva York estará lanzando su propia implementación de blockchain dentro de poco tiempo.

Recientemente, los encargados de la criptomoneda Zcash, que permite  a los usuarios realizar transacciones privadas gracias a complejos procesos matemáticos, revelaron la corrección de “una pequeña falla criptográfica” incorporada al protocolo de Zcash. Sin embargo, el protocolo no es lo único que debe estar seguro; para intercambiar criptomoneda por su cuenta o ejecutar un nodo, debe ejecutar un cliente de software, que también puede contener vulnerabilidades.

Aún así, la mayoría de los recientes incidentes de hacking no se presentaron propiamente en el blockchain, sino en las plataformas de intercambio, los sitios web donde los usuarios pueden comprar, intercambiar o almacenar sus activos virtuales.  

Ataque de 51%

Durante el proceso de criptominado, los nodos gastan enormes recursos de poder de procesamiento para demostrar que son suficientemente confiables para agregar información sobre nuevas transacciones a la base de datos. Si un minero consigue de algún modo tomar control sobre la mayoría de la capacidad de minería de la red puede defraudar a otros usuarios, enviándoles pagos para después crear una versión alternativa del blockchain en la que la transacción nunca se realizó (esta versión se conoce como “fork”).

El atacante, que controla la mayor parte del poder minero, puede hacer del “fork” la versión autorizada del blockchain, con lo que puede usar otra vez la misma criptomoneda.

Realizar este tipo de ataque contra un blockchain popular es muy costoso, mencionan especialistas en seguridad en redes. Según los expertos, rentar suficientes recursos de procesamiento para atacar el blockchain de Bitcoin costaría alrededor de 250 mil dólares por hora. Sin embargo, la situación cambia cuando se trata de criptomonedas menos populares. Considerando que actualmente hay más de mil 500 criptomonedas, esto se vuelve altamente probable, además, la caída en los precios de estos activos representa menos protecciones para el blockchain.  

Ataques a contratos inteligentes

Un contrato inteligente (smart contract) es un programa de computadora que se ejecuta en una red de blockchain usado para automatizar la circulación de criptomonedas, según sus propias reglas.

Las Organizaciones Autónomas Descentralizadas (DAO), se crearon en 2016 utilizando el sistema blockchain Ethereum. Poco después, un atacante robó más de 60 millones de dólares en criptomoneda explotando un error en un contrato inteligente que regía la DAO. Esta vulnerabilidad permitió al hacker seguir solicitando dinero de las cuentas sin que el sistema registrara que la transacción ya había sido realizada.

En los sistemas de cómputo tradicionales, las vulnerabilidades pueden ser corregidas con parches de actualización, aunque esto no aplica en la tecnología blockchain, pues las transacciones en una cadena no pueden ser revertidas.

Existen algunas soluciones alternativas. Aunque los contratos inteligentes no pueden ser parcheados, la adición de un contrato inteligente adicional podría funcionar como una especie de actualización. Los desarrolladores también pueden implementar interruptores centrales en una red, con lo que pueden detener toda actividad en caso de detectar actividad anómala, aunque, de nueva cuenta, especialistas en seguridad en redes destacan que esto no revierte el robo de criptomonedas una vez completado el proceso.

La única forma de recuperar el dinero es reescribir el historial de transacciones, regresar al punto en el blockchain antes del ataque, crear un enlace nuevo para un nuevo blockchain y hacer que todos en la red acepten usar ese punto en específico. Este fue el caso de Ethereum, muchos usuarios aceptaron la transición a otro blockchain, mientras que los restantes desarrollaron Ethereum Classic.

Miles de contratos inteligentes podrían contener vulnerabilidades, según recientes investigaciones. Dada la naturaleza del blockchain, si existe un error en un contrato inteligente, los hackers seguramente lo encontrarán.