La tecnología Blockchain es una tecnología muy segura, pero no es perfecta, y uno de los ataques que pueden afectar a este tipo de redes es el Sybil Attack. Esta es una vulnerabilidad curiosa que puede tener un gran impacto en las redes blockchain, permitiendo que el atacante tenga una mayor presencia en la red tomando identidades falsas para sí mismo.
Un perpetrador desconocido inició el famoso ataque Sybil (junto con el ataque de verificación de tráfico) en la red Tor anónimo durante unos meses a mediados de 2014, que se reconoció por primera vez en enero de 2014. En los últimos años, el mundo de las criptomonedas ha visto una buena cantidad de ataques de alto perfil en varias Blockchains y proyectos.
Los ataques cibernéticos, como los ataques del 51 por ciento y los ataques de bifurcación dura, son bien conocidos en el mundo de las criptomonedas. Esta publicación de blog analiza el ataque Sybil, destacando su significado, modo de operación y cómo evitarlo.
Indice
¿Qué es un ataque Sybil?
Un ataque de Sybil utiliza un solo nodo para operar muchas identidades falsas activas (o identidades de Sybil) simultáneamente, dentro de una red de igual a igual. Este tipo de ataque tiene como objetivo socavar la autoridad o el poder en un sistema respetable al obtener la mayoría de la influencia en la red. Las identidades falsas sirven para proporcionar esta influencia.
Un ataque exitoso de Sybil proporciona a los actores de amenazas la capacidad de realizar acciones no autorizadas en el sistema. Por ejemplo, permite que una sola entidad, como una computadora, cree y opere varias identidades, como cuentas de usuario y cuentas basadas en direcciones IP. Todas estas identidades falsas, engañando a los sistemas y usuarios para que las perciban como reales.
El nombre de este ataque se inspiró en un libro de 1973 llamado Sybil, una mujer diagnosticada con un trastorno de identidad disociativo. En el contexto de los ataques, el término fue acuñado originalmente por Brian Zill y discutido inicialmente en un artículo de John R. Douceur, ambos en Microsoft Research.
Mediante el uso de varias cuentas de usuario falsas, una entidad malintencionada puede aprovechar un poder más centralizado en una red destinada a ser descentralizada, influir en la opinión de la mayoría en las plataformas de redes sociales, emitir votos fraudulentos en un proceso de gobierno democrático, etc.
¿Cómo se realiza el ataque?
En principio creemos que la tecnología nos ha permitido tener un mundo más seguro. Hasta cierto punto esto es cierto, pero la tecnología no es perfecta y existen vectores para vulnerar todo tipo de sistemas. En este sentido, podemos decir que la seguridad absoluta no existe. Y en todo esto, el ataque Sybil es un buen ejemplo.
Por ejemplo, los sistemas peer-to-peer (P2P) basan su funcionamiento en una red descentralizada y distribuida. Uno en el que cada nodo de la red está gestionado por distintas identidades repartidas por el mundo. Este hecho hace que sus redes sean complejas de atacar y comprometer en su totalidad. Este nivel de resistencia es perfecto para sistemas críticos y es la razón por la cual blockchain y las criptomonedas lo utilizan. Después de todo, son seguros, estables, escalables, resistentes a la censura y altamente disponibles.
Sin embargo ¿Qué pasa si el enemigo se hace pasar por amigo y se multiplica en la red usando identidades falsas? Se trata precisamente de un Sybil Attack, y el primero en describirlo fue John R. Douceur.
Dependiendo del sistema P2P, esto puede significar grandes inversiones, como Bitcoin, donde se debe comprar hardware de minería para afectar la red. En otros sistemas, el gasto podría ser prácticamente nulo. Por ejemplo, aquellos donde sus decisiones se toman por voto de quienes forman parte de la red. En estos casos, el atacante podría crear miles de cuentas falsas controladas por el mismo individuo e influir en las decisiones de la red.
En todos los casos, los vehículos o formas de ataque varían según la red y su estructura operativa.
Ejemplo
Un ejemplo de Sybil Attack se puede ver en la violación de la red Tor. Esta red funciona en base a un modelo P2P en el que sus nodos garantizan que puedas navegar por internet de forma anónima. Sin embargo, es posible que una entidad maliciosa o de vigilancia (como la NSA) pueda pasar decenas, cientos o miles de nodos como confiables, vulnerando por completo la seguridad de los mismos. Esto se debe a que los nodos de entrada y salida estarían controlados por la NSA y de esta manera podría monitorizar el tráfico de red de todos aquellos que hacen uso de estos nodos comprometidos.
Este ejemplo de ataque es más que práctico que teórico. De hecho, en 2014 la red Tor fue víctima de un ataque de este tipo.
Ataques de Sybil en una red Blockchain: dos escenarios
El objetivo principal de un ataque de Sybil en una red de cadena de bloques es obtener una influencia desproporcionada sobre las decisiones que se toman en la red. El atacante crea y controla varios alias para lograr este efecto.
En una red de Bitcoin
En una red Bitcoin, se votaron muchas decisiones que cancelaron las operaciones. Al votar, los mineros y quienes mantienen los nodos de la red pueden o no estar de acuerdo con una propuesta. Si los atacantes crean múltiples identidades en la red, pueden votar por tantas identidades como controlen.
Los ataques de Sybil también pueden controlar el flujo de información en una red. Por ejemplo, se puede utilizar un ataque de Bitcoin Sybil para obtener información sobre la dirección IP de un usuario que se conecta a la red. Esto compromete la seguridad, la privacidad y el anonimato de los usuarios de la web. Lo único que tiene que hacer un atacante es tomar el control de los nodos en la red, recopilar información de esos nodos y no crear dos falsos iniciando sus identidades.
Una vez que lograron el dominio en la red, el atacante puede implementar la censura, bloqueando a otros usuarios para que no usen la red legítimamente.
En una red Tor
La red Tor opera en un modelo de igual a igual, lo que permite que los nodos naveguen por Internet de forma anónima. Sin embargo, una entidad maliciosa o de espionaje puede tomar el control de decenas, cientos o miles de nodos, comprometiendo la privacidad de la red. Cuando los atacantes controlan los nodos de entrada y salida, podrían monitorizar el tráfico de red de todos los que cubrieron datos a través de los nodos comprometidos.
Prevención
Estas son las formas en las que Blockchain puede prevenir los ataques Sybil:
Validación de identidad
La validación de identidad puede ayudar a prevenir los verdaderos ataques de Sybil al revelar la identidad de las entidades hostiles. La validación se basa en una autoridad central que verifica la identidad de las entidades en la red y puede realizar búsquedas inversas. Las identidades se pueden validar directa o indirectamente:
- La validación directa significa que la entidad local consulta a una autoridad central para validar las identidades de las entidades remotas.
- La validación indirecta significa que la entidad local se basa en identidades previamente aceptadas, de modo que otros en la red «garantizan» la autenticidad de una identidad remota.
Las técnicas de identidad pueden utilizar varios métodos, como la verificación del número de teléfono, la verificación de la tarjeta de crédito y la verificación de la dirección IP. Estos métodos no son perfectos y los atacantes pueden abusar de ellos a un coste determinado.
La validación basada en la identidad brinda responsabilidad pero sacrifica el anonimato que es importante para la mayoría de los tipos de redes punto a punto. Todavía es posible preservar el anonimato impidiendo las búsquedas inversas, pero esto significa que la autoridad de validación podría convertirse en un objetivo de ataque.
Gráficos de confianza social
Es posible prevenir los ataques de Sybil analizando los datos de conectividad en los gráficos sociales. Esto puede limitar el alcance del daño por parte de un atacante específico de Sybil, mientras se mantiene el anonimato.
Hay varias técnicas existentes, incluidas SybilGuard, SybilLimit y Advogato Trust Metric. Otra forma de usar gráficos sociales para prevenir ataques es calcular una métrica basada en la escasez para identificar los clústeres de Sybil sospechosos en los sistemas distribuidos.
Estas técnicas no son perfectas y se basan en ciertas suposiciones que no pueden ser ciertas para todas las redes sociales del mundo real. Esto significa que las redes P2P que se basan en técnicas de gráficos de confianza social aún pueden ser vulnerables a los ataques de Sybil a pequeña escala.
Costes Económicos
Los costes económicos pueden funcionar como barreras artificiales a la entrada que hacen que un ataque de sybil sea mucho más costoso. Por ejemplo, se requieren inversiones en recursos como participación o almacenamiento en criptomonedas existentes e implementar Prueba de trabajo (PoW).
PoW requiere que cada usuario proporcione pruebas de que invirtió esfuerzo computacional para resolver un rompecabezas criptográfico. En criptomonedas sin permiso como Bitcoin, los mineros compiten para agregar bloques a una cadena de bloques. Obtienen recompensas aproximadamente en proporción a la cantidad de esfuerzo computacional que han invertido durante un tiempo determinado.
Validación de personalidad
Las redes P2P pueden requerir verificación de identidad e instaurar una regla de «una entidad por persona». Una autoridad de validación puede utilizar un mecanismo que no requiere conocer la identidad real de los participantes. Por ejemplo, los usuarios pueden verificar su identidad estando presente en un momento y lugar determinado (se conoce como una fiesta con seudónimo).
Este tipo de prueba de personalidad es una forma prometedora de validar identidades en redes de blockchain y criptomonedas sin permiso. Podrían mantener el anonimato y garantizar que cada participante humano tenga exactamente un voto.
Defensas específicas de la aplicación
Se han desarrollado varios protocolos distribuidos que tienen protección inherente contra los ataques de Sybil. Estos incluyen:
- SumUp y DSybil: recomendación de contenido en línea y algoritmos de elección resistentes a Sybil.
- Whānau: un algoritmo de tabla hash distribuida con protección Sybil integrada.
- Kademlia: la implementación I2P de este protocolo puede mitigar los ataques de Sybil.
¿Todas las cadenas de bloques resisten los ataques de sybil?
Bitcoin ha demostrado ser muy difícil de atacar a través de Sybil o un ataque de minería del 51 %. Sin embargo, otras altcoins con menos tasa de hash que las respalden pueden ser susceptibles de manipulación y gastos dobles a través de ataques del 51%. Algunas monedas alternativas que han sufrido uno o más ataques del 51% incluyen Ethereum Classic (ETC), Bitcoin Gold (BTG), Vertcoin (VTC) y Verge (XVG).
ETC no pudo prevenir los ataques de Sybil
En el caso de Ethereum Classic, un atacante compró una tasa de hash por menos de $200 000 y obtuvo el control mayoritario de la red de minería de Ethereum Classic. El malhechor pudo extraer 4280 bloques mientras creaba transacciones privadas que no estaban disponibles para otros mineros. Después de que concluyó el ataque, las transacciones se hicieron públicas y dieron como resultado una bifurcación.
Cuando todo estuvo dicho y hecho, el atacante del 51% pudo extraer aproximadamente $ 65,000 en recompensas de bloque ETC mientras obtuvo más de $ 5,5 millones en transacciones gastadas dos veces, lo que hace que el coste inicial inicial de $ 200,000 sea trivial.
Poco después, la red Ethereum Classic fue nuevamente atacada en un 51%. El segundo ataque también resultó en gastos duplicados significativos.
Los ataques del 51% contra Bitcoin Gold, Verge y Vertcoin no fueron del todo diferente, ya que un atacante finalmente pudo duplicar con éxito y causar bifurcaciones no deseadas en las cadenas de bloques.
¿Qué problemas pueden causar los ataques de Sybil?
Aquí hay varios problemas que un ataque de Sybil puede causar:
- Bloquear a los usuarios de la red: un ataque de Sybil que crea suficiente identidades permite a los actores de amenazas superar en votos a los nodos honestos y negarse a transmitir o recibir bloques.
- Llevar a cabo un ataque del 51 %: un ataque Sybil que permite que un actor de amenazas controle más de la mitad (51 % o más) de la tasa de hash total o la potencia informática de una red. Este ataque daña la integridad de un sistema de cadena de bloques y posiblemente puede causar una interrupción de la red. Un ataque del 51 % puede modificar el orden de las transacciones, revertir las transacciones del actor para permitir el doble gasto y evitar la confirmación de las transacciones.
Conclusión
Aunque los ataques de Sybil han sido problemáticos a lo largo de la historia de la tecnología blockchain, lo serán menos a medida que toda la industria y el espacio hagan la transición a un ecosistema más descentralizado, repleto de finanzas descentralizadas (DeFi), intercambios descentralizados (DEX) y más pruebas.
A pesar de que no existen mecanismos de defensa infalibles contra los ataques de Sybil, la cantidad de ataques de Sybil en la cadena de bloques ha disminuido significativamente a lo largo de los años.