Tabla de contenido
Cómo funciona un ataque de eclipse
Las secuelas de un ataque de eclipse
"Doble gasto" sin confirmación
"Doble gasto" que requiere N veces de confirmación
Reducir la competencia entre los mineros.
Frenar el impacto del ataque del eclipse solar
Resumir
Un ataque eclipse es un ataque básico relativamente simple mediante el cual un atacante podría interferir con los nodos de una red. Como sugiere el nombre, este ataque puede impedir que el nodo atacado en la red peer-to-peer obtenga información efectiva, provocando así la interrupción de la red o preparándose para ataques más complejos.
En la superficie, el Eclipse Attack es similar al Sybil Attack. Aunque comparten algunas similitudes (un atacante interrumpe la red atacando nodos), sus objetivos finales de ataque son diferentes. Los ataques Eclipse tienen como objetivo un solo nodo (por las razones que se explican a continuación), mientras que los ataques Sybil tienen como objetivo toda la red y tienen como objetivo alterar la reputación de los protocolos de red.
El concepto se analiza en profundidad en el artículo de 2015 "Eclipse Attacks on the Bitcoin Peer-to-Peer Network", en el que investigadores de la Universidad de Boston y la Universidad Hebrea informaron sobre los resultados de sus experimentos sobre ataques de eclipse y las medidas preventivas para combatirlos.
Cómo funciona un ataque de eclipse
Los mineros de Bitcoin requieren equipos especializados para generar y verificar nuevos bloques, pero los nodos no mineros (o completos) requieren muy poca potencia informática para funcionar. De esta manera, cualquiera puede operar un nodo con equipos baratos, lo que también contribuye a la descentralización de Bitcoin. El programa de software mantiene una base de datos de transacciones que se sincroniza con sus pares para mantenerse sincronizado con la red.
El factor limitante para conectar una gran cantidad de nodos es el ancho de banda. Por lo tanto, aunque hay una gran cantidad de dispositivos que pueden ejecutar el programa, existe un límite en la cantidad de conexiones establecidas en la red Bitcoin (un máximo de 125 conexiones) y los dispositivos comunes no pueden interconectarse directamente con otros dispositivos.
En un ataque de eclipse, el atacante se asegura de que todas las conexiones con el objetivo se realicen en nodos controlados por el atacante. El atacante primero enviará una inundación desde su propia dirección IP a la dirección de destino, y la víctima podrá conectarse a la dirección IP del atacante cuando se reinicie el programa. Puede forzar un reinicio (es decir, realizar un ataque DDoS al objetivo) o simplemente esperar a que el programa se reinicie automáticamente.
Si esto sucede, las víctimas desprevenidas quedan a merced de nodos maliciosos y el atacante les proporciona datos falsos que no pueden obtener de la red real.
Las consecuencias de un ataque de eclipse solar
Los atacantes tienen un incentivo para llevar a cabo este tipo de ataques si pueden desconectar un nodo de la red consumiendo sus recursos. Si un nodo está aislado, un atacante puede realizar varios ataques consecutivos.
"Doble gasto" sin confirmación
Si un nodo independiente acepta una transacción no confirmada, existe el riesgo de "doble gasto". Si la transacción que ocurrió puede haberse transmitido antes de ingresar al bloque (enviarse a la cadena de bloques), entonces el remitente puede realizar fácilmente una nueva transacción en otro lugar y gastar la misma cantidad que la transacción anterior. Si la tarifa de transacción recién generada es más alta, los mineros priorizarán la transacción y la considerarán como la primera, lo que hará que la primera transacción no sea válida.
Algunos comerciantes e individuos aceptan estas 0 transacciones de confirmación. Consideremos a Bob, un hombre de negocios que vende autos de alta gama. No sabía que Alice había lanzado un ataque de eclipse en su nodo, y no tuvo ninguna sospecha después de ver su pedido de un auto deportivo de lujo. Alice crea la transacción y Bob la transmite a la red. Luego de ver que el mensaje de pago estaba a punto de ser confirmado, se sintió muy satisfecho y le entregó las llaves del auto a Alice, quien se alejó a toda velocidad.
De hecho, la transacción no se transmitió a la red. Bob solo pasó la transacción al nodo malicioso de Alice, y el nodo malicioso controlado por Alice no pasó la transacción al nodo real. Por lo tanto, la transacción se considerará inválida. En este momento, Alice paga la misma cantidad en la red (real), ya sea a ella misma o a otra persona. Incluso si la transacción inicial con Bob finalmente se ve en la red real, la transacción no se puede verificar porque los fondos en la cuenta de Alice se han agotado.
"Doble gasto" que requiere N veces de confirmación
El "doble gasto" que requiere N confirmaciones es similar al "doble gasto" que no requiere confirmación, pero implica más trabajo de preparación. Muchos comerciantes prefieren esperar una cierta cantidad de confirmaciones antes de que un pago se marque como válido. Para resolver el problema, un atacante tendría que someter tanto a los nodos mineros como a los comerciales a un ataque de eclipse. Si un atacante establece una orden con un comerciante, transmite la transacción a los mineros (que sufren el ataque eclipse). Los comerciantes pueden ver las transacciones confirmadas en la red blockchain, pero debido a que las redes donde se encuentran los mineros y los comerciantes están aisladas, la mayoría de los nodos reales no presencian la cadena de bloques.
El atacante envió la información falsa de la red blockchain al comerciante, y después de que el comerciante vio que la transacción había sido confirmada, entregó los bienes. Cuando estos nodos que sufrieron un ataque de eclipse se reincorporen a la red real, la red blockchain real considerará que estos nodos no son válidos y los aislará (esto es similar a un ataque del 51%).
Reducir la competencia entre los mineros.
Los nodos afectados por un ataque de eclipse seguirán funcionando y no se verán afectados por estar aislados de la red. Los mineros continuarán verificando bloques dentro de las reglas especificadas por el protocolo, pero los bloques agregados se descartarán en el proceso de pasar por nodos de red reales.
En teoría, un ataque de eclipse masivo a una gran parte de los mineros podría usarse para facilitar un ataque del 51%. Tal como están las cosas, el costo para que incluso el atacante más ingenioso se haga cargo de la mayor parte de la potencia informática de Bitcoin (aproximadamente 80TH/s) es demasiado alto, y el atacante necesitaría al menos intentarlo con más de 40TH/s.
Suponiendo que esta potencia informática se distribuya entre 10 participantes (cada participante tiene aproximadamente 8TH/s), un atacante puede reducir en gran medida los requisitos de un ataque del 51% aislando a estos participantes de la red. Si 5 de los nodos sufren un ataque de eclipse, el atacante puede reducir la potencia informática en 40 TH/s para encontrar el siguiente bloque, y el atacante ahora solo necesita aumentar la potencia informática en 20 TH/s para lograr el objetivo de atacar el nodo. . control.
Otras actividades destructivas que se pueden lograr al realizar un ataque de eclipse en un objetivo incluyen la manipulación de nodos para realizar actividades mineras ilegales o explotar la competencia de potencia informática entre mineros para obtener el siguiente bloque.
Frenar el impacto de los ataques de eclipses solares
Con suficientes direcciones IP, un atacante puede realizar un ataque de eclipse en cualquier nodo. La forma más directa de evitar que esto suceda es bloquear el acceso no autorizado por parte de los nodos y establecer solo conexiones salientes a nodos específicos (como IP que han sido incluidas en la lista blanca de otros nodos en la red peer-to-peer). Sin embargo, como señala el artículo de investigación, esta no es una solución que pueda implementarse a escala y, si todos los participantes toman estas medidas, nuevos nodos no podrán unirse a la red.
El autor propuso algunos ajustes al programa Bitcoin, y algunos de ellos se integraron en el programa Bitcoin después de la publicación del documento técnico. Al realizar pequeños cambios en el código, como seleccionar aleatoriamente nuevas conexiones y aumentar el almacenamiento de direcciones, estas medidas hacen que los ataques de eclipse sean cada vez más costosos.
Resumir
Los ataques de Eclipse se llevan a cabo en una red de igual a igual. Como implementación de ataque independiente, pueden resultar molestos. El verdadero propósito de realizar un ataque eclipse es en realidad implementar otros ataques que puedan tener un mayor impacto o brindar al atacante una ventaja en la minería.
En términos generales, los ataques de eclipse aún no han tenido un impacto grave y, a pesar de las salvaguardias implementadas en las redes blockchain, la amenaza aún existe. Los ataques de Eclipse, como la mayoría de los ataques que enfrentan Bitcoin y la mayoría de las otras criptomonedas, la mejor defensa es hacerlos no rentables para los atacantes malintencionados.

