Ataque Erebus, explicando su alcance

José Maldonado
17 JUL 2020
Ataque Erebus, explicando su alcance
1.

Introducción

Recientemente el mundo cripto conoció un nuevo vector de ataque que afectaba a criptomonedas como Bitcoin, Litecoin y otras derivadas de su código, el ataque Erebus. Un extraño, poco conocido pero peligroso ataque capaz de hacer algo que creíamos imposible: censurar a toda la red de una criptomoneda como Bitcoin. Pero ¿Cómo es esto posible? ¿Qué es en realidad el ataque Erebus? ¿Está Bitcoin a salvo? Pues bien, esto y más lo veremos a continuación.

2.

¿Qué es el ataque Erebus?

El ataque Erebus, es un ataque desarrollado para  particionar o dividir una red P2P como la que sostiene el funcionamiento de las criptomonedas como Bitcoin. Pero que también afecta a otras criptomonedas que emplean el mismo código base y protocolo P2P para funcionar. El ataque Erebus es conocido como un ataque del tipo “partición de redes”. Esto es porque lo que busca hacer el atacante es dividir la red objetivo. Todo mientras que gana el control de la mayor parte de la misma para hacer que efectivamente la red deje de funcionar. 

En pocas, palabras, el ataque Erebus puede efectivamente hacer que la red de nodos P2P  de Bitcoin se divida, deje de funcionar, y todo ello de forma sigilosa. No nos daríamos cuenta del ataque hasta que sea demasiado tarde y la red ya esté sufriendo los daños del ataque. 

Dicho esto, podemos considerar al ataque Erebus como una peligrosa arma. Una que los gobiernos o grandes proveedores de servicios de internet o ISP (Internet Service Provider) pueden tener a su disposición para atacar la red Bitcoin. Y no solo Bitcoin, sino toda red de criptomoneda que no tenga medidas para contrarrestar este tipo de ataque. Todo ello con el fin de censurar la red para evitar que la misma funcione de forma correcta. O peor, vigilar todo lo que hacemos en la red. 

Los creadores de este ataque fueron Muoi Tran, Inho Choi, Gi Jun Moon, Anh V.Vu y Min Suk Kang, quienes desarrollaron la teoría y la prueba de concepto funcional en julio de 2019. 

3.

¿Cómo funciona el ataque Erebus?

El ataque Erebus funciona debido a que este aprovecha la capacidad del protocolo Bitcoin para conectar los distintos nodos de la red. Para ello agrega una manipulación maliciosa en dichas conexiones con el fin de tomar el control de la misma. De esta forma, busca afectar el funcionamiento correcto de Bitcoin. Esto lo logra haciendo un ataque MITM (Man-in-the-middle, o de Hombre en el Medio) que permite al atacante secuestrar una conexión legal de los nodos Bitcoin y reemplazarla por una conexión falsa bajo su absoluto control. 

Bajo este esquema de secuestro de conexiones el atacante va tomando poco a poco las conexiones de la red, y llegado a un punto crítico el atacante puede empezar a enviar información falsa que haga que funcione de forma incorrecta la red. Como consecuencia la red entra en un estado de no consenso, que termina dividiendo la red. En este punto el atacante puede realizar cualquier cosa, desde un doble gasto hasta un ataque de 51% sobre la blockchain. 

Lo anterior es posible porque Bitcoin (y otras criptomonedas) funcionan gracias a una red de nodos descentralizados que se comunican por medio de Internet. Dicha conexión es posible gracias a un protocolo de red que permite su funcionamiento. Gracias a esto, los nodos participan en las decisiones que se tomen dentro de la red para la validación de transacciones, bloques y más. Todo ello bajo un esquema de consenso donde la mayoría es quien decide la evolución de la red. 

Sin embargo, si un atacante logra hacerse con el control de los nodos y la red que forman, puede afectar de forma el funcionamiento de la blockchain. Y para lograr este tipo de ataque, al menos en principio, no necesita de una gran cantidad de poder de cómputo o una red extensa de computadoras. Una sola máquina podría afectar la red Bitcoin en un plazo de 5 a 6 semanas. Lo único que necesitaría sería una conexión en un nivel de red Tier 1 o Tier 2.

Esto es redes que tienen en su poder una gran capacidad de controlar altos flujos de datos, ISP propiamente dichos, lo que les da la oportunidad de acceder a grandes conjuntos de redes y alterar el tráfico de las mismas. Es precisamente esta propiedad de las Tier 1 y Tier 2, la que usa el ataque Erebus para manipular las conexiones de los nodos siendo totalmente indetectable. 

4.

Solucionando el problema

El problema del ataque Erebus fue conocido y discutido por el equipo de Bitcoin Core en junio de 2019.  En ese entonces el desarrollador @BlueMatt sugería integrar en el código de Bitcoin la capacidad de subdividir y controlar la forma en como los nodos podían comunicarse unos con otros por medio de Internet y sus distintas redes.

La intención tras esto era lograr lo siguiente:

  1. Evitar que un sistema autónomo (AS) (una colección de prefijos de enrutamiento de Protocolo de Internet (IP)) conectados bajo el control de uno o más operadores de red (generalmente ISP o grandes empresas) pudiera manipular el enrutamiento de las conexiones de los nodos de forma que afectara el funcionamiento de la red. 
  2. Prevenir que los atacantes pudieran usar el Border Gateway Protocol (BGP) para controlar el enrutamiento de paquetes entre diferentes sistemas autónomos para conectarlos. Con ello los atacantes podrían secuestrar de forma efectiva las conexiones de los nodos y usarlas para su propio beneficio. 

Luego de esta discusión técnica y varios meses de trabajo, Bitcoin Core presentó su actualización 0.20. La principal característica de esta actualización era Asmap, una primera característica de seguridad que protege a la red Bitcoin de ese ataque. La solución es sencilla. En primer lugar, aumentar el número de conexiones que los nodos son capaces de hacer. Luego hacer que dichas conexiones tengan acceso solo a ciertas capacidades de los nodos.  Pero la más importante es generar un sistema de diversificación de conexiones que evite que los nodos solo se una a un mismo grupo de IP de un mismo ISP o red. Al hacer esto, se evita que un ISP (Tier 1 o Tier 2) pueda realizar un ataque Erebus de forma efectiva.

Sin embargo, la solución no es completa porque si el ataque Erebus se lleva a cabo en múltiples redes al mismo tiempo, el resultado obtenido es el mismo: la caída de la red Bitcoin o de la red de la criptomoneda atacada. Solucionar el problema completamente llevará un poco más de tiempo y desarrollo, algo que los desarrolladores ya tienen en mente. 

5.

¿Qué nos depara el futuro?

En un futuro seguiremos viendo como nuevas amenazas aparecen y parecen poner en peligro a Bitcoin y su grandiosa comunidad. La tecnología avanza, y con cada nuevo avance nuevas herramientas aparecen tanto para derribar viejos esquemas, como para construir nuevos. Es un ciclo que hemos visto desde la llegada de la computación, y un ciclo que se seguirá repitiendo. 

En tal sentido, el ataque Erebus es una parte de ese ciclo, un peligro para Bitcoin y las criptomonedas susceptibles al mismo. Pero ya tenemos también herramientas para contrarrestarlos y, en definitiva, hacer de las redes de criptomonedas lo que se siempre se ha pregonado: redes altamente seguras y no censurables. 

Tomará tiempo construir eso, pero algo es seguro, las criptomonedas y sus redes P2P estarán por mucho tiempo entre nosotros.  

Relacionado: Seguridad y privacidad en criptomonedas ¿Qué tan seguros estamos?