Si frecuentas el mundo de las criptomonedas debes tener algunos conocimientos necesarios para desenvolverte mejor. Un concepto importante es el de los ataques que pueden producirse en las blockchains. De entre todos los ataques que existen (que no son pocos) hoy veremos qué es un ataque Erebus. Si no sabes qué quédate leyendo este artículo donde te contaremos todo sobre cómo funciona un ataque Erebus.
Este tipo de ataques es relativamente reciente y afecta a criptomonedas como Bitcoin, Litecoin y todas aquellas derivadas de su código. Este ataque es capaz de hacer algo impensable en el mundo de las criptomonedas y es la censura. Puede censurar toda la red de una criptomoneda. A continuación veremos cómo es posible.
Este ataque fue creado por Muoi Tran, Inho Choi, Gi Jun Moon, Anh V.Vu y Min Suk Kang. Estos desarrolladores fueron quienes desarrollaron la teoría y la prueba de concepto funcional en julio de 2019.
¿En qué consiste un ataque Erebus?
Este ataque fue desarrollado con el objetivo de dividir una red Peer-to-Peer. Ejemplos de este tipo de redes es la que sostiene el funcionamiento de algunas criptomonedas como Bitcoin. Pero debemos tener en cuenta que no solo afecta a Bitcoin, sino que también afecta a otras criptomonedas que emplean el mismo código base y protocolo Peer-to-Peer en su funcionamiento.
Este ataque se categoriza en la rama de ataques del tipo “partición de redes”. Esto significa que lo que busca el atacante es dividir la red objetivo. Seguramente estés pensando: ¿qué ganaría el hacker con ello?. Pues, mientras divide la red, gana el control de la mayor parte de la misma para hacer que dicha red deje de funcionar.
En otras palabras el ataque Erebus puede hacer que la red de nodos Peer-to-Peer de Bitcoin se divida y que se interrumpa su funcionamiento, pero lo peor es que todo ello lo logrará de forma sigilosa. Lo logrará de forma sigilosa, ya que no seríamos capaces de darnos cuenta del ataque hasta que la red ya esté sufriendo los daños del ataque.
Sabiendo todo lo anterior podemos entender que el ataque Erebus es un arma potencialmente peligrosa. Si abrimos un poco nuestra mente, podríamos pensar que esta arma puede caer en manos de los gobiernos o grandes proveedores de servicios de internet o ISP (Proveedores de Servicios de Internet) para atacar la red Bitcoin o de cualquier otra criptomoneda que no tenga medidas para defenderse de este tipo de ataque. El objetivo de este ataque puede ser, como hemos mencionado anteriormente el de censurar la red para interrumpir su funcionamiento o peor aún, para vigilar todo lo que hacen los usuarios en ella.
¿Cómo funciona el ataque Erebus?
El funcionamiento del ataque Erebus es algo complejo. Principalmente se aprovecha de la capacidad del protocolo Bitcoin para conectar los diversos nodos de la red. Esto lo logra a través de una manipulación en las conexiones.
Para afectar al correcto funcionamiento de Bitcoin el atacante dirige un ataque MITM (Man-in-the-middle, o en español, de Hombre en el Medio). Este ataque permite al atacante robar una conexión legal de los nodos Bitcoin y cambiarla por una conexión falsa que se encuentre bajo su control absoluto.
Siguiendo este sistema de secuestro, el atacante toma poco a poco las conexiones de toda la red y cuando haya tomado las suficientes conexiones este podrá comenzar a enviar información falsa que afecte al correcto funcionamiento del sistema.
Debido a este ataque, la red víctima entra en un estado de no consenso, el cual termina dividiendo la red. Llegados a este punto el atacante puede hacer lo que quiera, desde simple ataque de doble gasto hasta un ataque de 51% sobre la cadena de bloques.
Todo lo descrito anteriormente es posible, ya que Bitcoin y otras criptomonedas derivadas funcionan a través de una red de nodos descentralizados los cuales se comunican gracias a Internet. Esta conexión se lleva a cabo mediante un protocolo de red que permite su funcionamiento. Mediante este protocolo los nodos de la red participan en las decisiones que se toman dentro de la misma para validar las transacciones, bloques y más. Cabe destacar que todo ello sucede bajo un esquema de consenso en el cual la mayor parte decide la evolución de la red.
No obstante, si un atacante lograse tomar el control de los nodos y la red que estos conforman, podría afectar el funcionamiento de la cadena de bloques.
El lado malo de este ataque es que para lograrlo en principio, no es necesario una gran cantidad de poder de cómputo ni una red extensa de computadoras. Con una sola máquina se podría lograr afectar a la red Bitcoin en un plazo de 5 a 6 semanas. Cabe destacar que para ello se necesitaría una conexión en un nivel de red Tier 1 o Tier 2.
Tier 1 o Tier 2 son redes que cuentan con la capacidad de controlar altos flujos de datos o ISP. El uso de estas redes les da la oportunidad de llegar a conjuntos de redes e intervenir en el tráfico de datos de las mismas. Justamente la propiedad de las Tier 1 y Tier 2, es la que emplea el ataque Erebus con el objetivo de manipular las conexiones de los nodos de forma totalmente indetectable.
¿Cómo se soluciona el problema?
Cuando se conoció este tipo de ataque en junio de 2019, se sugirió integrar en el código de Bitcoin la opción de subdividir y controlar la comunicación de unos nodos con otros a través de distintas redes e Internet. La idea de implementar este sistema se llevó a cabo con la intención de:
- Impedir que un AS o Sistema Autónomo pudiera manipular el enrutamiento de las conexiones de nodos afectando al funcionamiento de la red.
- Prevenir el uso del Border Gateway Protocol (BGP) por parte de los atacantes para controlar el enrutamiento de paquetes entre diversos sistemas autónomos con el objetivo de conectarlos. Así los atacantes no podrían secuestrar las conexiones de nodos para usarlas en beneficio propio.
Tras esta propuesta, meses después Bitcoin Core presentó la actualización 0.20. Esta actualización se caracterizaba por Asmap, la primera característica de seguridad que protegía a la red Bitcoin de este ataque.
La solución planteada era relativamente sencilla. Simplemente tenían que aumentarse las conexiones que hacen los nodos. Posteriormente habría que hacer que estas conexiones tuvieran acceso a determinadas capacidades de los nodos y por último y lo más importante, generar un sistema de diversificación de conexiones capaz de evitar que los nodos solo se unan a un mismo grupo de IP de un mismo ISP o red. Con este funcionamiento se evita que un ISP pueda realizar un ataque Erebus con éxito.
GIPHY App Key not set. Please check settings