La tecnología blockchain es una tecnología muy segura, pero no es perfecta, y uno de los ataques que puede afectar a este tipo de redes es el Ataque Sybil. Esta es una curiosa vulnerabilidad que puede tener un gran impacto en las redes blockchain, al permitir al atacante tener una mayor presencia en la red tomando para sí identidades falsas.
En el mundo de de las criptomonedas y la tecnología blockchain existe gran cantidad de ataques y vulnerabilidades conocidas y una de ellas es el Ataque Sybil. Un Ataque Sybil hace referencia a cuando un sistema es vulnerado por una entidad que controla dos o más identidades distintas en una red. Es decir, cuando una persona controla dos o más puntos que se suponen pertenecen a personas o identidades distintas.
El nombre de Ataque Sybil proviene del libro «Sybil», una obra de la conocida escritora Flora Rheta Schreiber. En dicho libro, se habla de Sybil Dorsett, una joven que sufre del trastorno de identidad disociativa (TID), un trastorno psicológico que lleva a una persona a crear varias identidades distintas de si misma.
Es precisamente este hecho, el que estaría presentándose en este tipo de ataque informático en una red distribuida. Solo que en lugar de ser una persona, en este caso hablaríamos de nodos que parecen actuar de forma independiente pero están bajo el control de una misma persona. Sin embargo, no fue hasta 2002, cuando Brian Zill un reconocido informático que trabaja para Microsoft sugirió el nombre para un un trabajo de John R. Douceur. Douceur quien es otro investigador de Microsoft, describe este tipo de ataques como parte de sus trabajos de investigación.
En tal sentido, podemos resumir que un Ataque Sybil no es más que un ataque donde una persona trata de hacerse con el control de la red creando múltiples cuentas, nodos o computadoras, que son de su propiedad. Todo ello mientras hace ver que cada uno de sus puntos es un identidad distinta para evitar levantar sospechas.
Pero ¿Cómo puede afectar este tipo de ataques a la tecnología blockchain y las criptomonedas? ¿Qué medidas se toman para evitar esto? Pues bien todo esto y mucho más lo veremos a continuación.
Impacto de un Ataque Sybil en una red blockchain
El impacto de un Ataque Sybil en una red blockchain se centra sobre todo en conseguir una influencia indebida sobre las decisiones que se tomen en la red. Para ello el usuario crea y controla muchos seudónimos que le permitan poner en práctica esta influencia. Como resultado, el actor malicioso alcanza un control desproporcionado en la decisiones de la red.
Pongamos un ejemplo para ver esto de una forma más sencilla. En redes como Bitcoin muchas de las decisiones que afectan su funcionamiento son sometidas a votación. La votación permite a los mineros y a quienes mantienen nodos de red, ejercer un voto en pro o en contra de una propuesta que se haga. Ahora bien, si un actor malicioso se hiciera de varias identidades en la red, este podría votar tantas veces como identidades tenga bajo su control. Una situación que se muestra contraria a todo lo deseable y que pondría en desventaja al resto de los que participan.
Pero no solo eso, un ataque Sybil también puede controlar el flujo de información en la red. Así por ejemplo, un ataque Sybil en Bitcoin puede servir para obtener información sobre las direcciones IP de los usuarios que se conectan a la red. Esto es una situación que pone en riesgo la seguridad, privacidad y anonimato de los usuarios de la red. Suena imposible, pero un ataque Sybil en BItcoin es capaz de hacer realidad esto. Lo único que necesitaría el atacante es tener el control de varios nodos en la red y comenzar a recolectar la información de los mismos para un análisis que le permita obtener toda esta información.
La situación llega a su punto máximo, si el atacante además de obtener esta información pone en práctica una censura activa. Un hecho que prohibiría a los usuarios hacer uso legítimo de la red cuando lo desee.
¿Cómo se realiza un Ataque Sybil?
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 toda clase de sistemas. En ese 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. Una en que cada nodo de la red está manejado por distintas identidades desperdigadas 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 que la blockchain y las criptomonedas lo usan. Después de todo son seguros, estables, escalables, resistentes a la censura y tienen una alta disponibilidad.
Pero ¿Qué pasa si el enemigo se hace pasar por amigo y se multiplica asimismo en la red usando identidades falsas? Esto es precisamente un Ataque Sybil, y el primero en describirlo fue John R. Douceur.
La idea de Douceur es sencilla y se puede resumir de la siguiente forma:
Un sistema P2P puede ser vulnerado, si buena parte de sus nodos (que se suponen seguros y pertenecen a distintas personas), son en realidad controlados por una misma persona que permanece en las sombras.
Dependiendo del sistema P2P esto puede significar grandes inversiones, como por ejemplo, Bitcoin donde el hardware de minería debe adquirirse para poder afectar la red. En otros sistemas, el gasto podría ser prácticamente nulo. Por ejemplo, aquellos donde sus decisiones son tomadas por votación de quienes forman parte de la red. En estos casos el atacante podría crear miles de cuentas falsas controladas por un mismo individuo e influir en las decisiones de la red.
En todo los casos los vehículos o formas de ataque varían dependiendo de la red y su estructura de funcionamiento.
Ejemplo de un Ataque Sybil
Un ejemplo de Ataque Sybil podemos verlo en la vulneración de la red Tor. Esta red funciona en base a un modelo P2P en la que sus nodos garantizan que puedas navegar por internet de forma anónima. Sin embargo, es posible que un ente malicioso o de vigilancia (como la NSA) pueda hacer pasar decenas, cientos o miles de nodos como confiables, vulnerando completamente la seguridad de la misma. Esto debido a que los nodos de entrada y salida serían controlados por la NSA y de esta forma podría vigilar el tráfico de red de todos aquellos que hagan uso de estos nodos vulnerados.
Este ejemplo de ataque es más que práctica que teórico. De hecho, en 2014 la red Tor fue víctima de un ataque de este tipo.
¿Las redes blockchain son susceptibles a un Ataque Sybil?
Si, las redes blockchain son susceptibles a este tipo de ataques. Pero cada red es única en este sentido. Esto se debe a que cada blockchain toma sus propias medidas de seguridad para protegerse a este tipo de vulnerabilidad. Recordemos que los ataques Sybil no son para nada desconocidos. Frente a esto los desarrolladores toman medidas para proteger la red y a los usuarios de la misma.
Una de las medidas más importantes en este punto es la cadena de confianza. En Bitcoin por ejemplo, la blockchain y su historial está repartido entre todos sus nodos. Todos ellos tienen un mismo libro contable, y si solo uno de ellos intenta cambiarlo, este simplemente es rechazado. Así cuando un nodo comienza a sincronizarse en la red, este toma los datos de diversas fuentes. Coteja la información de todos ellos y si alguno de los nodos intenta cambiar algún dato de alguna forma, simplemente se le rechaza y se intenta tomar los datos desde otra nodo confiable.
Este método proteger a Bitcoin de este tipo de ataques haciendo muy difícil y dejando en evidencia aquellos nodos maliciosos. De hecho, en 2015 un evento de este tipo tuvo lugar en Bitcoin. En ese entonces, la empresa Chainalysis buscaba obtener información de todos los nodos de forma agresiva. El intento fue detectado por la comunidad y posteriormente analizado por Gregory Maxwell, un importante desarrollador de Bitcoin.
Asimismo redes como Ethereum, Bitcoin Cash, Dash e incluso GRIN son susceptibles a este tipo de ataques. Eso sí, cada una de ellas con sus propias particularidades.
¿Cómo prevenir este tipo de ataques?
Los Ataque Sybil no son algo que como usuarios podamos manejar. De hecho, la medidas para prevenirlas están de parte de los desarrolladores de las redes P2P. Entre las medidas más usadas para prevenir este tipo de ataque podemos mencionar:
- Usar sistemas de validación y de cadenas de confianza. Esto permite descartar a los atacantes e inclusive inhabilitar el uso de los recursos de la red para sus fines maliciosos.
- Usar protocolos de consenso que supongan un costo por identidad o acceso a recursos de red. De esta forma, cualquier acción realizada en la red tendría un costo asociado y este se multiplicaría en proporción a las identidades usurpadas. Si bien, no evita el Ataque Sybil, al hacerlo costoso limita su potencial.
- Otra forma de prevenir este tipo de ataque la podemos encontrar en la creación de un sistema de reputación. Básicamente este sistema entrega un mayor poder a aquellos usuarios que tienen mayor tiempo en la red, demostrando un buen comportamiento. Es decir, convierte a la red blockchain en una red meritocrática, donde el poder es entregado al que más mérito tiene. Al mismo tiempo, se reduce el poder en los nuevos usuarios. De esta forma, si un atacante crea cientos o miles de nuevas cuentas, el poder total de las mismas nunca llegará a un nivel relevante para la red. Esto pues el sistema se encarga de balancear el potencial de cada nueva cuenta para reducirlo en contraposición a los que más tiempo tienen.